# Patent

## Title
Audio frame loss concealment

## Abstract

Concealing a lost audio frame of a received audio signal by performing a sinusoidal analysis of a part of a previously received or reconstructed audio signal, wherein the sinusoidal analysis involves identifying frequencies of sinusoidal components of the audio signal, applying a sinusoidal model on a segment of the previously received or reconstructed audio signal, wherein said segment is used as a prototype frame in order to create a substitution frame for a lost audio frame, and creating the substitution frame for the lost audio frame by time-evolving sinusoidal components of the prototype frame, up to the time instance of the lost audio frame, in response to the corresponding identified frequencies.

## Background
CROSS REFERENCE TO RELATED APPLICATIONS
This application is a 35 U.S.C. §371 national stage application of PCT International Application No. PCT/SE2014/050067, filed on 22 Jan. 2014, which itself claims priority to U.S. provisional Application No. 61/760,814, filed 5 Feb. 2013, the disclosure and content of both of which are incorporated by reference herein in its entirety. The above-referenced PCT International Application was published in the English language as International Publication No. WO 2014/123470 A1 on 14 Aug. 2014.


TECHNICAL FIELD
The invention relates generally to a method of concealing a lost audio frame of a received audio signal. The invention also relates to a decoder configured to conceal a lost audio frame of a received coded audio signal. The invention further relates to a receiver comprising a decoder, and to a computer program and a computer program product.
BACKGROUND
A conventional audio communication system transmits speech and audio signals in frames, meaning that the sending side first arranges the audio signal in short segments, i.e. audio signal frames, of e.g. 20-40 ms, which subsequently are encoded and transmitted as a logical unit in e.g. a transmission packet. A decoder at the receiving side decodes each of these units and reconstructs the corresponding audio signal frames, which in turn are finally output as a continuous sequence of reconstructed audio signal samples.
Prior to the encoding, an analog to digital (A/D) conversion may convert the analog speech or audio signal from a microphone into a sequence of digital audio signal samples. Conversely, at the receiving end, a final D/A conversion step typically converts the sequence of reconstructed digital audio signal samples into a time-continuous analog signal for loudspeaker playback.
However, a conventional transmission system for speech and audio signals may suffer from transmission errors, which could lead to a situation in which one or several of the transmitted frames are not available at the receiving side for reconstruction. In that case, the decoder has to generate a substitution signal for each unavailable frame. This may be performed by a so-called audio frame loss concealment unit in the decoder at the receiving side. The purpose of the frame loss concealment is to make the frame loss as inaudible as possible, and hence to mitigate the impact of the frame loss on the reconstructed signal quality.
Conventional frame loss concealment methods may depend on the structure or the architecture of the codec, e.g. by repeating previously received codec parameters. Such parameter repetition techniques are clearly dependent on the specific parameters of the used codec, and may not be easily applicable to other codecs with a different structure. Current frame loss concealment methods may e.g. freeze and extrapolate parameters of a previously received frame in order to generate a substitution frame for the lost frame. The standardized linear predictive codecs AMR and AMR-WB are parametric speech codecs which freeze the earlier received parameters or use some extrapolation thereof for the decoding. In essence, the principle is to have a given model for coding/decoding and to apply the same model with frozen or extrapolated parameters.
Many audio codecs apply a coding frequency domain-technique, which involves applying a coding model on a spectral parameter after a frequency domain transform. The decoder reconstructs the signal spectrum from the received parameters and transforms the spectrum back to a time signal. Typically, the time signal is reconstructed frame by frame, and the frames are combined by overlap-add techniques and potential further processing to form the final reconstructed signal. The corresponding audio frame loss concealment applies the same, or at least a similar, decoding model for lost frames, wherein the frequency domain parameters from a previously received frame are frozen or suitably extrapolated and then used in the frequency-to-time domain conversion.
However, conventional audio frame loss concealment methods may suffer from quality impairments, e.g. since the parameter freezing and extrapolation technique and re-application of the same decoder model for lost frames may not always guarantee a smooth and faithful signal evolution from the previously decoded signal frames to the lost frame. This may lead to audible signal discontinuities with a corresponding quality impact. Thus, audio frame loss concealment with reduced quality impairment is desirable and needed.
SUMMARY
The object of embodiments of the present invention is to address at least some of the problems outlined above, and this object and others are achieved by the method and the arrangements according to the appended independent claims, and by the embodiments according to the dependent claims.
According to one aspect, embodiments provide a method for concealing a lost audio frame, the method comprising a sinusoidal analysis of a part of a previously received or reconstructed audio signal, wherein the sinusoidal analysis involves identifying frequencies of sinusoidal components of the audio signal. Further, a sinusoidal model is applied on a segment of the previously received or reconstructed audio signal, wherein said segment is used as a prototype frame in order to create a substitution frame for a lost audio frame. The creation of the substitution frame involves time-evolution of sinusoidal components of the prototype frame, up to the time instance of the lost audio frame, in response to the corresponding identified frequencies.
According to a second aspect, embodiments provide a decoder configured to conceal a lost audio frame of a received audio signal, the decoder comprising a processor and memory, the memory containing instructions executable by the processor, whereby the decoder is configured to perform a sinusoidal analysis of a part of a previously received or reconstructed audio signal, wherein the sinusoidal analysis involves identifying frequencies of sinusoidal components of the audio signal. The decoder is configured to apply a sinusoidal model on a segment of the previously received or reconstructed audio signal, wherein said segment is used as a prototype frame in order to create a substitution frame for a lost audio frame, and to create the substitution frame by time evolving sinusoidal components of the prototype frame, up to the time instance of the lost audio frame, in response to the corresponding identified frequencies.
According to a third aspect, embodiments provide a decoder configured to conceal a lost audio frame of a received audio signal, the decoder comprising an input unit configured to receive an encoded audio signal, and a frame loss concealment unit. The frame loss concealment unit comprises means for performing a sinusoidal analysis of a part of a previously received or reconstructed audio signal, wherein the sinusoidal analysis involves identifying frequencies of sinusoidal components of the audio signal. The frame loss concealment unit also comprises means for applying a sinusoidal model on a segment of the previously received or reconstructed audio signal, wherein said segment is used as a prototype frame in order to create a substitution frame for a lost audio frame. The frame loss concealment unit further comprises means for creating the substitution frame for the lost audio frame by time-evolving sinusoidal components of the prototype frame, up to the time instance of the lost audio frame, in response to the corresponding identified frequencies.
The decoder may be implemented in a device, such as e.g. a mobile phone.
According to a fourth aspect, embodiments provide a receiver comprising a decoder according to any of the second and the third aspects described above.
According to a fifth aspect, embodiments provide a computer program being defined for concealing a lost audio frame, wherein the computer program comprises instructions which when run by a processor causes the processor to conceal a lost audio frame, in agreement with the first aspect described above.
According to a sixth aspect, embodiments provide a computer program product comprising a computer readable medium storing a computer program according to the above-described fifth aspect.
The advantages of the embodiments described herein are to provide a frame loss concealment method allowing mitigating the audible impact of frame loss in the transmission of audio signals, e.g. of coded speech. A general advantage is to provide a smooth and faithful evolution of the reconstructed signal for a lost frame, wherein the audible impact of frame losses is greatly reduced in comparison to conventional techniques.
Further features and advantages of the teachings in the embodiments of the present application will become clear upon reading the following description and the accompanying drawings.



