# Patent

## Title
Audio signal encoding or decoding

## Abstract

Encoding an audio signal is provided wherein the audio signal includes a first audio channel and a second audio channel, the encoding comprising subband filtering each of the first audio channel and the second audio channel in a complex modulated filterbank to provide a first plurality of subband signals for the first audio channel and a second plurality of subband signals for the second audio channel, downsampling each of the subband signals to provide a first plurality of downsampled subband signals and a second plurality of downsampled subband signals, further subband filtering at least one of the downsampled subband signals in a further filterbank in order to provide a plurality of sub-subband signals, deriving spatial parameters from the sub-subband signals and from those downsampled subband signals that are not further subband filtered, and deriving a single channel audio signal comprising derived subband signals derived from the first plurality of downsampled subband signals and the second plurality of downsampled subband signals.
Further, decoding is provided wherein an encoded audio signal comprising an encoded single channel audio signal and a set of spatial parameters is decoded by decoding the encoded single channel audio channel to obtain a plurality of downsampled subband signals, further subband filtering at least one of the downsampled subband signals in a further filterbank in order to provide a plurality of sub-subband signals, and deriving two audio channels from the spatial parameters, the sub-subband signals and those downsampled subband signals that are not further subband filtered.

## Background
The invention relates to encoding an audio signal or decoding an encoded audio signal.
Erik Schuijers, Werner Oomen, Bert den Brinker and Jeroen Breebaart, “Advances in Parametric Coding for High-Quality Audio”, Preprint 5852, 114th AES Convention, Amsterdam, The Netherlands, 22-25 Mar. 2003 disclose a parametric coding scheme using an efficient parametric representation for the stereo image. Two input signals are merged into one mono audio signal. Perceptually relevant spatial cues are explicitly modeled as is shown in FIG. 1. The merged signal is encoded using a mono parametric encoder. The stereo parameters Interchannel Intensity Difference (IID), the Interchannel Time Difference (ITD) and the Interchannel Cross-Correlation (ICC) are quantized, encoded and multiplexed into a bitstream together with the quantized and encoded mono audio signal. At the decoder side, the bitstream is de-multiplexed to an encoded mono signal and the stereo parameters. The encoded mono audio signal is decoded in order to obtain a decoded mono audio signal m′ (see FIG. 2). From the mono time domain signal, a de-correlated signal is calculated using a filter D yielding perceptual de-correlation. Both the mono time domain signal m′ and the de-correlated signal d are transformed to the frequency domain. Then the frequency domain stereo signal is processed with the IID, ITD and ICC parameters by scaling, phase modifications and mixing, respectively, in a parameter processing unit in order to obtain the decoded stereo pair l′ and r′. The resulting frequency domain representations are transformed back into the time domain.
An object of the invention is to provide advantageous audio encoding or decoding using spatial parameters. To this end, the invention provides an encoding method, an audio encoder, an apparatus for transmitting or storing, a decoding method, an audio decoder, a reproduction apparatus and a computer program product as defined in the independent claims. Advantageous embodiments are defined in the dependent claims.
According to a first aspect of the invention, an audio signal is encoded, the audio signal including a first audio channel and a second audio channel, the encoding comprising subband filtering each of the first audio channel and the second audio channel in a complex modulated filterbank to provide a first plurality of subband signals for the first audio channel and a second plurality of subband signals for the second audio channel, downsampling each of the subband signals to provide a first plurality of downsampled subband signals and a second plurality of downsampled subband signals, further subband filtering at least one of the downsampled subband signals in a further filterbank in order to provide a plurality of sub-subband signals, deriving spatial parameters from the sub-subband signals and from those downsampled subband signals that are not further subband filtered, and deriving a single channel audio signal comprising derived subband signals derived from the first plurality of downsampled subband signals and the second plurality of downsampled subband signals. By providing a further subband filtering in a subband, the frequency resolution of said subband is increased. Such an increased frequency resolution has the advantage that it becomes possible to achieve higher audio quality (the bandwidth of a single sub-band signal is typically much higher than that of critical bands in the human auditory system) in an efficient implementation (because only a few bands have to be transformed). The parametric spatial coder tries to model the binaural cues, which are perceived on a non-uniform frequency scale, resembling the Equivalent Rectangular Bands (ERB) scale. The single channel audio signal can be derived directly from the first plurality of downsampled subband signals and the second plurality of downsampled subband signals. However, the single channel audio signal is advantageously derived from sub-subband signals for those downsampled subbands that are further subband filtered, in which case the sub-subband signals of each subband are added together to form new subband signals and wherein the single channel audio signal is derived from these new subband signals and the subbands from the first and second plurality of subbands that are not further filtered.
According to another main aspect of the invention, audio decoding of an encoded audio signal is provided, the encoded audio signal comprising an encoded single channel audio signal and a set of spatial parameters, the audio decoding comprising decoding the encoded single channel audio channel to obtain a plurality of downsampled subband signals, further subband filtering at least one of the downsampled subband signals in a further filterbank in order to provide a plurality of sub-subband signals, and deriving two audio channels from the spatial parameters, the sub-subband signals and the downsampled subband signals for those subbands that are not further subband filtered. By providing a further subband filtering in a subband, the frequency resolution of said subband is increased and consequently higher quality audio decoding can be reached.
One of the main advantages of these aspects of the invention is that parametric spatial coding can be easily combined with Spectral Band Replication (“SBR”) techniques. SBR is known per se from Martin Dietz, Lars Liljeryd, Kristofer Kjörling and Oliver Kunz, “Spectral Band Replication, a novel approach in audio coding”, Preprint 5553, 112th AES Convention, Munich, Germany, 10-13 May 2002, and from Per Ekstrand, “Bandwidth extension of audio signals by spectral band replication”, Proc. 1st IEEE Benelux Workshop on Model based Processing and Coding of Audio (MPCA-2002), pp. 53-58, Leuven, Belgium, Nov. 15, 2002. Further reference is made to the MPEG-4 standard ISO/IEC 14496-3:2001/FDAM1, JTC1/SC29/WG11, Coding of Moving Pictures and Audio, Bandwidth Extension which describes an audio codec using SBR.
SBR is based on the notion that there is typically a large correlation between the low and the high frequencies in an audio signal. As such, the SBR process consists of copying the lower part(s) of the spectrum to the higher part(s) after which the spectral envelope is adjusted for the higher part(s) of the spectrum using little information encoded in the bit stream. A simplified block diagram of such an SBR enhanced decoder is shown in FIG. 3. The bit-stream is de-multiplexed and decoded into core data (e.g. MPEG-2/4 Advanced Audio Coding (AAC)) and SBR data. Using the core data the signal is decoded at half the sampling frequency of the full bandwidth signal. The output of the core decoder is analyzed by means of a 32 bands complex (Pseudo) Quadrature Mirror Filter (QMF) bank. These 32 bands are then extended to full bandwidth, i.e., 64 bands, in which the High Frequency (HF) content is generated by means of copying part(s) of the lower bands. The envelope of the bands for which the HF content is generated is adjusted according to the SBR data. Finally by means of a 64 bands complex QMF synthesis bank the PCM output signal is reconstructed.
The SBR decoder as shown in FIG. 3 is a so-called dual rate decoder. This means that the core decoder runs at half the sampling frequency and therefore only a 32 bands analysis QMF bank is used. Single rate decoders, where the core decoder runs at the full sampling frequency and the analysis QMF bank consists of 64 bands are also possible. In practice, the reconstruction is done by means of a (pseudo) complex QMF bank. Because the complex QMF filter bank is not critically sampled no extra provisions need to be taken in order to account for aliasing. Note that in the SBR decoder as disclosed by Ekstrand, the analysis QMF bank consists of only 32 bands, while the synthesis QMF bank consists of 64 bands, as the core decoder runs at half the sampling frequency compared to the entire audio decoder. In the corresponding encoder however, a 64 bands analysis QMF bank is used to cover the whole frequency range.
Although the invention is especially advantageous for stereo audio coding, the invention is also of advantage to coding signals with more than two audio channels.
These and other aspects of the invention are apparent from and will be elucidated with reference to the embodiments described hereinafter.



