Abstract:
Perceptual audio codecs make use of filter banks and MDCT in order to achieve a compact representation of the audio signal, by removing redundancy and irrelevancy from the original audio signal. During quasi-stationary parts of the audio signal a high frequency resolution of the filter bank is advantageous in order to achieve a high coding gain, but this high frequency resolution is coupled to a coarse temporal resolution that becomes a problem during transient signal parts by producing audible pre-echo effects. The invention achieves improved coding/decoding quality by applying on top of the output of a first filter bank a second non-uniform filter bank, i.e. a cascaded MDCT. The inventive codec uses switching to an additional extension filter bank (or multi-resolution filter bank) in order to re-group the time-frequency representation during transient or fast changing audio signal sections. By applying a corresponding switching control, pre-echo effects are avoided and a high coding gain and a low coding delay are achieved.

Description:
FIELD OF THE INVENTION 
       [0001]    The invention relates to a method and to an apparatus for encoding and decoding an audio signal using transform coding and adaptive switching of the temporal resolution in the spectral domain. 
       BACKGROUND OF THE INVENTION 
       [0002]    Perceptual audio codecs make use of filter banks and MDCT (modified discrete cosine transform, a forward transform) in order to achieve a compact representation of the audio signal, i.e. a redundancy reduction, and to be able to reduce irrelevancy from the original audio signal. During quasi-stationary parts of the audio signal a high frequency or spectral resolution of the filter bank is advantageous in order to achieve a high coding gain, but this high frequency resolution is coupled to a coarse temporal resolution that becomes a problem during transient signal parts. A well-know consequence are audible pre-echo effects. 
         [0003]    B. Edler, “Codierung von Audiosignalen mit ütberlappender Transformation und adaptiven Fensterfunktionen”, Frequenz, Vol. 43, No. 9, p. 252-256, September 1989, discloses adaptive window switching in the time domain and/or transform length switching, which is a switching between two resolutions by alternatively using two window functions with different length. 
         [0004]    U.S. Pat. No. 6,029,126 describes a long transform, whereby the temporal resolution is increased by combining spectral bands using a matrix multiplication. Switching between different fixed resolutions is carried out in order to avoid window switching in the time domain. This can be used to create non-uniform filter-banks having two different resolutions. 
         [0005]    WO-A-03/019532 discloses sub-band merging in cosine modulated filter-banks, which is a very complex way of filter design suited for poly-phase filter bank construction. 
       SUMMARY OF THE INVENTION 
       [0006]    The above-mentioned window and/or transform length switching disclosed by Edler is sub-optimum because of long delay due to long look-ahead and low frequency resolution of short blocks, which prevents providing a sufficient resolution for optimum irrelevancy reduction. 
         [0007]    A problem to be solved by the invention is to provide an improved coding/decoding gain by applying a high frequency resolution as well as high temporal resolution for transient audio signal parts. 
         [0008]    The invention achieves improved coding/decoding quality by applying on top of the output of a first filter bank a second non-uniform filter bank, i.e. a cascaded MDCT. The inventive codec uses switching to an additional extension filter bank (or multi-resolution filter bank) in order to re-group the time-frequency representation during transient or fast changing audio signal sections. 
         [0009]    By applying a corresponding switching control, pre-echo effects are avoided and a high coding gain is achieved. Advantageously, the inventive codec has a low coding delay (no look-ahead). 
         [0010]    In principle, the inventive encoding method is suited for encoding an input signal, e.g. an audio signal, using a first forward transform into the frequency domain being applied to first-length sections of said input signal, and using adaptive switching of the temporal resolution, followed by quantization and entropy encoding of the values of the resulting frequency domain bins, wherein control of said switching, quantization and/or entropy encoding is derived from a psycho-acoustic analysis of said input signal, including the steps of:
       adaptively controlling said temporal resolution is achieved by performing a second forward transform following said first forward transform and being applied to second-length sections of said transformed first-length sections, wherein said second length is smaller than said first length and either the output values of said first forward transform or the output values of said second forward transform are processed in said quantization and entropy encoding;   attaching to the encoding output signal corresponding temporal resolution control information as side information.       
 
         [0013]    In principle the inventive encoding apparatus is suited for encoding an input signal, e.g. an audio signal, said apparatus including:
       first forward transform means being adapted for trans-forming first-length sections of said input signal into the frequency domain;   second forward transform means being adapted for trans-forming second-length sections of said transformed first-length sections, wherein said second length is smaller than said first length;   means being adapted for quantizing and entropy encoding the output values of said first forward transform means or the output values of said second forward transform means;   means being adapted for controlling said quantization and/or entropy encoding and for controlling adaptively whether said output values of said first forward transform means or the output values of said second forward transform means are processed in said quantizing and entropy encoding means, wherein said controlling is derived from a psycho-acoustic analysis of said input signal;   means being adapted for attaching to the encoding apparatus output signal corresponding temporal resolution control information as side information.       
 
         [0019]    In principle, the inventive decoding method is suited for decoding an encoded signal, e.g. an audio signal, that was encoded using a first forward transform into the frequency domain being applied to first-length sections of said input signal, wherein the temporal resolution was adaptively switched by performing a second forward transform following said first forward transform and being applied to second-length sections of said transformed first-length sections, wherein said second length is smaller than said first length and either the output values of said first forward transform or the output values of said second forward transform were processed in a quantization and entropy encoding, and wherein control of said switching, quantization and/or entropy encoding was derived from a psycho-acoustic analysis of said input signal and corresponding temporal resolution control information was attached to the encoding output signal as side information, said decoding method including the steps of:
       providing from said encoded signal said side information;   inversely quantizing and entropy decoding said encoded signal;   corresponding to said side information, either performing a first forward inverse transform into the time domain, said first forward inverse transform operating on first-length signal sections of said inversely quantized and entropy decoded signal and said first forward inverse transform providing the decoded signal,
 