BRIEF DESCRIPTION OF THE DRAWINGS
The embodiments will be described in more detail and with reference to the accompanying drawings, in which:
FIG. 1 illustrates a typical window function;
FIG. 2 illustrates a specific window function;
FIG. 3 displays an example of a magnitude spectrum of a window function;
FIG. 4 illustrates a line spectrum of an exemplary sinusoidal signal with the frequency fk;
FIG. 5 shows a spectrum of a windowed sinusoidal signal with the frequency fk;
FIG. 6 illustrates bars corresponding to the magnitude of grid points of a DFT, based on an analysis frame;
FIG. 7 illustrates a parabola fitting through DFT grid points;
FIG. 8 is a flow chart of a method according to embodiments;
FIGS. 9 and 10 both illustrate a decoder according to embodiments, and
FIG. 11 illustrates a computer program and a computer program product, according to embodiments.



DETAILED DESCRIPTION
In the following, embodiments of the invention will be described in more detail. For the purpose of explanation and not limitation, specific details are disclosed, such as particular scenarios and techniques, in order to provide a thorough understanding.
Moreover, it is apparent that the exemplary method and devices described below may be implemented, at least partly, by the use of software functioning in conjunction with a programmed microprocessor or general purpose computer, and/or using an application specific integrated circuit (ASIC). Further, the embodiments may also, at least partly, be implemented as a computer program product or in a system comprising a computer processor and a memory coupled to the processor, wherein the memory is encoded with one or more programs that may perform the functions disclosed herein.
A concept of the embodiments described hereinafter comprises a concealment of a lost audio frame by:

    
    
        Performing a sinusoidal analysis of at least part of a previously received or reconstructed audio signal, wherein the sinusoidal analysis involves identifying frequencies of sinusoidal components of the audio signal;
        applying a sinusoidal model on a segment of the previously received or reconstructed audio signal, wherein said segment is used as a prototype frame in order to create a substitution frame for a lost frame, and
        creating the substitution frame involving time-evolution of sinusoidal components of the prototype frame, up to the time instance of the lost audio frame, in response to the corresponding identified frequencies.

Sinusoidal Analysis

    
    


The frame loss concealment according to embodiments involves a sinusoidal analysis of a part of a previously received or reconstructed audio signal. The purpose of this sinusoidal analysis is to find the frequencies of the main sinusoidal components, i.e. sinusoids, of that signal. Hereby, the underlying assumption is that the audio signal was generated by a sinusoidal model and that it is composed of a limited number of individual sinusoids, i.e. that it is a multi-sine signal of the following type:




  
    
      
        
          s
          ⁡
          
            (
            n
            )
          
        
        =
        
          
            ∑
            
              k
              =
              1
            
            K
          
          ⁢
          
            
              a
              k
            
            ·
            
              
                cos
                ⁡
                
                  (
                  
                    
                      2
                      ⁢
                      π
                      ⁢
                      
                        
                          
                            f
                            k
                          
                          
                            f
                            s
                          
                        
                        ·
                        n
                      
                    
                    +
                    
                      φ
                      k
                    
                  
                  )
                
              
              .
            
          
        
      
    
    
      
        (
        6.1
        )
      
    
  




In this equation K is the number of sinusoids that the signal is assumed to consist of. For each of the sinusoids with index k=1 . . . K, ak is the amplitude, fk is the frequency, and φk is the phase. The sampling frequency is denominated by fs and the time index of the time discrete signal samples s(n) by n.
It is important to find as exact frequencies of the sinusoids as possible. While an ideal sinusoidal signal would have a line spectrum with line frequencies fk, finding their true values would in principle require infinite measurement time. Hence, it is in practice difficult to find these frequencies, since they can only be estimated based on a short measurement period, which corresponds to the signal segment used for the sinusoidal analysis according to embodiments described herein; this signal segment is hereinafter referred to as an analysis frame. Another difficulty is that the signal may in practice be time-variant, meaning that the parameters of the above equation vary over time. Hence, on the one hand it is desirable to use a long analysis frame making the measurement more accurate; on the other hand a short measurement period would be needed in order to better cope with possible signal variations. A good trade-off is to use an analysis frame length in the order of e.g. 20-40 ms.
According to a preferred embodiment, the frequencies of the sinusoids fk are identified by a frequency domain analysis of the analysis frame. To this end, the analysis frame is transformed into the frequency domain, e.g. by means of DFT (Discrete Fourier Transform) or DCT (Discrete Cosine Transform), or a similar frequency domain transform. In case a DFT of the analysis frame is used, the spectrum is given by:




  
    
      
        
          X
          ⁡
          
            (
            m
            )
          
        
        =
        
          
            DFT
            ⁡
            
              (
              
                
                  w
                  ⁡
                  
                    (
                    n
                    )
                  
                
                ·
                
                  x
                  ⁡
                  
                    (
                    n
                    )
                  
                
              
              )
            
          
          =
          
            
              ∑
              
                n
                =
                0
              
              
                L
                -
                1
              
            
            ⁢
            
              
                e
                
                  
                    -
                    j
                  
                  ⁢
                  
                    
                      2
                      ⁢
                      π
                    
                    L
                  
                  ⁢
                  mn
                
              
              ·
              
                w
                ⁡
                
                  (
                  n
                  )
                
              
              ·
              
                
                  x
                  ⁡
                  
                    (
                    n
                    )
                  
                
                .
              
            
          
        
      
    
    
      
        (
        6.2
        )
      
    
  