In the drawings:
FIG. 1 shows a block diagram of a unit for stereo parameter extraction as used in a Parametric Stereo (“PS”) encoder;
FIG. 2 shows a block diagram of a unit for the reconstruction of a stereo signal as used in a PS decoder;
FIG. 3 shows a block diagram of a Spectral Band Replication (“SBR”) decoder;
FIG. 4 shows a block diagram of combined PS and SBR enhanced encoder according to an embodiment of the invention;
FIG. 5 shows a block diagram of combined PS and SBR enhanced decoder according to an embodiment of the invention;
FIG. 6 shows an M bands downsampled complex QMF analysis (left) and synthesis bank (right);
FIG. 7 shows a magnitude response in dB of a prototype filter;
FIG. 8 shows a magnitude responses in dB of the first four out of 64 non-downsampled complex modulated analysis filters;
FIG. 9 shows a block diagram of a Q bands filter bank with trivial synthesis;
FIG. 10 shows a combined magnitude response in dB of a first non-downsampled modulated QMF filter and 8 bands complex modulated filter bank;
FIG. 11 shows a stylized magnitude response of 4 bands evenly stacked filter bank (top) and oddly stacked filter bank (bottom) according to an embodiment of the invention;
FIG. 12 shows a 77 bands non-uniform hybrid analysis filter bank based on 64 bands complex analysis QMF according to an embodiment of the invention;
FIG. 13 shows a 71 bands non-uniform hybrid analysis filter bank based on 64 bands complex analysis QMF for use in an audio decoder; and
FIG. 14 shows a block diagram of efficient implementation of the complex modulated analysis filter bank



The drawings only show those elements that are necessary to understand the invention.
Combining SBR with PS potentially yields an extremely powerful codec. Both SBR and PS are post-processing algorithms in a decoder consisting of a fairly similar structure, i.e., some form of time to frequency conversion, processing and finally frequency to time conversion. When combining both algorithms, it is required that both algorithms can run concurrently on e.g. a DSP application. Hence, it is advantageous to reuse as much as possible of the calculated intermediate results of one codec for the other. In the case of combining PS with SBR this leads to reusing the complex (Pseudo) QMF sub-band signals for PS processing. In a combined encoder (see FIG. 4) the stereo input signal is analyzed by means of two 64 bands analysis filter banks. Using the complex sub-band domain representation, a PS calculation unit estimates the stereo parameters and creates a mono (sub-band) down-mix is created. This mono down-mix is then fed to an SBR parameter estimation unit. Finally the mono down-mix is converted back to the time domain by means of a 32 bands synthesis filter bank such that it can be coded by the core decoder (core decoder needs only half the bandwidth).
In the combined decoder as shown in FIG. 5, regardless whether or not a dual rate or a single rate system is being used, the full bandwidth (64 bands) subband domain signals after envelope adjustment are converted to a stereo set of subband domain signals according to the stereo parameters. These two sets of sub-band signals are finally converted to the time domain by means of the 64 bands synthesis QMF bank. If one would just combine PS with SBR, the bandwidth of the lower frequency bands of the QMF filter is larger than what is required for a high quality stereo representation. So, in order to be able to give a high quality representation of the stereo image, a further sub-division of the lower sub-band signals is performed according to advantageous embodiments of the invention.
For a better understanding of aspects of the invention, the theory behind complex QMF sub-band filters is first explained.
QMF Sub-Band Filters
The QMF analysis sub-band filter can be described as following. Given a real valued linear phase prototype filter p(v), an M-band complex modulated analysis filter bank can be defined by the analysis filters




  
    
      
        
          
            
              h
              k
            
            ⁡
            
              (
              v
              )
            
          
          =
          
            
              p
              ⁡
              
                (
                v
                )
              
            
            ⁢
            exp
            ⁢
            
              {
              
                i
                ⁢
                
                  π
                  M
                
                ⁢
                
                  (
                  
                    k
                    +
                    
                      1
                      /
                      2
                    
                  
                  )
                
                ⁢
                
                  (
                  
                    v
                    -
                    θ
                  
                  )
                
              
              }
            
          
        
        ,
      
    
    
      
        (
        1
        )
      
    
  




for k=0, 1, . . . , M−1. The phase parameter θ is not important for the analysis that follows, but a typical choice is (N+M)/2, where N is the prototype filter order. Given a real valued discrete time signal x(v), the sub-band signals vk(n) are obtained by filtering (convolution) x(v) with hk(v), and then downsampling the result by a factor M (see left hand side of FIG. 6).