or processing second-length sections of said inversely quantized and entropy decoded signal in a second forward inverse transform before performing said first forward inverse transform.
       
 
         [0023]    In principle, the inventive decoding apparatus is suited for decoding an encoded signal, e.g. an audio signal, that was encoded using a first forward transform into the frequency domain being applied to first-length sections of said input signal, wherein the temporal resolution was adaptively switched by performing a second forward transform following said first forward transform and being applied to second-length sections of said transformed first-length sections, wherein said second length is smaller than said first length and either the output values of said first forward transform or the output values of said second forward transform were processed in a quantization and entropy encoding, and wherein control of said switching, quantization and/or entropy encoding was derived from a psycho-acoustic analysis of said input signal and corresponding temporal resolution control information was attached to the encoding output signal as side information, said apparatus including:
       means being adapted for providing from said side information and for inversely quantizing and entropy decoding said encoded signal;   means being adapted for, corresponding to said side information, either performing a first forward inverse transform into the time domain, said first forward inverse trans-form operating on first-length signal sections of said inversely quantized and entropy decoded signal and said first forward inverse transform providing the decoded signal, or processing second-length sections of said inversely quantized and entropy decoded signal in a second forward inverse transform before performing said first forward inverse transform.       
 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0026]    Exemplary embodiments of the invention are described with reference to the accompanying drawings, which show in: 
           [0027]      FIG. 1  inventive encoder; 
           [0028]      FIG. 2  inventive decoder; 
           [0029]      FIG. 3  a block of audio samples that is windowed and trans-formed with a long MDCT, and series of non-uniform MDCTs applied to the frequency data; 
           [0030]      FIG. 4  changing the time-frequency resolution by changing the block length of the MDCT; 
           [0031]      FIG. 5  transition windows; 
           [0032]      FIG. 6  window sequence example for second-stage MDCTs; 
           [0033]      FIG. 7  start and stop windows for first and last MDCT; 
           [0034]      FIG. 8  time domain signal of a transient, T/F plot of first MDCT stage and T/F plot of second-stage MDCTs with an 8-fold temporal resolution topology; 
           [0035]      FIG. 9  time domain signal of a transient, second-stage filter bank T/F plot of a single, 2-fold, 4-fold and 8-fold temporal resolution topology; 
           [0036]      FIG. 10  more detail for the window processing according to  FIG. 6 . 
       
    
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
       [0037]    In  FIG. 1 , the magnitude values of each successive overlapping block or segment or section of samples of a coder input audio signal CIS are weighted by a window function and transformed in a long (i.e. a high frequency resolution) MDCT filter bank or transform stage or step MDCT-1, providing corresponding transform coefficients or frequency bins. During transient audio signal sections a second MDCT filter bank or transform stage or step MDCT-2, either with shorter fixed transform length or preferably a multi-resolution MDCT filter bank having different shorter transform lengths, is applied to the frequency bins of the first forward transform (i.e. on the same block) in order to change the frequency and temporal filter resolutions, i.e. a series of non-uniform MDCTs is applied to the frequency data, whereby a non-uniform time/frequency representation is generated. The amplitude values of each successive overlapping section of frequency bins of the first forward transform are weighted by a window function prior to the second-stage transform. The window functions used for the weighting are explained in connection with  FIGS. 4 to 7  and equations (3) and (4). In case of MDCT or integer MDCT transforms, the sections are 50% overlapping. In case a different transform is used the degree of overlapping can be different. 
         [0038]    In case only two different transform lengths are used for stage or step MDCT-2, that step or stage when considered alone is similar to the above-mentioned Edler codec. 
         [0039]    The switching on or off of the second MDCT filter bank MDCT-2 can be performed using first and second switches SW 1  and SW 2  and is controlled by a filter bank control unit or step FBCTL that is integrated into, or is operating in parallel to, a psycho-acoustic analyzer stage or step PSYM, which both receive signal CIS. Stage or step PSYM uses temporal and spectral information from the input signal CIS. The topology or status of the 2nd stage filter MDCT-2 is coded as side information into the coder output bit stream COS. The frequency data output from switch SW 2  is quantized and entropy encoded in a quantiser and entropy encoding stage or step QUCOD that is controlled by psycho-acoustic analyzer PSYM, in particular the quantization step sizes. The output from stages QUCOD (encoded frequency bins) and FBCTL (topology or status information or temporal resolution control information or switching information SW 1  or side information) is combined in a stream packer step or stage STRPCK and forms the output bit stream COS. 
         [0040]    The quantizing can be replaced by inserting a distortion signal. 
         [0041]    In  FIG. 2 , at decoder side, the decoder input bit stream DIS is de-packed and correspondingly decoded and inversely ‘quantized’ (or re-quantized) in a depacking, decoding and re-quantizing stage or step DPCRQU, which provides correspondingly decoded frequency bins and switching information SW 1 . A correspondingly inverse non-uniform MDCT step or stage iMDCT-2 is applied to these decoded frequency bins using e.g. switches SW 3  and SW 4 , if so signaled by the bit stream via switching information SW 1 . The amplitude values of each successive section of inversely transformed values are weighted by a window function following the transform in step or stage iMDCT-2, which weighting is followed by an overlap-add processing. The signal is reconstructed by applying either to the decoded frequency bins or to the output of step or stage iMDCT-2 a correspondingly inverse high-resolution MDCT step or stage iMDCT-1. The amplitude values of each successive section of inversely transformed values are weighted by a window function following the transform in step or stage iMDCT-1, which weighting is followed by an overlap-add processing. Thereafter, the PCM audio decoder output signal DOS. The transform lengths applied at decoding side mirror the corresponding transport lengths applied at encoding side, i.e. the same block of received values is inverse transformed twice. 
         [0042]    The window functions used for the weighting are explained in connection with  FIGS. 4 to 7  and equations (3) and (4). In case of inverse MDCT or inverse integer MDCT transforms, the sections are 50% overlapping. In case a different inverse transform is used the degree of overlapping can be different. 
         [0043]      FIG. 3  depicts the above-mentioned processing, i.e. applying first and second stage filter banks. On the left side a block of time domain samples is windowed and transformed in a long MDCT to the frequency domain. During transient audio signal sections a series of non-uniform MDCTs is applied to the frequency data to generate a non-uniform time/frequency representation shown at the right side of  FIG. 3 . The time/frequency representations are displayed in grey or hatched. 
         [0044]    The time/frequency representation (on the left side) of the first stage transform or filter bank MDCT-1 offers a high frequency or spectral resolution that is optimum for encoding stationary signal sections. Filter banks MDCT-1 and iMDCT-1 represent a constant-size MDCT and iMDCT pair with 50% overlapping blocks. Overlay-and-add (OLA) is used in filter bank iMDCT-1 to cancel the time domain alias. Therefore the filter bank pair MDCT-1 and iMDCT-1 is capable of theoretical perfect reconstruction. 
         [0045]    Fast changing signal sections, especially transient signals, are better represented in time/frequency with resolutions matching the human perception or representing a maximum signal compaction tuned to time/frequency. This is achieved by applying the second transform filter bank MDCT-2 onto a block of selected frequency bins of the first forward trans-form filter bank MDCT-1. 
         [0046]    The second forward transform is characterized by using 50% overlapping windows of different sizes, using transition window functions (i.e. ‘Edler window functions’ each of which having asymmetric slopes) when switching from one size to another, as shown in the medium section of  FIG. 3 . Window sizes start from length  4  to length  2   n , wherein n is an integer number greater  2 . A window size of ‘4’ combines two frequency bins and doubled time resolution, a window size of 2 n  combines 2 (n−1)  frequency bins and increases the temporal resolution by factor 2 (n−1) . Special start and stop window functions (transition windows) are used at the beginning and at the end of the series of MDCTs. At decoding side, filter bank iMDCT-2 applies the inverse transform including OLA. Thereby the filter bank pair MDCT-2/iMDCT-2 is capable of theoretical perfect reconstruction. 
         [0047]    The output data of filter bank MDCT-2 is combined with single-resolution bins of filter bank MDCT-1 which were not included when applying filter bank MDCT-2. 
         [0048]    The output of each transform or MDCT of filter bank MDCT-2 can be interpreted as time-reversed temporal samples of the combined frequency bins of the first forward transform. Advantageously, a construction of a non-uniform time/frequency representation as depicted at the right side of  FIG. 3  now becomes feasible. 
         [0049]    The filter bank control unit or step FBCTL performs a signal analysis of the actual processing block using time data and excitation patterns from the psycho-acoustic model in psycho-acoustic analyzer stage or step PSYM. In a simplified embodiment it switches during transient signal sections to fixed-filter topologies of filter bank MDCT-2, which filter bank may make use of a time/frequency resolution of human perception. Advantageously, only few bits of side information are required for signaling to the decoding side, as a code-book entry, the desired topology of filter bank iMDCT-2. 
         [0050]    In a more complex embodiment, the filter bank control unit or step FBCTL evaluates the spectral and temporal flatness of input signal CIS and determines a flexible filter topology of filter bank MDCT-2. In this embodiment it is sufficient to transmit to the decoder the coded starting locations of the start window, transition window and stop window positions in order to enable the construction of filter bank iMDCT-2. 
         [0051]    The psycho-acoustic model makes use of the high spectral resolution equivalent to the resolution of filter bank MDCT-1 and, at the same time, of a coarse spectral but high temporal resolution signal analysis. This second resolution can match the coarsest frequency resolution of filter bank MDCT-2. 
         [0052]    As an alternative, the psycho-acoustic model can also be driven directly by the output of filter bank MDCT-1, and during transient signal sections by the time/frequency representation as depicted at the right side of  FIG. 3  following applying filter bank MDCT-2. 
         [0053]    In the following, a more detailed system description is provided. 
       The MDCT 
       [0054]    The Modified Discrete Cosine Transformation (MDCT) and the inverse MDCT (iMDCT) can be considered as representing a critically sampled filter bank. The MDCT was first named “Oddly-stacked time domain alias cancellation transform” by J. P. Princen and A. B. Bradley in “Analysis/synthesis filter bank design based on time domain aliasing cancellation”, IEEE Transactions on Acoust. Speech Sig. Proc. ASSP-34 (5), pp. 1153-1161, 1986. 
         [0055]    H. S. Malvar, “Signal processing with lapped transform”, Artech House Inc., Norwood, 1992, and M. Temerinac, B. Edler, “A unified approach to lapped orthogonal transforms”, IEEE Transactions on Image Processing, Vol. 1, No. 1, pp. 111-116, January 1992, have called it “Modulated Lapped Trans-form (MLT)” and have shown its relations to lapped orthogonal transforms in general and have also proved it to be a special case of a QMF filter bank. 
         [0056]    The equations of the transform and the inverse transform are given in equations (1) and (2): 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       X 
                        
                       
                         ( 
                         k 
                         ) 
                       
                     
                     = 
                     
                       
                         
                           2 
                           N 
                         
                       
                        
                       
                         
                           ∑ 
                           
                             n 
                             = 
                             0 
                           
                           
                             N 
                             - 
                             1 
                           
                         
                          
                         
                           
                             h 
                              
                             
                               ( 
                               n 
                               ) 
                             
                           
                           · 
                           
                             x 
                              
                             
                               ( 
                               n 
                               ) 
                             
                           
                           · 
                           
                             cos 
                              
                             
                               [ 
                               
                                 
                                   π 
                                   K 
                                 
                                 · 
                                 
                                   ( 
                                   
                                     n 
                                     + 
                                     
                                       
                                         K 
                                         + 
                                         1 
                                       
                                       2 
                                     
                                   
                                   ) 
                                 
                                 · 
                                 
                                   ( 
                                   
                                     k 
                                     + 
                                     
                                       1 
                                       2 
                                     
                                   
                                   ) 
                                 
                               
                               ] 
                             
                           
                         
                       
                     
                   
                   , 
                   
                     
 
                   
                    
                   
                     k 
                     = 
                     0 
                   
                   , 
                   
                     1 
                      
                     
                         
                     
                      
                     … 
                   
                    
                   
                       
                   
                   , 
                   
                     
                       K 
                       - 
                       1 
                     
                     ; 
                     
                       K 
                       = 
                       
                         N 
                         / 
                         2 
                       
                     
                   
                 
               
               
                 
                   ( 
                   1 
                   ) 
                 
               
             
             
               
                 
                   
                     
                       x 
                        
                       
                         ( 
                         n 
                         ) 
                       
                     
                     = 
                     
                       
                         
                           2 
                           N 
                         
                       
                        
                       
                         
                           ∑ 
                           
                             k 
                             = 
                             0 
                           
                           
                             K 
                             - 
                             1 
                           
                         
                          
                         
                           
                             h 
                              
                             
                               ( 
                               n 
                               ) 
                             
                           
                           · 
                           
                             X 
                              
                             
                               ( 
                               k 
                               ) 
                             
                           
                           · 
                           
                             cos 
                              
                             
                               [ 
                               
                                 
                                   π 
                                   K 
                                 
                                 · 
                                 
                                   ( 
                                   
                                     n 
                                     + 
                                     
                                       
                                         K 
                                         + 
                                         1 
                                       
                                       2 
                                     
                                   
                                   ) 
                                 
                                 · 
                                 
                                   ( 
                                   
                                     k 
                                     + 
                                     
                                       1 
                                       2 
                                     
                                   
                                   ) 
                                 
                               
                               ] 
                             
                           
                         
                       
                     
                   
                   , 
                   
                     
 
                   
                    
                   
                     n 
                     = 
                     0 
                   
                   , 
                   
                     1 
                      
                     
                         
                     
                      
                     … 
                   
                    
                   
                       
                   
                   , 
                   
                     N 
                     - 
                     1 
                   
                 
               
               
                 
                   ( 
                   2 
                   ) 
                 
               
             
           
         
       
     
         [0057]    In these transforms, 50% overlaying blocks are processed. At encoding side, in each case, a block of N samples is windowed and the magnitude values are weighted by window function h(n) and is thereafter transformed to K=N/2 frequency bins, wherein N is an integer number. At decoding side, the inverse transform converts in each case M frequency bins to N time samples and thereafter the magnitude values are weighted by window function h(n), wherein N and M are integer numbers. A following overlay-add procedure cancels out the time alias. The window function h(n) must fulfill some constraints to enable perfect reconstruction, see equations (3) and (4): 
         [0000]        h   2 ( n+N/ 2)+ h   2 ( n )=1  (3) 
         [0000]        h ( n )= h ( N−n− 1)  (4) 
         [0058]    Analysis and synthesis window functions can also be different but the inverse transform lengths used in the decoding correspond to the transform lengths used in the encoding. 
         [0059]    However, this option is not considered here. A suitable window function is the sine window function given in (5): 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         h 
                         sin 
                       
                        
                       
                         ( 
                         n 
                         ) 
                       
                     
                     = 
                     
                       sin 
                        
                       
                         ( 
                         
                           π 
                           · 
                           
                             
                               n 
                               + 
                               0.5 
                             
                             N 
                           
                         
                         ) 
                       
                     
                   
                   , 
                   
                     n 
                     = 
                     
                       
                         0 
                          
                         
                             
                         
                          
                         … 
                          
                         
                             
                         
                          
                         N 
                       
                       - 
                       1 
                     
                   
                 
               
               
                 
                   ( 
                   5 
                   ) 
                 
               
             
           
         
       
     
         [0060]    In the above-mentioned article, Edler has shown switching the MDCT time-frequency resolution using transition windows. 
         [0061]    An example of switching (caused by transient conditions) using transition windows  1 ,  10  from a long transform to eight short transforms is depicted in the bottom part of  FIG. 4 , which shows the gain G of the window functions in vertical direction and the time, i.e. the input signal samples, in horizontal direction. In the upper part of this figure three successive basic window functions A, B and C as applied in steady state conditions are shown. 
         [0062]    The transition window functions have the length N L  Of the long transform. At the smaller-window side end there are r zero-amplitude window function samples. Towards the window function centre located at N L /2, a mirrored half-window function for the small transform (having a length of N short  samples) is following, further followed by r window function samples having a value of ‘one’ (or a ‘unity’ constant). The principle is depicted for a transition to short window at the left side of  FIG. 5  and for a transition from short window at the right side of  FIG. 5 . Value r is given by 
         [0000]        r =( N   L   −N   short )/ 4   (6) 
       Multi-Resolution Filter Bank 
       [0063]    The first-stage filter bank MDCT-1, iMDCT-1 is a high resolution MDCT filter bank having a sub-band filter bandwidth of e.g. 15-25 Hz. For audio sampling rates of e.g. 32-48 kHz a typical length of N L  is 2048 samples. The window function h(n) satisfies equations (3) and (4). Following application of filter MDCT-1 there are 1024 frequency bins in the preferred embodiment. For stationary input signal sections, these bins are quantized according to psycho-acoustic considerations. 
         [0064]    Fast changing, transient input signal sections are processed by the additional MDCT applied to the bins of the first MDCT. This additional step or stage merges two, four, eight, sixteen or more sub-bands and thereby increases the temporal resolution, as depicted in the right part of  FIG. 3 . 
         [0065]      FIG. 6  shows an example sequence of applied windowing for the second-stage MDCTs within the frequency domain. Therefore the horizontal axis is related to f/bins. The transition window functions are designed according to  FIG. 5  and equation (6), like in the time domain. Special start window functions STW and stop window functions SPW handle the start and end sections of the transformed signal, i.e. the first and the last MDCT. The design principle of these start and stop window functions is shown in  FIG. 7 . One half of these window functions mirrors a half-window function of a normal or regular window function NW, e.g. a sine window function according to equation (5). Of other half of these window functions, the adjacent half has a continuous gain of ‘one’ (or a ‘unity’ constant) and the other half has the gain zero. 
         [0066]    Due to the properties of MDCT, performing MDCT-2 can also be regarded as a partial inverse transformation. When applying the forward MDCTs of the second stage MDCTs, each one of such new MDCT (MDCT-2) can be regarded as a new frequency line (bin) that has combined the original windowed bins, and the time reversed output of that new MDCT can be regarded as the new temporal blocks. The presentation in  FIGS. 8 and 9  is based on this assumption or condition. 
         [0067]    Indices ki in  FIG. 6  indicate the regions of changing temporal resolution. Frequency bins starting from position zero up to position k1−1 are copied from (i.e. represent) the first forward transform (MDCT-1), which corresponds to a single temporal resolution. 
         [0068]    Bins from index k1−1 to index k2 are transformed to g1 frequency lines. g1 is equal to the number of transforms performed (that number corresponds to the number of overlapping windows and can be considered as the number of frequency bins in the second or upper transform level MDCT-2). The start index is bin k1−1 because index k1 is selected as the second sample in the first forward transform in  FIG. 6  (the first sample has a zero amplitude, see also  FIG. 10   a ). g1=(number_of_windowed_bins)/(N/2)−1=(k2−k1+1)/2−1, with a regular window size N of e.g. 4 bins, which size creates a section with doubled temporal resolution. 
         [0069]    Bins from index k2−3 to index k3+4 are combined to g2 frequency lines (transforms), i.e. g2=(k3−k2+2)/4−1. The regular window size is e.g. 8 bins, which size results in a section with quadrupled temporal resolution. 
         [0070]    The next section in  FIG. 6  is transformed by windows (trans-form length) spanning e.g. 16 bins, which size results in sections having eightfold temporal resolution. Windowing starts at bin k3−5. If this is the last resolution selected (as is true for  FIG. 6 ), then it ends at bin k4+4, otherwise at bin k4. 
         [0071]    Where the order (i.e. the length) of the second-stage trans-form is variable over successive transform blocks, starting from frequency bins corresponding to low frequency lines, the first second-stage MDCTs will start with a small order and the following second-stage MDCTs will have a higher order. Transition windows fulfilling the characteristics for perfect reconstruction are used. 
         [0072]    The processing according to  FIG. 6  is further explained in  FIG. 10 , which shows a sample-accurate assignment of frequency indices that mark areas of a second (i.e. cascaded) transform (MDCT-2), which second transform achieves a better temporal resolution. The circles represent bin positions, i.e. frequency lines of the first or initial transform (MDCT-1). 
         [0073]      FIG. 10   a  shows the area of 4-point second-stage MDCTs that are used to provide doubled temporal resolution. The five MDCT sections depicted create five new spectral lines.  FIG. 10   b  shows the area of 8-point second-stage MDCTs that are used to provide fourfold temporal resolution. Three MDCT sections are depicted.  FIG. 10   c  shows the area of 16-point second-stage MDCTs that are used to provide eightfold temporal resolution. Four MDCT sections are depicted. 
         [0074]    At decoder side, stationary signals are restored using filter bank iMDCT-1, the iMDCT of the long transform blocks including the overlay-add procedure (OLA) to cancel the time alias. 
         [0075]    When so signaled in the bitstream, the decoding or the decoder, respectively, switches to the multi-resolution filter bank iMDCT-2 by applying a sequence of iMDCTs according to the signaled topology (including OLA) before applying filter bank iMDCT-1. 
       Signaling the Filter Bank Topology to the Decoder 
       [0076]    The simplest embodiment makes use of a single fixed topology for filter bank MDCT-2/iMDCT-2 and signals this with a single bit in the transferred bitstream. In case more fixed sets of topologies are used, a corresponding number of bits is used for signaling the currently used one of the topologies. More advanced embodiments pick the best out of a set of fixed code-book topologies and signal a corresponding code-book entry inside the bitstream. 
         [0077]    In embodiments were the filter topology of the second-stage transforms is not fixed, a corresponding side information is transmitted in the encoding output bitstream. Preferably, indices k1, k2, k3, k4, . . . , kend are transmitted. 
         [0078]    Starting with quadrupled resolution, k2 is transmitted with the same value as in k1 equal to bin zero. In topologies ending with temporal resolutions coarser than the maximum temporal resolution, the value transmitted in kend is copied to k4, k3, . . . . 
         [0079]    The following table illustrates this with some examples. bi is a place holder for a frequency bin as a value. 
         [0000]    
       
         
               
               
             
               
               
               
               
               
               
             
               
               
               
               
               
               
             
           
               
                   
                   
               
               
                   
                 Indices signaling topology 
               
             
          
           
               
                 Topology 
                 k1 
                 k2 
                 k3 
                 k4 
                 kend 
               
               
                   
               
             
          
           
               
                 Topology with 1x, 2x, 4x, 
                 b1 &gt; 1 
                 b2 
                 b3 
                 b4 
                 b5 
               
               
                 8x, 16x temporal 
               
               
                 resolutions 
               
               
                 Topology with 1x, 2x, 4x, 
                 b1 &gt; 1 
                 b2 
                 b3 
                 b4 
                 b4 
               
               
                 8x temporal resolutions 
               
               
                 (like in FIG. 6) 
               
               
                 Topology with 8x temporal 
                 0 
                 0 
                 0 
                 bmax 
                 bmax 
               
               
                 resolution only 
               
               
                 Topology with 4x, 8x and 
                 0 
                 0 
                 b2 
                 b3 
                 bmax 
               
               
                 16x temporal resolution 
               
               
                   
               
             
          
         
       
     
         [0080]    Due to temporal psycho-acoustic properties of the human auditory system it is sufficient to restrict this to topologies with temporal resolution increasing with frequency. 
       Filter Bank Topology Examples 
       [0081]      FIGS. 8 and 9  depict two examples of multi-resolution T/F (time/frequency) energy plots of a second-stage filter bank.  FIG. 8  shows an ‘8× temporal resolution only’ topology. A time domain signal transient in  FIG. 8   a  is depicted as amplitude over time (time expressed in samples).  FIG. 8   b  shows the corresponding T/F energy plot of the first-stage MDCT (frequency in bins over normalized time corresponding to one transform block), and  FIG. 8   c  shows the corresponding T/F plot of the second-stage MDCTs (8*128 time-frequency tiles).  FIG. 9  shows a ‘1×, 2×, 4×, 8× topology’. A time domain signal transient in  FIG. 9   a  is depicted as amplitude over time (time expressed in samples).  FIG. 9   b  shows the corresponding T/F plot of the second-stage MDCTs, whereby the frequency resolution for the lower band part is selected proportional to the bandwidths of perception of the human auditory system (critical bands), with bN 1 = 16 , bN 2 =16, bN 4 =16, bN 8 =114, for 1024 coefficients in total (these numbers have the following meaning: 16 frequency lines having single temporal resolution, 16 frequency lines having double, 16 frequency lines having 4 times, and 114 frequency lines having 8 times temporal resolution). For the low frequencies there is a single partition, followed by two and four partitions and, above about f=50, eight partitions. 
       Filter Bank Control 
       [0082]    The simplest embodiment can use any state-of-the-art transient detector to switch to a fixed topology matching, or for coming close to, the T/F resolution of human perception. The preferred embodiment uses a more advanced control processing:
       Calculate a spectral flatness measure SFM, e.g. according to equation (7), over selected bands of M frequency lines (f bin ) of the power spectral density Pm by using a discrete Fourier transform (DFT) of a windowed signal of a long transform block with N L  samples, i.e. the length of MDCT-1 (the selected bands are proportional to critical bands);   Divide the analysis block of N L  samples into S&gt;8 overlapping blocks and apply S windowed DFTs on the sub-blocks. Arrange the result as a matrix having S columns (temporal resolution, t block ) and a number of rows according the number of frequency lines of each DFT, S being an integer;   Calculate S spectrograms Ps, e.g. general power spectral densities or psycho-acoustically shaped spectrograms (or excitation patterns);   For each frequency line determine a temporal flatness measure (TFM) according to equation (8);   Use the SFM vector to determine tonal or noisy bands, and use the TFM vector to recognize the temporal variations within this bands. Use threshold values to decide whether or not to switch to the multi-resolution filter bank and what topology to pick.       
 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         
                           S 
                            
                           
                               
                           
                            
                           F 
                            
                           
                               
                           
                            
                           M 
                         
                         = 
                           
                          
                         
                           arithmetic 
                            
                           
                               
                           
                            
                           mean 
                            
                           
                             
                                 
                             
                              
                             
                                 
                             
                           
                            
                           
                             
                               value 
                                
                               
                                   
                               
                               [ 
                               fbin 
                               ] 
                             
                             / 
                             geometric 
                           
                            
                           
                               
                           
                            
                           mean 
                            
                           
                               
                           
                            
                           
                             value 
                              
                             
                                 
                             
                             [ 
                             fbin 
                             ] 
                           
                         
                       
                     
                   
                   
                     
                       
                         = 
                           
                          
                         
                           
                             1 
                             M 
                           
                           · 
                           
                             
                               ∑ 
                               m 
                               
                                   
                               
                             
                              
                             
                               Pm 
                               / 
                               
                                 
                                   ( 
                                   
                                     
                                       ∏ 
                                       M 
                                       
                                           
                                       
                                     
                                      
                                     
                                         
                                     
                                      
                                     Pm 
                                   
                                   ) 
                                 
                                 
                                   1 
                                   M 
                                 
                               
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   7 
                   ) 
                 
               
             
             
               
                 
                   
                     
                       
                         
                           T 
                            
                           
                               
                           
                            
                           F 
                            
                           
                               
                           
                            
                           M 
                         
                         = 
                           
                          
                         
                           arithmetic 
                            
                           
                               
                           
                            
                           mean 
                            
                           
                             
                                 
                             
                              
                             
                                 
                             
                           
                            
                           
                             
                               value 
                                
                               
                                   
                               
                               [ 
                               tblock 
                               ] 
                             
                             / 
                             geometric 
                           
                            
                           
                               
                           
                            
                           mean 
                            
                           
                               
                           
                            
                           
                             value 
                              
                             
                                 
                             
                             [ 
                             tblock 
                             ] 
                           
                         
                       
                     
                   
                   
                     
                       
                         = 
                           
                          
                         
                           
                             1 
                             S 
                           
                           · 
                           
                             
                               ∑ 
                               s 
                               
                                   
                               
                             
                              
                             
                               Ps 
                               / 
                               
                                 
                                   ( 
                                   
                                     
                                       ∏ 
                                       S 
                                       
                                           
                                       
                                     
                                      
                                     
                                         
                                     
                                      
                                     Ps 
                                   
                                   ) 
                                 
                                 
                                   1 
                                   S 
                                 
                               
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   8 
                   ) 
                 
               
             
           
         
       
     
         [0088]    In a different embodiment, the topology is determined by the following steps:
       performing a spectral flatness measure SFM using said first forward transform, by determining for selected frequency bands the spectral power of transform bins and dividing the arithmetic mean value of said spectral power values by their geometric mean value;   sub-segmenting an un-weighted input signal section, performing weighting and short transforms on m sub-sections where the frequency resolution of these transforms corresponds to said selected frequency bands;   for each frequency line consisting of m transform segments, determining the spectral power and calculating a temporal flatness measure TFM by determining the arithmetic mean divided by the geometric mean of the m segments;   determining tonal or noisy bands by using the SFM values;   using the TFM values for recognizing the temporal variations in these bands. Threshold values are used for switching to finer temporal resolution for said indicated noisy frequency bands.       
 
         [0094]    The MDCT can be replaced by a DCT, in particular a DCT-4. Instead of applying the invention to audio signals, it also be applied in a corresponding way to video signals, in which case the psycho-acoustic analyzer PSYM is replaced by an analyzer taking into account the human visual system properties. 
         [0095]    The invention can be use in a watermark embedder. The advantage of embedding digital watermark information into an audio or video signal using the inventive multi-resolution filter bank, when compared to a direct embedding, is an increased robustness of watermark information transmission and watermark information detection at receiver side. In one embodiment of the invention the cascaded filter bank is used with a audio watermarking system. In the watermarking encoder a first (integer) MDCT is performed. A first watermark is inserted into bins  0  to k1−1 using a psycho-acoustic controlled embedding process. The purpose of this watermark can be frame synchronization at the watermark decoder. Second-stage variable size (integer) MDCTs are applied to bins starting from bin index k1 as described before. The output of this second stage is resorted to gain a time-frequency expression by interpreting the output as time-reversed temporal blocks and each second-stage MDCT as a new frequency line (bin). A second watermark signal is added onto each one of these new frequency lines by using an attenuation factor that is controlled by psycho-acoustic considerations. The data is resorted and the inverse (integer) MDCT (related to the above-mentioned second-stage MDCT) is performed as described for the above embodiments (decoder), including windowing and overlay/add. The full spectrum related to the first forward transform is restored. The full-size inverse (integer) MDCT performed onto that data, windowing and overlay/add restores a time signal with a watermark embedded. 
         [0096]    The multi-resolution filter bank is also used within the watermark decoder. Here the topology of the second-stage MDCTs is fixed by the application.