In this equation, w(n) denotes the window function with which the analysis frame of length L is extracted and weighted.
FIG. 1 illustrates a typical window function, i.e. a rectangular window which is equal to 1 for n ε [0 . . . L−1] and otherwise 0. It is assumed that the time indexes of the previously received audio signal are set such that the prototype frame is referenced by the time indexes n=0 . . . L−1. Other window functions that may be more suitable for spectral analysis are e.g. Hamming, Hanning, Kaiser or Blackman.
FIG. 2 illustrates a more useful window function, which is a combination of the Hamming window and the rectangular window. The window illustrated in FIG. 2 has a rising edge shape like the left half of a Hamming window of length L1 and a falling edge shape like the right half of a Hamming window of length L1 and between the rising and falling edges the window is equal to 1 for the length of L−L1.
The peaks of the magnitude spectrum of the windowed analysis frame |X(m)| constitute an approximation of the required sinusoidal frequencies fk. The accuracy of this approximation is however limited by the frequency spacing of the DFT. With the DFT with block length L the accuracy is limited to




  
    
      f
      s
    
    
      2
      ⁢
      L
    
  
  .




However, this level of accuracy may be too low in the scope of the method according the embodiments described herein, and an improved accuracy can be obtained based on the results of the following consideration:
The spectrum of the windowed analysis frame is given by the convolution of the spectrum of the window function with the line spectrum of a sinusoidal model signal S(Ω), subsequently sampled at the grid points of the DFT:




  
    
      
        
          X
          ⁡
          
            (
            m
            )
          
        
        =
        
          
            ∫
            
              2
              ⁢
              π
            
          
          ⁢
          
            
              
                δ
                (
                
                  Ω
                  -
                  
                    m
                    ·
                    
                      
                        2
                        ⁢
                        π
                      
                      L
                    
                  
                
                ⁢
                
                  
                
                )
              
              ·
              
                (
                
                  
                    W
                    ⁡
                    
                      (
                      Ω
                      )
                    
                  
                  *
                  
                    S
                    ⁡
                    
                      (
                      Ω
                      )
                    
                  
                
                )
              
              ·
              d
            
            ⁢
            
              
            
            ⁢
            
              Ω
              .
            
          
        
      
    
    
      
        (
        6.3
        )
      
    
  