A synthesis operation consists of first upsampling the QMF sub-band signals with a factor M, followed by filtering with complex modulated filters of the type (1), adding up the results and finally taking twice the real part (see right hand side of FIG. 6). Then near-perfect reconstruction of real valued signals can be obtained by suitable design of a real valued linear phase prototype filter p(v). The magnitude response of the prototype filter as used in the SBR system of the MPEG-4 standard (referred to above) in case of 64 bands is shown in FIG. 7. The magnitude responses of the 64 complex modulated analysis filters are obtained by shifting the magnitude response of the prototype filter p(v) by




  
    π
    M
  
  ⁢
  
    
      (
      
        k
        +
        
          1
          /
          2
        
      
      )
    
    .
  




Part of these responses is shown in FIG. 8. Note that only the positive frequencies are filtered, except for k=0 and k=M−1. As a result the sub-band signals prior to downsampling are close to being analytic, facilitating easy amplitude and phase modifications of real-valued sinusoids. Phase modifications are also possible for the first and last band as long as the sinusoids residing in these bands have a frequency that is above π/2M or below π−π/2M respectively. For frequencies outside this region the performance of phase modification deteriorates rapidly because of interference of the negative frequencies.

Starting from the QMF analysis filters as described above, in embodiments of the invention, a finer frequency resolution is obtained by further filtering each downsampled subband signal vk(n) into Qk sub-subbands. In the following the properties of the further subband filtering will be derived.
Signal Modification in the Complex QMF Sub-Band Domain
In the following, let




  
    Z
    ⁡
    
      (
      ω
      )
    
  
  =
  
    
      ∑
      
        n
        =
        
          -
          ∞
        
      
      ∞
    
    ⁢
    
      
        z
        ⁡
        
          (
          n
          )
        
      
      ⁢
      
        exp
        ⁡
        
          (
          
            
              -
              i
            
            ⁢
            
              
            
            ⁢
            n
            ⁢
            
              
            
            ⁢
            ω
          
          )
        
      
    
  




be the discrete time Fourier transform of a discrete time signal z(n). Assuming the near-perfect reconstruction property as mentioned above and also a design where P(ω), the Fourier transform of p(v), essentially vanishes outside the frequency interval [−π/M,π/M], which is the case for the prototype filter p(v) as illustrated above, the next step here is to consider a system where the sub-band signals vk(n) are modified prior to synthesis. Now, let each sub band k be modified by filtering with a filter Bk(ω). With the extending definition

Bk(107 )=B−1−k(−ω)* for k<0,  (2)

where the star denotes complex conjugation, it can then be shown (neglecting overall delay, assuming a real valued input and a single rate system) that the resulting system including filter bank synthesis corresponds to a filtering with the filter





  
    
      
        
          B
          ⁡
          
            (
            ω
            )
          
        
        =
        
          
            ∑
            
              k
              =
              
                -
                M
              
            
            
              M
              -
              1
            
          
          ⁢
          
            
              
                B
                k
              
              ⁡
              
                (
                
                  M
                  ⁢
                  
                    
                  
                  ⁢
                  ω
                
                )
              
            
            ⁢
            
              
                
                  
                  
                    P
                    ⁡
                    
                      (
                      
                        ω
                        -
                        
                          
                            π
                            ⁡
                            
                              (
                              
                                k
                                +
                                
                                  1
                                  /
                                  2
                                
                              
                              )
                            
                          
                          /
                          M
                        
                      
                      )
                    
                  
                  
                
                2
              
              .
            
          
        
      
    
    
      
        (
        3
        )
      
    
  




According to the hypotheses regarding the properties of P(ω), inserting Bk(ω)=1 for all kin (3) leads to B(ω)=1, and a squared sum identity follows for the shifted prototype filter responses. By choosing real-valued constants Bk(ω)=bk≧0 the system acts as an equalizer, which interpolates the gain values bk at frequencies π(k+1⁄2)/M . The attractive feature is that the overall system is time-invariant, that is, free of aliasing, in spite of the use of down- and upsampling. This will of course only be true up to the amount of deviation to the stated prototype filter hypotheses.
In order to derive a mono audio signal, additional sub-filtering of the complex sub-band signals should not only preserve these properties, but also extend these properties to manipulation of the filtered sub-band signals. Sub-filtering preserving these properties can be performed using a modification of so-called Mth band filters as known per se from P. P. Vaidyanathan, “Multirate systems and filter banks”, Prentice Hall Signal Processing Series, 1993, sections 4.6.1-4.6.2).
Modulated Filter Banks with Trivial Synthesis
A discrete time signal v(n) can be split into Q different signals by a bank of filters with impulse responses gq(n), q=0, 1, . . . , Q−1. This is illustrated in FIG. 9.
Let the corresponding analysis outputs be yq(n), and consider the trivial synthesis operation




  
    
      
        
          y
          ⁡
          
            (
            n
            )
          
        
        =
        
          
            ∑
            
              q
              =
              0
            
            
              Q
              -
              1
            
          
          ⁢
          
            
          
          ⁢
          
            
              
                y
                q
              
              ⁡
              
                (
                n
                )
              
            
            .
          
        
      
    
    
      
        (
        4
        )
      
    
  




Perfect reconstruction, y(n)=v(n), is then obtained by choosing the filters such that





  
    
      
        
          
            
              ∑
              
                q
                =
                0
              
              
                Q
                -
                1
              
            
            ⁢
            
              
                g
                q
              
              ⁡
              
                (
                n
                )
              
            
          
          =
          
            δ
            ⁡
            
              (
              n
              )
            
          
        
        ,
      
    
    
      
        (
        5
        )
      
    
  




where δ(n)=1 if n=0 and δ(n)=0 if n≠0. For causal filters, the right hand side of (5) would have to be replaced with δ(n−d) where d is a positive delay, but this straightforward modification is omitted for clarity of exposition.
The filters gq(n) can be chosen as complex modulations of a prototype filter g(n) through




  
    
      
        
          
            g
            q
          
          ⁡
          
            (
            n
            )
          
        
        =
        
          
            g
            ⁡
            
              (
              n
              )
            
          
          ⁢
          exp
          ⁢
          
            
              {
              
                i
                ⁢
                
                  
                    2
                    ⁢
                    
                      
                    
                    ⁢
                    π
                  
                  Q
                
                ⁢
                
                  (
                  
                    q
                    +
                    
                      1
                      /
                      2
                    
                  
                  )
                
                ⁢
                n
              
              }
            
            .
          
        
      
    
    
      
        (
        6
        )
      
    
  




In this preferred embodiment of the invention, the filters are oddly stacked (the factor q+1⁄2). An advantage of this preferred embodiment will be explained later. Perfect reconstruction (5) is obtained if and only if

g(Qn)=δ(n)/Q  (7)

A variation of this is the real-valued cosine modulation as





  
    
      
        
          
            
              g
              q
            
            ⁡
            
              (
              n
              )
            
          
          =
          
            
              g
              ⁡
              
                (
                n
                )
              
            
            ⁢
            cos
            ⁢
            
              {
              
                
                  π
                  Q
                
                ⁢
                
                  (
                  
                    q
                    +
                    
                      1
                      /
                      2
                    
                  
                  )
                
                ⁢
                n
              
              }
            
          
        
        ,
      
    
    
      
        (
        8
        )
      
    
  




with a real-valued prototype filter g(m) satisfying

g(2Qn)=δ(n)/Q  (9)

(This is easily obtained by consideration of gq(n)+gQ−1−q(n) in (6).)

Sub-Filtering the Complex-Exponential Modulated Filter Bank

Starting from the QMF analysis filters as described above, a finer frequency resolution is obtained by further filtering each downsampled subband signal vk(n) into Qk sub-subbands by using one of the modulated structures (6) or (8) above. Denote the resulting output signals yqk(n) and let gqk(n) describe the filter bank applied within sub band k. If Qk=1, there is no filtering and g0k(n)=δ(n). A typical application example is the case where M=64, Q0=8, Qk=4 for k=1, 2, and Qk=1 for k>2.
The combined effect of the two filter banks from x(v) to yqk(n) can be described as filtering with filters Fqk(ω) followed by downsampling by a factor M where

Fqk(ω)=Hk(ω)Gqk(Mω).  (10)

If the prototype filter response P(ω) is essentially zero outside the interval [−λ/M,λ/M], which is the case for the SBR analysis filters (see FIG. 7), then the filter Fqk(ω) has a single nominal center frequency defined in the complex modulated case by

ωk,q=2π(q+Qks+1⁄2)/(MQk)  (11)

where s is a integer chosen such that

Qk(k−1⁄2)≦2(q+Qks)+1≦Qk(k+ 3/2). For example, as illustrated in FIG. 10, if k=0 and Q0=8, the values of ω0,0, ω0,1, . . . , ω0,7 are





  
    π
    
      8
      ⁢
      M
    
  
  ⁢
  
    
      (
      
        1
        ,
        3
        ,
        5
        ,
        7
        ,
        9
        ,
        11
        ,
        
          -
          3
        
        ,
        
          -
          1
        
      
      )
    
    .
  




Signal Modification with Non-Uniform Frequency Resolution

The insertion of sub-subband filter banks as described above does not introduce further downsampling, so the alias-free performance of signal modification as shown above in the case of complex QMF only, is preserved. Consider the general combined operation of M-subband analysis, further subband filtering by using Qk sub-subbands within subband k, filtering of each sub-subband signal yqk(n) by a filter Ak,q(ω), synthesis within each subband k by summation, and finally synthesis through the M-band synthesis bank. The overall transfer function of such a system is given by (3) with, for k≧0,




  
    
      
        
          
            
              B
              k
            
            ⁡
            
              (
              ω
              )
            
          
          =
          
            
              ∑
              
                q
                =
                0
              
              
                
                  Q
                  k
                
                -
                1
              
            
            ⁢
            
              
            
            ⁢
            
              
                
                  A
                  
                    k
                    ,
                    q
                  
                
                ⁡
                
                  (
                  ω
                  )
                
              
              ⁢
              
                
                  G
                  q
                  k
                
                ⁡
                
                  (
                  ω
                  )
                
              
            
          
        
        ,
      
    
    
      
        (
        12
        )
      
    
  




For ω>π/(2M), this gives





  
    
      
        
          
            B
            ⁡
            
              (
              ω
              )
            
          
          =
          
            
              ∑
              
                k
                =
                0
              
              
                M
                -
                1
              
            
            ⁢
            
              
            
            ⁢
            
              
                ∑
                
                  q
                  =
                  0
                
                
                  
                    Q
                    k
                  
                  -
                  1
                
              
              ⁢
              
                
                  
                    A
                    
                      k
                      ,
                      q
                    
                  
                  ⁡
                  
                    (
                    
                      M
                      ⁢
                      
                        
                      
                      ⁢
                      ω
                    
                    )
                  
                
                ⁢
                
                  
                    G
                    q
                    k
                  
                  ⁡
                  
                    (
                    
                      M
                      ⁢
                      
                        
                      
                      ⁢
                      ω
                    
                    )
                  
                
                ⁢
                
                  
                    
                    
                      P
                      ⁡
                      
                        (
                        
                          ω
                          -
                          
                            
                              π
                              ⁡
                              
                                (
                                
                                  k
                                  +
                                  
                                    1
                                    /
                                    2
                                  
                                
                                )
                              
                            
                            /
                            M
                          
                        
                        )
                      
                    
                    
                  
                  2
                
              
            
          
        
        ,
      
    
    
      
        (
        13
        )
      
    
  




so the throughput response of the sub-subband (k, q) is

Gqk(Mω)|P(ω−π(k+1⁄2)/M)|2.

For |ω|≦π/(2M), some care has to be taken due to (2). In this frequency range it holds that

B(ω)=B0(Mω)|P(ω−π/(2M))|2+B0(−Mω)*|P(ω+π/(2M))|2  (14)

and assuming a real sub-subband prototype filter coefficients, it holds that

Gq0(−ω)*=GQ0−1−q0(ω)  (15)

so if the modifying filters are chosen such that

A0,q(−ω)*=A0,Q0−1−q(ω),  (16)