By using the spectrum expression of the sinusoidal model signal, this can be written as




  
    
      
        
          X
          ⁡
          
            (
            m
            )
          
        
        =
        
          
            1
            2
          
          ⁢
          
            
              ∫
              
                2
                ⁢
                π
              
            
            ⁢
            
              
                δ
                (
                
                  Ω
                  -
                  
                    m
                    ·
                    
                      
                        2
                        ⁢
                        π
                      
                      L
                    
                  
                
                ⁢
                
                  
                
                )
              
              ·
              
                
                  ∑
                  
                    k
                    =
                    1
                  
                  K
                
                ⁢
                
                  
                    a
                    k
                  
                  ·
                  
                    (
                    
                      
                        
                          (
                          
                            
                              
                                W
                                ⁡
                                
                                  (
                                  
                                    Ω
                                    +
                                    
                                      2
                                      ⁢
                                      π
                                      ⁢
                                      
                                        
                                          f
                                          k
                                        
                                        
                                          f
                                          s
                                        
                                      
                                    
                                  
                                  )
                                
                              
                              ·
                              
                                e
                                
                                  
                                    -
                                    j
                                  
                                  ⁢
                                  
                                    
                                  
                                  ⁢
                                  
                                    φ
                                    k
                                  
                                
                              
                            
                            +
                            
                              
                                W
                                ⁡
                                
                                  (
                                  
                                    Ω
                                    -
                                    
                                      2
                                      ⁢
                                      π
                                      ⁢
                                      
                                        
                                          f
                                          k
                                        
                                        
                                          f
                                          s
                                        
                                      
                                    
                                  
                                  )
                                
                              
                              ·
                              
                                e
                                
                                  j
                                  ⁢
                                  
                                    
                                  
                                  ⁢
                                  
                                    φ
                                    k
                                  
                                
                              
                            
                          
                          )
                        
                        ·
                        d
                      
                      ⁢
                      
                        
                      
                      ⁢
                      
                        Ω
                        .
                      
                    
                  
                
              
            
          
        
      
    
    
      
        (
        6.4
        )
      
    
  




Hence, the sampled spectrum is given by




  
    
      
        
          
            X
            ⁡
            
              (
              m
              )
            
          
          =
          
            
              1
              2
            
            ⁢
            
              
                ∑
                
                  k
                  =
                  1
                
                K
              
              ⁢
              
                
                  a
                  k
                
                ·
                
                  (
                  
                    (
                    
                      
                        
                          W
                          ⁡
                          
                            (
                            
                              2
                              ⁢
                              
                                π
                                ⁡
                                
                                  (
                                  
                                    
                                      m
                                      L
                                    
                                    +
                                    
                                      
                                        f
                                        k
                                      
                                      
                                        f
                                        s
                                      
                                    
                                  
                                  )
                                
                              
                            
                            )
                          
                        
                        ·
                        
                          e
                          
                            
                              -
                              j
                            
                            ⁢
                            
                              
                            
                            ⁢
                            
                              φ
                              k
                            
                          
                        
                      
                      +
                      
                        
                          W
                          ⁡
                          
                            (
                            
                              2
                              ⁢
                              
                                π
                                ⁡
                                
                                  (
                                  
                                    
                                      m
                                      L
                                    
                                    -
                                    
                                      
                                        f
                                        k
                                      
                                      
                                        f
                                        s
                                      
                                    
                                  
                                  )
                                
                              
                            
                            )
                          
                        
                        ·
                        
                          e
                          
                            j
                            ⁢
                            
                              
                            
                            ⁢
                            
                              φ
                              k
                            
                          
                        
                      
                    
                    )
                  
                  )
                
              
            
          
        
        ,
      
    
    
      
        (
        6.5
        )
      
    
  




    
    
        with m=0 . . . L−1.
    
    


Based on this, the observed peaks in the magnitude spectrum of the analysis frame stem from a windowed sinusoidal signal with K sinusoids, where the true sinusoid frequencies are found in the vicinity of the peaks. Thus, the identifying of frequencies of sinusoidal components may further involve identifying frequencies in the vicinity of the peaks of the spectrum related to the used frequency domain transform.
If mk is assumed to be a DFT index (grid point) of the observed kth peak, then the corresponding frequency is




  
    
      f
      ^
    
    k
  
  =
  
    
      
        m
        k
      
      L
    
    ·
    
      f
      s
    
  




which can be regarded an approximation of the true sinusoidal frequency fk. The true sinusoid frequency fk can be assumed to lie within the interval





  
    [
    
      
        
          (
          
            
              m
              k
            
            -
            
              1
              2
            
          
          )
        
        ·
        
          
            f
            s
          
          L
        
      
      ,
      
        
          (
          
            
              m
              k
            
            +
            
              1
              2
            
          
          )
        
        ·
        
          
            f
            s
          
          L
        
      
    
    ]
  
  .




For clarity it is noted that the convolution of the spectrum of the window function with the spectrum of the line spectrum of the sinusoidal model signal can be understood as a superposition of frequency-shifted versions of the window function spectrum, whereby the shift frequencies are the frequencies of the sinusoids. This superposition is then sampled at the DFT grid points. The convolution of the spectrum of the window function with the spectrum of the line spectrum of the sinusoidal model signal are illustrated in the FIG. 3-FIG. 7, of which FIG. 3 displays an example of the magnitude spectrum of a window function, and FIG. 4 the magnitude spectrum (line spectrum) of an example sinusoidal signal with a single sinusoid with a frequency fk. FIG. 5 shows the magnitude spectrum of the windowed sinusoidal signal that replicates and superposes the frequency-shifted window spectra at the frequencies of the sinusoid, and the bars in FIG. 6 correspond to the magnitude of the grid points of the DFT of the windowed sinusoid that are obtained by calculating the DFT of the analysis frame. Note that all spectra are periodic with the normalized frequency parameter Ω where Ω=2π that corresponds to the sampling frequency fs.
Based on the above discussion, and based on the illustration in FIG. 6, a better approximation of the true sinusoidal frequencies may be found by increasing the resolution of the search, such that it is larger than the frequency resolution of the used frequency domain transform.
Thus, the identifying of frequencies of sinusoidal components is preferably performed with higher resolution than the frequency resolution of the used frequency domain transform, and the identifying may further involve interpolation.
One exemplary preferred way to find a better approximation of the frequencies fk of the sinusoids is to apply parabolic interpolation. One approach is to fit parabolas through the grid points of the DFT magnitude spectrum that surround the peaks and to calculate the respective frequencies belonging to the parabola maxima, and an exemplary suitable choice for the order of the parabolas is 2. In more detail, the following procedure may be applied:
1) Identifying the peaks of the DFT of the windowed analysis frame. The peak search will deliver the number of peaks K and the corresponding DFT indexes of the peaks. The peak search can typically be made on the DFT magnitude spectrum or the logarithmic DFT magnitude spectrum.
2) For each peak k (with k=1 . . . K) with corresponding DFT index mk, fitting a parabola through the three points {P1; P2; P3}={(mk−1, log(|X(mk−1)|); (mk, log(|X(mk)|); (mk+1, log(|X(mk+1)|)}. This results in parabola coefficients bk(0), bk(1), bk(2) of the parabola defined by




  
    
      p
      k
    
    ⁡
    
      (
      q
      )
    
  
  =
  
    
      ∑
      
        i
        =
        0
      
      2
    
    ⁢
    
      
        
          b
          k
        
        ⁡
        
          (
          i
          )
        
      
      ·
      
        
          q
          i
        
        .
      
    
  




FIG. 7 illustrates the parabola fitting through DFT grid points P1, P2 and P3.
3) For each of the K parabolas, calculating the interpolated frequency index {circumflex over (m)}k corresponding to the value of q for which the parabola has its maximum, wherein {circumflex over (f)}k={circumflex over (m)}k·fs/L is used as an approximation for the sinusoid frequency fk.
Applying a Sinusoidal Model
The application of a sinusoidal model in order to perform a frame loss concealment operation according to embodiments may be described as follows:
In case a given segment of the coded signal cannot be reconstructed by the decoder since the corresponding encoded information is not available, i.e. since a frame has been lost, an available part of the signal prior to this segment may be used as prototype frame. If y(n) with n=0 . . . N−1 is the unavailable segment for which a substitution frame z(n) has to be generated, and y(n) with n<0 is the available previously decoded signal, a prototype frame of the available signal of length L and start index n−1 is extracted with a window function w(n) and transformed into frequency domain, e.g. by means of DFT:




  
    
      Y
      
        -
        1
      
    
    ⁡
    
      (
      m
      )
    
  
  =
  
    
      ∑
      
        n
        =
        0
      
      
        L
        -
        1
      
    
    ⁢
    
      
        y
        ⁡
        
          (
          
            n
            -
            
              n
              
                -
                1
              
            
          
          )
        
      
      ·
      
        w
        ⁡
        
          (
          n
          )
        
      
      ·
      
        
          e
          
            
              -
              j
            
            ⁢
            
              
                2
                ⁢
                π
              
              L
            
            ⁢
            nm
          
        
        .
      
    
  




The window function can be one of the window functions described above in the sinusoidal analysis. Preferably, in order to save numerical complexity, the frequency domain transformed frame should be identical with the one used during sinusoidal analysis.
In a next step the sinusoidal model assumption is applied. According to the sinusoidal model assumption, the DFT of the prototype frame can be written as follows:




  
    
      Y
      
        -
        1
      
    
    ⁡
    
      (
      m
      )
    
  
  =
  
    
      1
      2
    
    ⁢
    
      
        ∑
        
          k
          =
          1
        
        K
      
      ⁢
      
        
          a
          k
        
        ·
        
          
            (
            
              (
              
                
                  
                    W
                    ⁡
                    
                      (
                      
                        2
                        ⁢
                        
                          π
                          ⁡
                          
                            (
                            
                              
                                m
                                L
                              
                              +
                              
                                
                                  f
                                  k
                                
                                
                                  f
                                  s
                                
                              
                            
                            )
                          
                        
                      
                      )
                    
                  
                  ·
                  
                    e
                    
                      
                        -
                        j
                      
                      ⁢
                      
                        
                      
                      ⁢
                      
                        φ
                        k
                      
                    
                  
                
                +
                
                  
                    W
                    ⁡
                    
                      (
                      
                        2
                        ⁢
                        
                          π
                          ⁡
                          
                            (
                            
                              
                                m
                                L
                              
                              -
                              
                                
                                  f
                                  k
                                
                                
                                  f
                                  s
                                
                              
                            
                            )
                          
                        
                      
                      )
                    
                  
                  ·
                  
                    e
                    
                      j
                      ⁢
                      
                        
                      
                      ⁢
                      
                        φ
                        k
                      
                    
                  
                
              
              )
            
            )
          
          .
        
      
    
  




This expression was also used in the analysis part and is described in detail above.
Next, it is realized that the spectrum of the used window function has only a significant contribution in a frequency range close to zero. As illustrated in FIG. 3 the magnitude spectrum of the window function is large for frequencies close to zero and small otherwise (within the normalized frequency range from −π to π, corresponding to half the sampling frequency. Hence, as an approximation it is assumed that the window spectrum W(m) is non-zero only for an interval M=[−mmin, mmax], with mmin and mmax being small positive numbers. In particular, an approximation of the window function spectrum is used such that for each k the contributions of the shifted window spectra in the above expression are strictly non-overlapping. Hence in the above equation for each frequency index there is always only at maximum the contribution from one summand, i.e. from one shifted window spectrum. This means that the expression above reduces to the following approximate expression:




  
    
      
        Y
        ~
      
      
        -
        1
      
    
    ⁡
    
      (
      m
      )
    
  
  =
  
    
      
        a
        k
      
      2
    
    ·
    
      W
      ⁡
      
        (
        
          2
          ⁢
          
            π
            ⁡
            
              (
              
                
                  m
                  L
                
                -
                
                  
                    f
                    k
                  
                  
                    f
                    s
                  
                
              
              )
            
          
        
        )
      
    
    ·
    
      e
      
        j
        ⁢
        
          
        
        ⁢
        
          φ
          k
        
      
    
  




for non-negative m ε Mk and for each k. Herein, Mk denotes the integer interval





  
    
      
        M
        k
      
      =
      
        [
        
          
            
              round
              ⁡
              
                (
                
                  
                    
                      f
                      k
                    
                    
                      f
                      s
                    
                  
                  ·
                  L
                
                )
              
            
            -
            
              m
              
                min
                ,
                k
              
            
          
          ,
          
            
              round
              ⁡
              
                (
                
                  
                    
                      f
                      k
                    
                    
                      f
                      s
                    
                  
                  ·
                  L
                
                )
              
            
            +
            
              m
              
                max
                ,
                k
              
            
          
        
        ]
      
    
    ]
  
  ,




where mmin,k and mmax,k fulfill the above explained constraint such that the intervals are not overlapping. A suitable choice for mmin,k and mmax,k is to set them to a small integer value, e.g. δ=3. If however the DFT indices related to two neighboring sinusoidal frequencies fk and fk+1 are less than 2δ, then δ is set to





  floor
  (
  
    
      
        round
        ⁡
        
          (
          
            
              
                f
                
                  k
                  +
                  1
                
              
              
                f
                s
              
            
            ·
            L
          
          )
        
      
      -
      
        round
        ⁡
        
          (
          
            
              
                f
                k
              
              
                f
                s
              
            
            ·
            L
          
          )
        
      
    
    2
  
  )




such that it is ensured that the intervals are not overlapping. The function floor(·) is the closest integer to the function argument that is smaller or equal to it.

The next step according to embodiments is to apply the sinusoidal model according to the above expression and to evolve its K sinusoids in time. The assumption that the time indices of the erased segment compared to the time indices of the prototype frame differs n−1 samples means that the phases of the sinusoids advance by




  
    θ
    k
  
  =
  
    2
    ⁢
    
      π
      ·
      
        
          f
          k
        
        
          f
          s
        
      
    
    ⁢
    
      
        n
        
          -
          1
        
      
      .
    
  




Hence, the DFT spectrum of the evolved sinusoidal model is given by:




  
    
      Y
      0
    
    ⁡
    
      (
      m
      )
    
  
  =
  
    
      1
      2
    
    ⁢
    
      
        ∑
        
          k
          =
          1
        
        K
      
      ⁢
      
        
          a
          k
        
        ·
        
          
            (
            
              (
              
                
                  
                    W
                    ⁡
                    
                      (
                      
                        2
                        ⁢
                        
                          π
                          ⁡
                          
                            (
                            
                              
                                m
                                L
                              
                              +
                              
                                
                                  f
                                  k
                                
                                
                                  f
                                  s
                                
                              
                            
                            )
                          
                        
                      
                      )
                    
                  
                  ·
                  
                    e
                    
                      -
                      
                        j
                        ⁡
                        
                          (
                          
                            
                              φ
                              k
                            
                            +
                            
                              θ
                              k
                            
                          
                          )
                        
                      
                    
                  
                
                +
                
                  
                    W
                    ⁡
                    
                      (
                      
                        2
                        ⁢
                        
                          π
                          ⁡
                          
                            (
                            
                              
                                m
                                L
                              
                              -
                              
                                
                                  f
                                  k
                                
                                
                                  f
                                  s
                                
                              
                            
                            )
                          
                        
                      
                      )
                    
                  
                  ·
                  
                    e
                    
                      j
                      ⁡
                      
                        (
                        
                          
                            φ
                            k
                          
                          +
                          
                            θ
                            k
                          
                        
                        )
                      
                    
                  
                
              
              )
            
            )
          
          .
        
      
    
  




Applying again the approximation according to which the shifted window function spectra do no overlap gives:




  
    
      
        Y
        ~
      
      0
    
    ⁡
    
      (
      m
      )
    
  
  =
  
    
      
        a
        k
      
      2
    
    ·
    
      W
      ⁡
      
        (
        
          2
          ⁢
          
            π
            ⁡
            
              (
              
                
                  m
                  L
                
                -
                
                  
                    f
                    k
                  
                  
                    f
                    s
                  
                
              
              )
            
          
        
        )
      
    
    ·
    
      e
      
        j
        ⁡
        
          (
          
            
              φ
              k
            
            +
            
              θ
              k
            
          
          )
        
      
    
  




for non-negative m ε Mk and for each k.

Comparing the DFT of the prototype frame Y−1(m) with the DFT of evolved sinusoidal model Y0(m) by using the approximation, it is found that the magnitude spectrum remains unchanged while the phase is shifted by




  
    
      θ
      k
    
    =
    
      2
      ⁢
      
        π
        ·
        
          
            f
            k
          
          
            f
            s
          
        
      
      ⁢
      
        n
        
          -
          1
        
      
    
  
  ,




for each m ε Mk. Hence, the substitution frame can be calculated by the following expression:

z(n)=IDFT{Z(m)} with Z(m)=Y(m)×efθk for non-negative mεMk and for each k. 

A specific embodiment addresses phase randomization for DFT indices not belonging to any interval Mk. As described above, the intervals Mk, k=1 . . . K have to be set such that they are strictly non-overlapping which is done using some parameter δ which controls the size of the intervals. It may happen that δ is small in relation to the frequency distance of two neighboring sinusoids. Hence, in that case it happens that there is a gap between two intervals. Consequently, for the corresponding DFT indices m no phase shift according to the above expression Z(m)=Y(m)·efθk is defined. A suitable choice according to this embodiment is to randomize the phase for these indices, yielding Z(m)=Y(m)·ef2πrand(·), where the function rand (·) returns some random number.
Based on the above, FIG. 8 is a flow chart illustrating an exemplary audio frame loss concealment method according to embodiments:
In step 81, a sinusoidal analysis of a part of a previously received or reconstructed audio signal is performed, wherein the sinusoidal analysis involves identifying frequencies of sinusoidal components, i.e. sinusoids, of the audio signal. Next, in step 82, a sinusoidal model is applied on a segment of the previously received or reconstructed audio signal, wherein said segment is used as a prototype frame in order to create a substitution frame for a lost audio frame, and in step 83 the substitution frame for the lost audio frame is created, involving time-evolution of sinusoidal components, i.e. sinusoids, of the prototype frame, up to the time instance of the lost audio frame, in response to the corresponding identified frequencies.
According to a further embodiment, it is assumed that the audio signal is composed of a limited number of individual sinusoidal components, and that the sinusoidal analysis is performed in the frequency domain. Further, the identifying of frequencies of sinusoidal components may involve identifying frequencies in the vicinity of the peaks of a spectrum related to the used frequency domain transform.
According to an exemplary embodiment, the identifying of frequencies of sinusoidal components is performed with higher resolution than the resolution of the used frequency domain transform, and the identifying may further involve interpolation, e.g. of parabolic type.
According to an exemplary embodiment, the method comprises extracting a prototype frame from an available previously received or reconstructed signal using a window function, and wherein the extracted prototype frame may be transformed into a frequency domain.
A further embodiment involves an approximation of a spectrum of the window function, such that the spectrum of the substitution frame is composed of strictly non-overlapping portions of the approximated window function spectrum.
According to a further exemplary embodiment, the method comprises time-evolving sinusoidal components of a frequency spectrum of a prototype frame by advancing the phase of the sinusoidal components, in response to the frequency of each sinusoidal component and in response to the time difference between the lost audio frame and the prototype frame, and changing a spectral coefficient of the prototype frame included in an interval Mk in the vicinity of a sinusoid k by a phase shift proportional to the sinusoidal frequency fk and to the time difference between the lost audio frame and the prototype frame.
A further embodiment comprises changing the phase of a spectral coefficient of the prototype frame not belonging to an identified sinusoid by a random phase, or changing the phase of a spectral coefficient of the prototype frame not included in any of the intervals related to the vicinity of the identified sinusoid by a random value.
An embodiment further involves an inverse frequency domain transform of the frequency spectrum of the prototype frame.
More specifically, the audio frame loss concealment method according to a further embodiment may involve the following steps:
1) Analyzing a segment of the available, previously synthesized signal to obtain the constituent sinusoidal frequencies fk of a sinusoidal model.
2) Extracting a prototype frame y−1 from the available previously synthesized signal and calculate the DFT of that frame.
3) Calculating the phase shift θk for each sinusoid k in response to the sinusoidal frequency fk and the time advance n−1 between the prototype frame and the substitution frame.
4) For each sinusoid k advancing the phase of the prototype frame DFT with θk selectively for the DFT indices related to a vicinity around the sinusoid frequency fk.
5) Calculating the inverse DFT of the spectrum obtained 4).
The embodiments describe above may be further explained by the following assumptions:
a) The assumption that the signal can be represented by a limited number of sinusoids.
b) The assumption that the substitution frame is sufficiently well represented by these sinusoids evolved in time, in comparison to some earlier time instant.
c) The assumption of an approximation of the spectrum of a window function such that the spectrum of the substitution frame can be built up by non-overlapping portions of frequency shifted window function spectra, the shift frequencies being the sinusoid frequencies.
FIG. 9 is a schematic block diagram illustrating an exemplary decoder 1 configured to perform a method of audio frame loss concealment according to embodiments. The illustrated decoder comprises one or more processor 11 and adequate software with suitable storage or memory 12. The incoming encoded audio signal is received by an input (IN), to which the processor 11 and the memory 12 are connected. The decoded and reconstructed audio signal obtained from the software is outputted from the output (OUT). An exemplary decoder is configured to conceal a lost audio frame of a received audio signal, and comprises a processor 11 and memory 12, wherein the memory contains instructions executable by the processor 11, and whereby the decoder 1 is configured to:

    
    
        perform a sinusoidal analysis of a part of a previously received or reconstructed audio signal, wherein the sinusoidal analysis involves identifying frequencies of sinusoidal components of the audio signal;
        apply a sinusoidal model on a segment of the previously received or reconstructed audio signal, wherein said segment is used as a prototype frame in order to create a substitution frame for a lost audio frame, and
        create the substitution frame for the lost audio frame by time-evolving sinusoidal components of the prototype frame, up to the time instance of the lost audio frame, in response to the corresponding identified frequencies.
    
    