then B0(−Mω)=B0(Mω) and the squared sum identity mentioned in connection with (3) leads to





   
  
    
      
        
          
            B
            ⁡
            
              (
              ω
              )
            
          
          =
          
            
              
                B
                0
              
              ⁡
              
                (
                
                  M
                  ⁢
                  
                    
                  
                  ⁢
                  ω
                
                )
              
            
            ⁢
            
              

            
            ⁢
            
              
            
            =
            
              
                ∑
                
                  q
                  =
                  0
                
                
                  
                    Q
                    k
                  
                  -
                  1
                
              
              ⁢
              
                
                  
                    A
                    
                      0
                      ,
                      q
                    
                  
                  ⁡
                  
                    (
                    
                      M
                      ⁢
                      
                        
                      
                      ⁢
                      ω
                    
                    )
                  
                
                ⁢
                
                  
                    G
                    q
                    0
                  
                  ⁡
                  
                    (
                    
                      M
                      ⁢
                      
                        
                      
                      ⁢
                      ω
                    
                    )
                  
                
              
            
          
        
      
      
        
          (
          17
          )
        
      
    
  




for |ω|≦π/(2M), corresponding to a throughput response Gq0(Mω) for sub-subband (0,q).

Equations (15) until (17) indicate the desire to discriminate between positive and negative frequencies. This is the reason why oddly stacked (complex) filters are being used for sub-filtering the QMF sub-band signals instead of evenly stacked (complex) filters (see FIG. 11). For evenly stacked filters it is not possible to apply phase modifications of sinusoids residing in the centre filter, i.e., the filter with a centre frequency of zero, as there is no discrimination between positive and negative frequencies possible. Assuming a prototype filter with a response G(ω) band limited to [−2π/Q,2π/Q], with Q the number of bands, for the evenly stacked case the lower limit to which phase modifications can approximately be applied is 2π/Q, whereas for the oddly stacked case the lower limit to which phase modifications approximately can be applied is π/Q.
As mentioned in the introduction, for PS synthesis important special cases of the above are equalization and phase modification. For equalization,
Ak,q(ω)=ak,q≧0 and the condition (16) reduces to

a0,q=a0,Q0−1−q.  (18)

The phase modification case corresponds to Ak,q(ω)=exp(iαk,q) in which case the condition (16) is satisfied if

α0,Q0−1−q=−α0,q.  (19)

Stereo Parameter Estimation

The non-uniform complex filter bank, i.e. the QMF bank followed by the further subband filtering, as described above, can be applied to estimate the stereo parameters Inter-channel Intensity Differences (IID), Inter-channel Phase Differences (IPD) and Inter-channel Cross Correlation (ICC) as shown below. Note that in this practical embodiment, IPD is used as a practically equivalent substitute for the ITD as used in the paper of Schuijers et al. In the combined PS encoder (see FIG. 4) the first three complex QMF channels are sub-filtered so that in total 77 complex-valued signals are obtained (see FIG. 12).
From this point on the 77 complex-valued time-aligned left and right sub-subband signals are denoted as lqk(n) and rqk(n) respectively, accordingly the indexing Of yqk(n).
To estimate the stereo parameters at a certain sub-band sample position n′ the left, right and non-normalized cross-channel excitation are calculated as:




  
    
      
        
          
            
              e
              l
            
            ⁡
            
              (
              b
              )
            
          
          =
          
            
              ∑
              
                q
                =
                
                  q
                  l
                
              
              
                q
                h
              
            
            ⁢
            
              
            
            ⁢
            
              
                ∑
                
                  k
                  =
                  
                    k
                    l
                  
                
                
                  k
                  h
                
              
              ⁢
              
                
              
              ⁢
              
                
                  ∑
                  
                    n
                    =
                    0
                  
                  
                    L
                    -
                    1
                  
                
                ⁢
                
                  
                
                ⁢
                
                  
                    
                      h
                      2
                    
                    ⁡
                    
                      (
                      n
                      )
                    
                  
                  ⁢
                  
                    (
                    
                      
                        
                          
                          
                            
                              l
                              q
                              k
                            
                            ⁡
                            
                              (
                              
                                
                                  n
                                  ′
                                
                                -
                                
                                  L
                                  2
                                
                                +
                                1
                                +
                                n
                              
                              )
                            
                          
                          
                        
                        2
                      
                      +
                      ɛ
                    
                    )
                  
                
              
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            
              e
              r
            
            ⁡
            
              (
              b
              )
            
          
          =
          
            
              ∑
              
                q
                =
                
                  q
                  l
                
              
              
                q
                h
              
            
            ⁢
            
              
            
            ⁢
            
              
                ∑
                
                  k
                  =
                  
                    k
                    l
                  
                
                
                  k
                  h
                
              
              ⁢
              
                
              
              ⁢
              
                
                  ∑
                  
                    n
                    =
                    0
                  
                  
                    L
                    -
                    1
                  
                
                ⁢
                
                  
                
                ⁢
                
                  
                    
                      h
                      2
                    
                    ⁡
                    
                      (
                      n
                      )
                    
                  
                  ⁢
                  
                    (
                    
                      
                        
                          
                          
                            
                              r
                              q
                              k
                            
                            ⁡
                            
                              (
                              
                                
                                  n
                                  ′
                                
                                -
                                
                                  L
                                  2
                                
                                +
                                1
                                +
                                n
                              
                              )
                            
                          
                          
                        
                        2
                      
                      +
                      ɛ
                    
                    )
                  
                
              
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            
              e
              R
            
            ⁡
            
              (
              b
              )
            
          
          =
          
            
              ∑
              
                q
                =
                
                  q
                  l
                
              
              
                q
                h
              
            
            ⁢
            
              
            
            ⁢
            
              
                ∑
                
                  k
                  =
                  
                    k
                    l
                  
                
                
                  k
                  h
                
              
              ⁢
              
                
              
              ⁢
              
                
                  ∑
                  
                    n
                    =
                    0
                  
                  
                    L
                    -
                    1
                  
                
                ⁢
                
                  
                
                ⁢
                
                  
                    
                      h
                      2
                    
                    ⁡
                    
                      (
                      n
                      )
                    
                  
                  ⁢
                  
                    (
                    
                      
                        
                          
                            
                              
                                l
                                q
                                k
                              
                              ⁡
                              
                                (
                                
                                  
                                    n
                                    ′
                                  
                                  -
                                  
                                    L
                                    2
                                  
                                  +
                                  1
                                  +
                                  n
                                
                                )
                              
                            
                            ⁢
                            
                              r
                              q
                              
                                k
                                *
                              
                            
                          
                        
                      
                      
                        
                          
                            
                              (
                              
                                
                                  n
                                  ′
                                
                                -
                                
                                  L
                                  2
                                
                                +
                                1
                                +
                                n
                              
                              )
                            
                            +
                            ɛ
                          
                        
                      
                    
                    )
                  
                
              
            
          
        
      
    
    
      
        (
        20
        )
      
    
  




for every stereo bin b, h(n) is the sub-band domain window with length L, ε a very small value preventing division by zero (e.g. ε=1e−10) and lqk(n) and rqk(n) the left and right sub-subband domain signals. In case of 20 stereo bins, the summation over k from k1 up to and including kh and q from q1 up to and including qh goes as shown in Table. Note that the ‘negative’ frequencies (e.g. k=0 with q=4 . . . 7) are not included in the parameter estimation of (20).








TABLE 1







Start and stop indices of summation over k and q














b
k1
kh
q1
qh
Pass-band frequency region


















0
0
0
0
0
0-π/256



1
0
0
1
1
π/256-2π/256



2
0
0
2
2
2π/256-3π/256



3
0
0
3
3
3π/256-π/64



4
1
1
2
2
π/64-3π/128



5
1
1
3
3
3π/128-2π/64



6
2
2
0
0
2π/64-5π/128



7
2
2
1
1
5π/128-3π/64



8
3
3
0
0
3π/64-4π/64



9
4
4
0
0
4π/64-5π/64



10
5
5
0
0
5π/64-6π/64



11
6
6
0
0
6π/64-7π/64



12
7
7
0
0
7π/64-8π/64



13
8
8
0
0
8π/64-9π/64



14
9
10
0
0
9π/64-11π/64



15
11
13
0
0
11π/64-14π/64



16
14
17
0
0
14π/64-18π/64



17
18
22
0
0
18π/64-23π/64



18
23
34
0
0
23π/64-35π/64



19
35
63
0
0
35π/64-π










The summations to calculate e1(b), er(b) and eR(b) are aligned such that the mid-point of these signals in the summation coincides with the parameter position, hence the shift by





  
    -
    
      L
      2
    
  
  +
  1.




As is clear from Table 1, only sub-subband signals and subband signals with a positive centre frequency are used for estimating stereo parameters.

The IID, denoted as I(b), the ICC, denoted as C(b) and the IPD, denoted as P(b) for each stereo bin b are calculated as:





  
    
      
        
          
            I
            ⁡
            
              (
              b
              )
            
          
          =
          
            10
            ⁢
            
              
                log
                10
              
              ⁡
              
                (
                
                  
                    
                      e
                      l
                    
                    ⁡
                    
                      (
                      b
                      )
                    
                  
                  
                    
                      e
                      r
                    
                    ⁡
                    
                      (
                      b
                      )
                    
                  
                
                )
              
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            C
            ⁡
            
              (
              b
              )
            
          
          =
          
            
              
              
                
                  e
                  R
                
                ⁡
                
                  (
                  b
                  )
                
              
              
            
            
              
                
                  
                    e
                    l
                  
                  ⁡
                  
                    (
                    b
                    )
                  
                
                ⁢
                
                  
                    e
                    r
                  
                  ⁡
                  
                    (
                    b
                    )
                  
                
              
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            P
            ⁡
            
              (
              b
              )
            
          
          =
          
            ∠
            ⁢
            
              
            
            ⁢
            
              
                e
                R
              
              ⁡
              
                (
                b
                )
              
            
          
        
      
    
    
      
        (
        21
        )
      
    
  




The angle in the equation P(b)=∠eR(b) is calculated using the four quadrant arctangent function giving values between −π and π. Depending on target bit rate and application, these parameters, or a subset of these parameters are quantized and coded into the PS part of the bit-stream.

Stereo Signal Synthesis

In order to keep the computational costs (in terms of RAM usage) in the decoder as low as possible a similar analysis structure is used. However the first band is only partially complex (see FIG. 13). This is obtained by summation of the middle band pairs G20(ω) and G50(ω) and G30(ω) and G40(ω). Furthermore, the second and the third band are two-band real-valued filter banks, which is obtained by summation of the output of G0k(ω) and G3k(ω), and summation of the output of G1k(ω) and G2k(ω) (see also the discussion in the section about modulated filter banks). Using this simplification of the decoder filter-bank structure, still the discriminative feature between positive and negative frequencies is maintained by subdivision of the first sub-band filter. The decoder analysis filter bank is shown in FIG. 13. Notice that the indexing of the first QMF filtered (sub-)subband signals is sorted according to frequency.
The stereo (sub-)subband signals of a single frame are constructed as:

lk(n)=Λ11sk(n)+Λ21dk(n)

rk(n)=Λ12sk(n)+A22dk(n)  (22)

lk(n)=lk(n)eiPrt 

rk(n)=rk(n)e−jPrt  (23)

with sk(n) the mono (sub-)subband signals, and dk(n) the mono de-correlated (sub-)subband signals that are derived from the mono (sub-)subband signals sk(n) in order to account for synthesizing the ICC parameters, k=0, . . . , K−1 the sub-band index (K is the total number of sub-bands, i.e., K=71), QMF sub-band sample index n=0, . . . , N−1 with N the number of sub-band samples of a frame, Λ11, Λ12, Λ21, Λ22 the scale factor manipulation matrices and Pn the phase rotation manipulation matrix. The manipulation matrices are defined as function of time and frequency and can be derived straightforwardly from the manipulation vectors as described in the MPEG-4 standard ISO/IEC 14496-3:2001/FPDAM2, JTC1/SC29/WG11, Coding of Moving Pictures and Audio, Extension 2.

sk(n) is defined according to FIG. 12 as resulting in FIG. 13:

s0(n)=y60(n)

s1(n)=y70(n)

s2(n)=y00(n)

s3(n)=y10(n)

s4(n)=y20(n)+y50(n)

s5(n)=y30(n)+y40(n)

s6(n)=y01(n)+y31(n)

s7(n)=y11(n)+y21(n)

s8(n)=y02(n)+y32(n)

s9(n)=y12(n)+y22(n)

sk(n)=y0k−7(n) k=10 . . . 70  (24)