According to a further embodiment of the decoder, the applied sinusoidal model assumes that the audio signal is composed of a limited number of individual sinusoidal components, and the identifying of frequencies of sinusoidal components of the audio signal may further comprise a parabolic interpolation.
According to a further embodiment, the decoder is configured to extract a prototype frame from an available previously received or reconstructed signal using a window function, and to transform the extracted prototype frame into a frequency domain.
According to a still further embodiment, the decoder is configured to time-evolve sinusoidal components of a frequency spectrum of a prototype frame by advancing the phase of the sinusoidal components, in response to the frequency of each sinusoidal component and in response to the time difference between the lost audio frame and the prototype frame, and to create the substitution frame by performing an inverse frequency transform of the frequency spectrum.
A decoder according to an alternative embodiment is illustrated in FIG. 10a, comprising an input unit configured to receive an encoded audio signal. The figure illustrates the frame loss concealment by a logical frame loss concealment-unit 13, wherein the decoder 1 is configured to implement a concealment of a lost audio frame according to embodiments described above. The logical frame loss concealment unit 13 is further illustrated in FIG. 10b, and it comprises suitable means for concealing a lost audio frame, i.e. means 14 for performing a sinusoidal analysis of a part of a previously received or reconstructed audio signal, wherein the sinusoidal analysis involves identifying frequencies of sinusoidal components of the audio signal, means 15 for applying a sinusoidal model on a segment of the previously received or reconstructed audio signal, wherein said segment is used as a prototype frame in order to create a substitution frame for a lost audio frame, and means 16 for creating the substitution frame for the lost audio frame by time-evolving sinusoidal components of the prototype frame, up to the time instance of the lost audio frame, in response to the corresponding identified frequencies.
The units and means included in the decoder illustrated in the figures may be implemented at least partly in hardware, and there are numerous variants of circuitry elements that can be used and combined to achieve the functions of the units of the decoder. Such variants are encompassed by the embodiments. A particular example of hardware implementation of the decoder is implementation in digital signal processor (DSP) hardware and integrated circuit technology, including both general-purpose electronic circuitry and application-specific circuitry.
A computer program according to embodiments of the present invention comprises instructions which when run by a processor causes the processor to perform a method according to a method described in connection with FIG. 8. FIG. 11 illustrates a computer program product 9 according to embodiments, in the form of a non-volatile memory, e.g. an EEPROM (Electrically Erasable Programmable Read-Only Memory), a flash memory or a disk drive. The computer program product comprises a computer readable medium storing a computer program 91, which comprises computer program modules 91a, b, c, d which when run on a decoder 1 causes a processor of the decoder to perform the steps according to FIG. 8.
A decoder according to embodiments of this invention may be used e.g. in a receiver for a mobile device, e.g. a mobile phone or a laptop, or in a receiver for a stationary device, e.g. a personal computer.
Advantages of the embodiments described herein are to provide a frame loss concealment method allowing mitigating the audible impact of frame loss in the transmission of audio signals, e.g. of coded speech. A general advantage is to provide a smooth and faithful evolution of the reconstructed signal for a lost frame, wherein the audible impact of frame losses is greatly reduced in comparison to conventional techniques.
It is to be understood that the choice of interacting units or modules, as well as the naming of the units are only for exemplary purpose, and may be configured in a plurality of alternative ways in order to be able to execute the disclosed process actions. It should also be noted that the units or modules described in this disclosure are to be regarded as logical entities and not with necessity as separate physical entities. It will be appreciated that the scope of the technology disclosed herein fully encompasses other embodiments which may become obvious to those skilled in the art, and that the scope of this disclosure is accordingly not to be limited.