Synthesis of the stereo parameters takes place accordingly the indexing of

Table 1.








TABLE 1







Parameter indexing table









k
i(k)
Pass-band frequency region












0
 1*
−2π/256--π/256


1
 0*
−π/256-0


2
 0
0-π/256


3
 1
π/256-2π/256


4
 2
2π/256-3π/256


5
 3
3π/256-π/64


6
 5
3π/128-2π/64


7
 4
2π/128-3π/128


8
 6
4π/128-5π/128


9
 7
5π/128-6π/128


10
 8
3π/64-4π/64


11
 9
4π/64-5π/64


12
10
5π/64-6π/64


13
11
6π/64-7π/64


14
12
7π/64-8π/64


15
13
8π/64-9π/64


16-17
14
9π/64-11π/64


18-20
15
11π/64-14π/64


21-24
16
14π/64-18π/64


25-29
17
18π/64-23π/64


30-41
18
23π/64-35π/64


42-70
19
35π/64-π









The synthesis equations thus look like:

lk(n)=Λ11(i(k),n)sk(n)+Λ21(i(k),n)dk(n)

rk(n)=Λ12(i(k),n)sk(n)+Λ22(i(k),n)dk(n)  (25)

lk(n)=lk(n)ejPrt(i(k),n)

rk(n)=rk(n)e−jPrt(i(k),n)  (26)

Note that the sign of Pn changes in the equations above if a * is encountered in the table. This is accordingly equation (19), i.e., the inverse phase rotation has to be applied for the negative frequencies.

Efficient Implementation of Modulated Filter Banks with Trivial Synthesis

Given a modulated filter bank with a prototype filter of length L, a direct form implementation would require QL operations per input sample, but the fact that the modulation in (6) is antiperiodic with period Q can be used to split the filtering into a polyphase windowing of L operations followed by a transform of size Q for each input sample. Please note that a polyphase representation as such is known from P. P. Vaidyanathan, “Multirate systems and filter banks”, Prentice Hall Signal Processing Series, 1993, section 4.3). The following provides an advantageous application of such a polyphase representation according to a preferred embodiment of the invention.
The transform is a DFT followed by a phase twiddle, which is of the order of Q log2 Q when Q is a power of two. So a large saving is obtained in typical cases where L is much larger than log2 Q. In the real modulated case (8), antiperiodicity of period 2Q combined with even/odd symmetries around n=0 and n=Q can again be used for polyphase windowing, and the transform kernel is a DCT of type III. A detailed description for the case of complex modulation is given below.
An effective implementation of the sub-subfiltering, using FFT core processing, may be realized using poly-phase decomposition of the prototype filter followed by modulation. Assume a prototype filter g(n) of order N, where N=mQ and m is a positive integer. This condition is not restrictive, since a prototype filter of arbitrary order can be zero padded to fulfill the constraint. The Z-transform of the prototype filter designed for use in a complex modulated system (6) is




  
    
      
        
          G
          ⁡
          
            (
            z
            )
          
        
        =
        
          
            ∑
            
              n
              =
              
                
                  -
                  N
                
                /
                2
              
            
            
              N
              /
              2
            
          
          ⁢
          
            
          
          ⁢
          
            
              g
              ⁡
              
                (
                n
                )
              
            
            ⁢
            
              z
              
                -
                n
              
            
          
        
      
    
    
      
        (
        27
        )
      
    
  




This may be expressed in poly-phase notation as





  
    
      
        
          
            
              G
              ⁡
              
                (
                z
                )
              
            
            =
            
              
                ∑
                
                  l
                  =
                  0
                
                
                  Q
                  -
                  1
                
              
              ⁢
              
                
              
              ⁢
              
                
                  
                    E
                    l
                  
                  ⁡
                  
                    (
                    
                      z
                      Q
                    
                    )
                  
                
                ⁢
                
                  z
                  
                    -
                    l
                  
                
              
            
          
          ⁢
          
            

          
          ⁢
          where
        
        ⁢
        
          

        
      
    
    
      
        (
        28
        )
      
    
  
  
    
      
        
          
            E
            l
          
          ⁡
          
            (
            z
            )
          
        
        =
        
          
            ∑
            
              n
              =
              
                
                  -
                  N
                
                /
                
                  (
                  
                    2
                    ⁢
                    Q
                  
                  )
                
              
            
            
              N
              /
              
                (
                
                  2
                  ⁢
                  Q
                
                )
              
            
          
          ⁢
          
            
          
          ⁢
          
            
              g
              ⁡
              
                (
                
                  Qn
                  +
                  l
                
                )
              
            
            ⁢
            
              z
              
                -
                n
              
            
          
        
      
    
    
      
        (
        29
        )
      
    
  




All filters of the filterbank are frequency-modulated versions of the prototype filter. The Z-transform of the filter gq(n) is given by





  
    
      
        
          
            
              G
              q
            
            ⁡
            
              (
              z
              )
            
          
          =
          
            G
            (
            
              zW
              
                q
                +
                
                  1
                  2
                
              
            
            )
          
        
        ⁢
        
          

        
        ⁢
        where
      
    
    
      
        (
        30
        )
      
    
  
  
    
      
        W
        =
        
          e
          
            
              -
              j
            
            ⁢
            
              
                2
                ⁢
                
                  
                
                ⁢
                π
              
              Q
            
          
        
      
    
    
      
        (
        31
        )
      
    
  