## Claims

1. A method of approximating a lost audio frame of a received audio signal in a decoding device comprising a processor, the method comprising the following operations performed by the processor:
extracting a segment from a previously received or reconstructed audio signal, as a prototype frame;
transforming the prototype frame into a frequency domain representation;
generating a phase-adjusted frequency spectrum of the prototype frame by:
performing a sinusoidal analysis of the segment from a previously received or reconstructed audio signal, wherein the sinusoidal analysis involves identifying frequencies of sinusoidal components of the audio signal;
changing first spectral coefficients of the prototype frame included in an interval Mk around a sinusoid k by a phase shift proportional to the sinusoidal frequency fk and to a time difference between the lost audio frame and the prototype frame and retaining, without attenuation, magnitudes of the first spectral coefficients; and
changing a phase of a second spectral coefficient of the prototype frame by a random value, and retaining, without attenuation, a magnitude of the second spectral coefficient;
generating a substitution frame for the lost audio frame by performing an inverse frequency domain transformation of the phase-adjusted frequency spectrum of the prototype frame comprising the unattenuated first and second spectral coefficients; and
providing by the processor a decoded and reconstructed audio signal through output circuitry of the decoding device for speaker playback, wherein the decoded and reconstructed audio signal is provided using the previously received or reconstructed audio signal and the substitution frame for the lost audio frame.

2. The method of claim 1, wherein said performing a sinusoidal analysis of the segment from a previously received or reconstructed audio signal comprises performing a sinusoidal analysis of the frequency domain representation of the prototype frame.

3. The method of claim 1, wherein said identifying frequencies of sinusoidal components of the audio signal comprises identifying frequencies in vicinities of peaks of the frequency domain representation of the prototype frame.

4. The method of claim 3, wherein said identifying frequencies of sinusoidal components of the audio signal is performed at a higher resolution than a frequency resolution of a frequency domain transform used during said transforming the prototype frame into a frequency domain representation.

5. The method of claim 4, wherein said identifying frequencies of sinusoidal components of the audio signal comprises performing an interpolation.

6. The method of claim 5, wherein the interpolation is of a parabolic type.

7. The method of claim 1, wherein said extracting a segment from a previously received or reconstructed audio signal comprises extracting a segment from a previously received or reconstructed audio signal using a window function.

8. The method of claim 7, wherein said using a window function comprises approximating a window function spectrum such that a phase-adjusted frequency spectrum is composed of strictly non-overlapping portions of the approximated window function spectrum.

9. A decoding device configured to conceal a lost audio frame of a received audio signal, said decoding device comprising;
a processor; and
memory communicatively coupled to the processor, said memory comprising instructions executable by the processor, which cause the processor to:
extract a segment from a previously received or reconstructed audio signal, as a prototype frame;
transform the prototype frame into a frequency domain representation;
generate a phase-adjusted frequency spectrum of the prototype frame by:
performing a sinusoidal analysis of the segment from a previously received or reconstructed audio signal, wherein the sinusoidal analysis involves identifying frequencies of sinusoidal components of the audio signal;
changing first spectral coefficients of the prototype frame included in an interval Mk around a sinusoid k by a phase shift proportional to the sinusoidal frequency fk and to a time difference between the lost audio frame and the prototype frame and retaining, without attenuation, magnitudes of the first spectral coefficients; and
changing a phase of a second spectral coefficient of the prototype frame by a random value, and retaining, without attenuation, a magnitude of the second spectral coefficient;
generate a substitution frame for the lost audio frame by performing an inverse frequency domain transformation of the phase-adjusted frequency spectrum of the prototype frame comprising the unattenuated first and second spectral coefficients; and
provide a decoded and reconstructed audio signal through output circuitry of the decoding device for speaker playback, wherein the decoded and reconstructed audio signal is provided using the previously received or reconstructed audio signal and the substitution frame for the lost audio frame.