The expression for the output from one filter is





   
  
    
      
        
          
            
              
                
                  
                    Y
                    q
                  
                  ⁡
                  
                    (
                    z
                    )
                  
                
                =
                
                ⁢
                
                  
                    
                      G
                      q
                    
                    ⁡
                    
                      (
                      z
                      )
                    
                  
                  ⁢
                  
                    V
                    ⁡
                    
                      (
                      z
                      )
                    
                  
                
              
            
          
          
            
              
                =
                
                ⁢
                
                  
                    G
                    (
                    
                      zW
                      
                        q
                        +
                        
                          1
                          2
                        
                      
                    
                    )
                  
                  ⁢
                  
                    V
                    ⁡
                    
                      (
                      z
                      )
                    
                  
                
              
            
          
          
            
              
                =
                
                ⁢
                
                  
                    ∑
                    
                      l
                      =
                      0
                    
                    
                      Q
                      -
                      1
                    
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    
                      
                        E
                        l
                      
                      ⁡
                      
                        (
                        
                          -
                          
                            z
                            Q
                          
                        
                        )
                      
                    
                    ⁢
                    
                      V
                      ⁡
                      
                        (
                        z
                        )
                      
                    
                    ⁢
                    
                      z
                      
                        -
                        l
                      
                    
                    ⁢
                    
                      W
                      
                        
                          -
                          l
                        
                        2
                      
                    
                    ⁢
                    
                      W
                      
                        -
                        ql
                      
                    
                  
                
              
            
          
          
            
              
                =
                
                ⁢
                
                  
                    ∑
                    
                      l
                      =
                      0
                    
                    
                      Q
                      -
                      1
                    
                  
                  ⁢
                  
                    
                  
                  ⁢
                  
                    
                      
                        E
                        l
                      
                      ⁡
                      
                        (
                        
                          -
                          
                            z
                            Q
                          
                        
                        )
                      
                    
                    ⁢
                    
                      V
                      ⁡
                      
                        (
                        z
                        )
                      
                    
                    ⁢
                    
                      z
                      
                        -
                        l
                      
                    
                    ⁢
                    
                      e
                      
                        j
                        ⁢
                        
                          π
                          Q
                        
                        ⁢
                        l
                      
                    
                    ⁢
                    
                      e
                      
                        j
                        ⁢
                        
                          
                            2
                            ⁢
                            
                              
                            
                            ⁢
                            π
                          
                          Q
                        
                        ⁢
                        ql
                      
                    
                  
                
              
            
          
        
      
      
        
          (
          32
          )
        
      
    
  




By identifying the components of the last sum, it may be seen that the poly-phase components process delayed versions of the input signal, which subsequently are multiplied by a complex exponential. Finally, all the output signals Yq(z), q=0 . . . Q−1, are found by applying an inverse FFT (without scaling factor). FIG. 14 shows the layout for the analysis filter bank. Since the poly-phase filters in (29) are non-causal, a proper amount of delay has to be added to all the poly-phase components.

It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design many alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word ‘comprising’ does not exclude the presence of other elements or steps than those listed in a claim. The invention can be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In a device claim enumerating several means, several of these means can be embodied by one and the same item of hardware. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage.

## Claims

1. Combined parametric stereo and spectral band replication enhanced audio encoder comprising:
an analysis filterbank unit for converting a time domain stereo input signal into a subband domain;
a parametric stereo calculation unit for calculating parametric stereo parameters for the stereo input signal in the subband domain to obtain a parametric stereo bit-stream and for creating a mono down-mix in the subband domain;
a spectral band replication parameter estimation unit for estimating spectral band replication parameters of the mono down-mix in the subband domain to obtain a spectral band replication bit-stream;
a frequency to time converter for converting the mono down-mix from the subband domain into the time domain; and
a core encoder for encoding the time domain mono down-mix to obtain a core bit-stream.

2. Method of combined parametric stereo and spectral band replication enhanced audio encoding comprising:
converting, by an analysis filterbank, a time domain stereo input signal into a subband domain;
calculating, by a parametric stereo calculating unit, parametric stereo parameters for the stereo input signal in the subband domain to obtain a parametric stereo bit-stream;
creating, by the parametric stereo calculating unit, a mono down-mix in the subband domain;
estimating, by a spectral band replication parameter estimation unit, spectral band replication parameters of the mono down-mix in the subband domain to obtain a spectral band replication bit-stream;
converting, by a frequency to time converter, the mono down-mix from the subband domain into the time domain; and
core encoding, by a core encoder, the time domain mono down-mix to obtain a core bit-stream.

3. Combined parametric stereo and spectral band replication enhanced audio decoder for decoding an encoded input signal comprising a core encoded audio signal, spectral band replication parameters and parametric stereo parameters, the decoder comprising:
a core decoder for decoding an encoded audio signal to obtain a decoded audio signal;
an analysis filterbank for time to frequency converting the decoded audio signal into a subband domain;
a high frequency generator and an envelope adjuster for generating a full bandwidth audio signal using the spectral band replication parameters in the subband domain;
a parametric stereo synthesis unit for converting the full bandwidth audio signal into a stereo audio signal in the subband domain using the parametric stereo parameters; and
a synthesis filterbank for converting the full bandwidth audio signal from the subband domain into the time domain.

4. Method of combined parametric stereo and spectral band replication enhanced audio decoding an encoded input signal comprising a core encoded audio signal, spectral band replication parameters and parametric stereo parameters, the method comprising:
core decoding, by a core decoder, an encoded audio signal to obtain a decoded audio signal;
time to frequency converting, by an analysis filterbank, the decoded audio signal into a subband domain;
generating by a high frequency generator and an envelope adjuster, a full bandwidth audio signal using the spectral band replication parameters in the subband domain;
converting by a parametric stereo synthesis unit, the full bandwidth audio signal into a stereo audio signal in the subband domain using the parametric stereo parameters; and
converting by a synthesis filterbank, the full bandwidth audio signal from the subband domain into the time domain.

5. A non-transitory computer readable medium having recorded thereon a computer program product comprising code for instructing a computer to perform a method of combined parametric stereo and spectral band replication enhanced audio encoding comprising:
converting a time domain stereo input signal into a subband domain;
calculating parametric stereo parameters for the stereo input signal in the subband domain to obtain a parametric stereo bit-stream;
creating a mono down-mix in the subband domain; estimating spectral band replication parameters of the mono down-mix in the subband domain to obtain a spectral band replication bit-stream;
converting the mono down-mix from the subband domain into the time domain; and
core encoding the time domain mono down-mix to obtain a core bit-stream.

6. A non-transitory computer-readable medium having recorded thereon a computer program product comprising code for instructing a computer to perform a method of combined parametric stereo and spectral band replication enhanced audio decoding an encoded input signal comprising a core encoded audio signal, spectral band replication parameters and parametric stereo parameters, comprising:
core decoding an encoded audio signal to obtain a decoded audio signal;
time to frequency converting the decoded audio signal into a subband domain;
generating a full bandwidth audio signal using the spectral band replication parameters in the subband domain;
converting the full bandwidth audio signal into a stereo audio signal in the subband domain using the parametric stereo parameters; and
converting the full bandwidth audio signal from the subband domain into the time domain.