10. The decoding device of claim 9, wherein said identifying frequencies of sinusoidal components of the audio signal comprises identifying frequencies in vicinities of peaks of the frequency domain representation of the prototype frame.

11. The decoding device of claim 10, wherein said identifying frequencies of sinusoidal components of the audio signal comprises performing a parabolic interpolation.

12. The decoding device of claim 9, wherein said extracting a segment from a previously received or reconstructed audio signal comprises extracting a segment from a previously received or reconstructed audio signal using a window function.

13. The decoding device of claim 12, wherein said using a window function comprises approximating a window function spectrum such that a phase-adjusted frequency spectrum is composed of strictly non-overlapping portions of the approximated window function spectrum.

14. A decoding device configured to approximate a lost audio frame of a received audio signal, said decoding device comprising:
input circuitry configured to receive an encoded audio signal; and
frame loss approximation circuitry connected to the input circuitry, said frame loss approximation circuitry configured to:
extract a segment from a previously received or reconstructed audio signal, as a prototype frame;
transform the prototype frame into a frequency domain representation;

generate a phase-adjusted frequency spectrum of the prototype frame by:
performing a sinusoidal analysis of the segment from a previously received or reconstructed audio signal, wherein the sinusoidal analysis involves identifying frequencies of sinusoidal components of the audio signal;
changing first spectral coefficients of the prototype frame included in an interval Mk around a sinusoid k by a phase shift proportional to the sinusoidal frequency fk and to a time difference between the lost audio frame and the prototype frame and retaining, without attenuation, magnitudes of the first spectral coefficients; and
changing a phase of a second spectral coefficient of the prototype frame by a random value, and retaining, without attenuation, a magnitude of the second spectral coefficient;
generate a substitution frame for the lost audio frame by performing an inverse frequency domain transformation of the phase-adjusted frequency spectrum of the prototype frame comprising the unattenuated first and second spectral coefficients; and
provide a decoded and reconstructed audio signal through output circuitry of the decoding device for speaker playback, wherein the decoded and reconstructed audio signal is provided using the previously received or reconstructed audio signal and the substitution frame for the lost audio frame.

15. A receiver comprising a decoding device according to claim 9.

16. A computer program product comprising a non-transitory computer readable storage medium storing instructions which, when run by a processor, causes the processor to perform a method according to claim 1.