Patent Description:
Modern telecommunication services generally provide reliable connections between the end users. However, such services still need to handle varying channel conditions where occasional data packets may be lost due to e.g. network congestion or poor cell coverage. To overcome the problem of transmission errors and lost packages, telecommunication services may make use of Packet Loss Concealment techniques (PLC). In the case that data packets are lost due to poor connection, network congestion, etc., the missing information of lost packets in the receiver side may be substituted in the decoder by a synthetic signal. PLC techniques may often be tied closely to the decoder, where the internal states can be used to produce a signal continuation or extrapolation to cover the packet loss. For a multi-mode codec having several operating modes for different signal types, there are often several PLC technologies to handle the concealment. There are many different terms used for the packet loss concealment techniques, including Frame Error Concealment (FEC), Frame Loss Concealment (FLC), and Error Concealment Unit (ECU).

For linear prediction (LP) based speech coding modes, the PLC may be based on adjustment of glottal pulse positions using estimated end-of-frame pitch information and replication of pitch cycle of the previous frame [<NUM>]. The gain of the long-term predictor (LTP) converges to zero with the speed depending on the number of consecutive lost frames and the stability of the last good, i.e. error free, frame [<NUM>]. Frequency domain (FD) based coding modes are designed to handle general or complex signals such as music. Different techniques may be used depending on the characteristics of last received frame. Such analysis may include the number of detected tonal components and periodicity of the signal. If the frame loss occurs during a highly periodic signal such as active speech or single instrumental music, a time domain PLC, similar to the LP based PLC, may be suitable. In this case the FD PLC may mimic an LP decoder by estimating LP parameters and an excitation signal based on the last received frame [<NUM>]. In case the lost frame occurs during a non-periodic or noise-like signal, the last received frame may be repeated in spectral domain where the coefficients are multiplied to a random sign signal to reduce the metallic sound of a repeated signal. For a stationary tonal signal, it has been found advantageous to use an approach based on prediction and extrapolation of the detected tonal components. More details about the above-mentioned techniques can be found in [<NUM>][<NUM>][<NUM>].

A generic error concealment method operating in the frequency domain is the Phase ECU (Error Concealment Unit) [<NUM>]. The Phase ECU is a stand-alone tool operating on a buffer of the previously decoded and reconstructed time domain signal. The framework of the Phase ECU is based on the sinusoidal analysis and synthesis paradigm. In this method, the sinusoid components of the last good frame may be extracted and phase shifted. When a frame is lost, the sinusoid frequencies are obtained in DFT (discrete Fourier transform) domain from the past decoded synthesis. First, the corresponding frequency bins are identified by finding the peaks of the magnitude spectrum plane. Then, fractional frequencies of the peaks are estimated using peak frequency bins. The frequency bins corresponding to the peaks along with the neighbours are phase shifted using fractional frequencies. For the rest of the frame the magnitude of the past synthesis is retained while the phase is randomized. The burst error is also handled such that the estimated signal is smoothly muted by converging it to zero. More details on the Phase ECU can be found in [<NUM>].

The concept of the Phase ECU may be used in decoders operating in frequency domain. This concept includes encoding and decoding systems which perform the decoding in frequency domain, as illustrated in <FIG>, but also decoders which perform time domain decoding with additional frequency domain processing as illustrated in <FIG>. In <FIG>, the time domain input audio signal (sub)frames are windowed <NUM> and transformed to frequency domain by DFT <NUM>. An encoder <NUM> performs encoding in frequency domain and provides encoded parameters for transmission <NUM>. A decoder <NUM> decodes received frames or applies PLC <NUM> in case a frame loss. In the construction of the concealment frame, the PLC may use a memory <NUM> of previously decoded frames. The decoded or concealed frame is transformed to time domain by inverse DFT <NUM>, and the output audio signal is then reconstructed by overlap-add operation <NUM>. <FIG> illustrates an encoder and decoder pair where the decoder applies a DFT transform to facilitate frequency domain processing. Received and decoded time domain signal is first (sub)frame wise windowed <NUM> and then transformed to frequency domain by DFT <NUM> for frequency domain processing <NUM> that may be done either before or after PLC <NUM> (in case a frame loss).

Since a frequency domain spectrum is already produced for each frame, the raw material for the Phase ECU can easily be obtained by simply storing the last decoded spectrum in memory. However, if the decoded spectra correspond to frames of the time domain signal with different windowing functions (see <FIG>), the efficiency of the algorithm may be reduced. This can happen when the decoder divides the synthesis frames into shorter subframes, e.g. to handle transient sounds which require higher temporal resolution. In order to achieve good results, the ECU should produce the desired window shape for each frame, or there may be transition artefacts at each frame boundary. One solution is to store the spectrum of each frame corresponding to a certain window and apply the ECU on them individually. Another solution could be to store a single spectrum for the ECU and correct the windowing in time domain. This may be implemented by applying an inverse window and then reapplying a window with the desired shape. These solutions have some drawbacks that are discussed below.

One drawback with applying the frequency domain ECU on individual subframes is that there may be differences between the subframes which will be replicated for each subframe during the lost frame. For consecutive frame losses, this may lead to a repetitious artefact since each subframe may have a slightly different spectral signature. Another problem is that memory requirement is increased, since a spectrum of each subframe needs to be stored.

The window re-dressing solution where the windowing is inversed and reapplied, overcomes the issue of the different spectral signatures since the ECU may be based on a single subframe. However, applying the inverted window and applying a new window involves a division and a multiplication for each sample, where the division is a computationally complex operation and computationally expensive. This solution could be improved by storing a pre-computed re-dressing window in memory, but this would increase the required table memory. In case the ECU is applied on a subpart of the spectrum, it may further require that the full spectrum is re-dressed since the full spectrum needs to have the same window shape.

According to a first aspect of the invention, a method as defined in claim <NUM> is provided.

A potential advantage provided is that a multi-subframe ECU is generated from a single subframe spectrum by applying a reversed time synthesis. This generating may be suited for cases where the subframe windows are time reversed versions of each other. Generating all ECU frames from a single stored decoded frame ensures that the subframes have a similar spectral signature, while keeping the memory footprint and computational complexity at a minimum.

According to a second aspect of the invention, a decoder device as defined in claim <NUM> is provided. Further preferred embodiments are provided in the dependent claims.

The accompanying drawings, which are included to provide a further understanding of the disclosure and are incorporated in and constitute a part of this application, illustrate certain nonlimiting embodiments. In the drawings:.

The aspects of the present disclosure will now be described more fully hereinafter with reference to the accompanying drawings, in which examples of embodiments are shown. Embodiments may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, with the scope of the invention being defined by the appended claims.

For example, certain details of the described embodiments may be modified, omitted, or expanded upon without departing from the scope of the invention, as defined by the claims.

<FIG> is a block diagram illustrating elements of a decoder device <NUM>, which may be part of a mobile terminal, a mobile communication terminal, a wireless communication device, a wireless terminal, a wireless communication terminal, user equipment, UE, a user equipment node/terminal/device, etc., configured to provide wireless communication according to embodiments. As shown, decoder <NUM> may include a network interface circuit <NUM> (also referred to as a network interface) configured to provide communications with other devices/entities/functions/etc. The decoder <NUM> may also include a processor circuit <NUM> (also referred to as a processor) operatively coupled to the network interface circuit <NUM>, and a memory circuit <NUM> (also referred to as memory) operatively coupled to the processor circuit. The memory circuit <NUM> may include computer readable program code that when executed by the processor circuit <NUM> causes the processor circuit to perform operations according to embodiments disclosed herein.

According to other embodiments, processor circuit <NUM> may be defined to include memory so that a separate memory circuit is not required. As discussed herein, operations of the decoder <NUM> may be performed by processor <NUM> and/or network interface <NUM>. For example, processor <NUM> may control network interface <NUM> to transmit communications to multichannel audio players and/or to receive communications through network interface <NUM> from one or more other network nodes/entities/servers such as encoder nodes, depository servers, etc. Moreover, modules may be stored in memory <NUM>, and these modules may provide instructions so that when instructions of a module are executed by processor <NUM>, processor <NUM> performs respective operations.

In the description that follows, subframe notation shall be used to describe the embodiments. Here, a subframe denotes a part of a larger frame where the larger frame is composed of a set of subframes. The embodiments described may also be used with frame notation. In other words, the subframes may form groups of frames that have the same window shape as described herein and subframes do not need to be part of a larger frame.

Consider a decoder of an encoder and decoder pair where the decoding method generates frequency spectra on a subframe basis. The consecutive subframes may have the property that the applied window shape is mirrored or time reversed versions of each other, as illustrated in <FIG>, where subframe <NUM> is a mirrored or time reversed version of subframe <NUM>. The decoder obtains the spectra of the reconstructed subframes X̂<NUM>(m, k), X̂<NUM>(m, k) for each frame m. In an embodiment, the subframe spectra may be obtained from a reconstructed time domain synthesis x̂(m, n), where n is a sample index. The dashed boxes in <FIG> indicate that the frequency domain processing may be done either before or after the memory and PLC modules. The spectra may be obtained by multiplying x̂(m, n) with the subframe windowing functions w<NUM>(n) and w<NUM>(n) and applying the DFT transform in accordance with: <MAT> <MAT> where N denotes the length of the subframe window and Nstep<NUM> is the distance in samples between the starting point of the first and second subframe. The subframe windowing functions w<NUM> (n) and w<NUM>(n) are mirrored or time reversed versions of each other. Here, the subframe spectra are obtained from a decoder time domain synthesis, similar to the system outlined in <FIG>. It should be noted that the embodiments are equally applicable for a system where the decoder reconstructs the subframe spectra directly, as outlined in <FIG>. For each correctly received and decoded audio frame m, the spectrum corresponding to the second subframe X̂<NUM>(m, k) is stored in memory.

For correctly received frames, the decoder device <NUM> may proceed with preforming the frequency domain processing steps, performing the inverse DFT transform and reconstructing the output audio using an overlap-add strategy. Missing or corrupted frames may be identified by the transport layer handling the connection and is signaled to the decoder as a "bad frame" through a Bad Frame Indicator (BFI), which may be in the form of a flag. When the decoder device <NUM> detects a bad frame through a bad frame indicator (BFI), the PLC algorithm is activated. The PLC follows the principle of the Phase ECU [<NUM>]. The stored spectrum X̂mem(k) is input to a peak detector algorithm that detects peaks on a fractional frequency scale. A set of peaks <MAT> may be detected which are represented by their estimated fractional frequency fi and where Npeaks is the number of detected peaks. Similar to the sinusoidal coding paradigm, the peaks of the spectrum are modelled with sinusoids with a certain amplitude, frequency and phase. The fractional frequency may be expressed as a fractional number of DFT bins, such that e.g. the Nyquist frequency is found at f = N/<NUM> + <NUM>. Each peak may be associated with a number of frequency bins representing the peak. These are found by rounding the fractional frequency to the closest integer and including the neighboring bins, e.g. the Nnear peaks on each side: <MAT> where [·] represents the rounding operation and Gi is the group of bins representing the peak at frequency fi. The number Nnear is a tuning constant that may be determined when designing the system. A larger Nnear provides higher accuracy in each peak representation, but also introduces a larger distance between peaks that may be modeled. A suitable value for Nnear may be <NUM> or <NUM>. The peaks of the concealment spectrum X̂ECU(m, k) may be formed by using these groups of bins, where a phase adjustment has been applied to each group. The phase adjustment accounts for the change in phase in the underlying sinusoid, assuming that the frequency remains the same between the last correctly received and decoded frame and the concealment frame. The phase adjustment is based on the fractional frequency and the number of samples between the analysis frame of the previous frame and where the current frame would start. As illustrated in <FIG>, this number of samples is Nstep<NUM> between the start of the second subframe of the last received frame and the start of the first subframe of the first ECU frame, and Nfull between the first subframe of the last received frame and the first subframe of the first ECU frame. Note that Nfull also gives the distance between the second subframe of the last received frame and the second subframe of the first ECU frame.

<FIG> illustrates an encoder and decoder system where a PLC block <NUM> performs a phase estimation using a phase estimator <NUM> and applies ECU synthesis in reversed time using a time reversed phase calculator <NUM> according to embodiments described below.

<FIG> is a flowchart illustrating the steps of time reversed ECU synthesis described below. For the concealment of the first subframe, the ECU synthesis is done in reversed time to obtain the desired window shape. The phase adjustment, or phase correction or phase progression (these terms are used interchangeably throughout the description), for the first subframe for peak i may be written as <MAT> where Nlost denotes the number of consecutive lost frames and φi denotes the phase of the sinusoid at frequency fi. The term (Nlost - <NUM>)Nfull handles the phase progression for burst errors, where the step is incremented with the frame length of the full frame Nfull. For the first lost frame, Nlost = <NUM>. For frequencies that are centered on the frequency bins of the spectrum X̂mem(k) the phase φi is readily available just by extracting the angle: <MAT> where ki = [fi].

In general, the frequency fi is a fractional number and the phase needs to be estimated in operation <NUM>. One estimation method is to use linear interpolation of the phase spectrum. <MAT> where <MAT> and <MAT> represent the operators for rounding down and up respectively. However, this estimation method was found to be unstable. This estimation method further requires two phase extractions, which requires the computationally complex arctan function in case the spectrum is represented with complex numbers in the standard form a + bi. Another phase estimation that was found reliable at relatively low computational complexity is <MAT> <MAT> where ffrac is the rounding error and φC is a tuning constant which depends on the window shape that is applied. For the window shape of this embodiment, a suitable value was found to be φC = <NUM>. For another window shape it was found to be φC = <NUM>. In general, it is expected that a suitable value can be found in the range [<NUM>,<NUM>].

In operation <NUM> a time reversed phase adjustment Δφi is derived as explained above.

The peaks of the concealment spectrum may be formed by applying the phase adjustment to the stored spectrum in operation <NUM>.

The asterisk '*' denotes the complex conjugate, which gives a time reversal of the signal in operation <NUM>. This results in a time reversal of the first ECU subframe. It should be noted that it may also be possible to perform the reversal in time domain after inverse DFT. However, if X̂ECU(m, k) only represents a part of the complete spectrum this requires that the remaining spectrum is pretreated e.g. by a time reversal before the DFT analysis.

The remaining bins of X̂ECU(m, k), which are not occupied by the peak bins Gi, may be referred to as the noise spectrum or the noise component of the spectrum. They may be populated using the coefficients of the stored spectrum with a random phase applied: <MAT> where φrand denotes a random phase value. The remaining bins may also be populated with spectral coefficients that retain a desired property of the signal, e.g. correlation with a second channel in a multichannel decoder system. In operation <NUM> the peak spectrum X̂ECU(m, k), where k ∈ Gi, is combined with the noise spectrum XECU(m, k), where k ∉ Gi to form a combined spectrum.

In embodiments where noise is generated in the time domain and is windowed and transformed, a time reversal of the noise to match the windowing of the peak components and the combination with the peak spectrum should be performed prior to applying the time reversal described above.

For the generation of the second subframe, which is synthesized in normal (non-reversed) time, the regular phase adjustment may be used.

The ECU synthesis for the second subframe may be formed similar to the first subframe, but omitting the complex conjugate on the peak coefficients. <MAT> <MAT>.

Once the combined concealment spectrum is generated in operation <NUM>, the combined concealment spectrum may be fed to the following processing steps in operation <NUM>, including inverse DFT and an overlap-add operation which results in an output audio signal.

The output audio signal may be transmitted to one or more speakers such as loudspeakers for playback. The speakers may be part of the decoding device, be a separate device, or part of another device.

Assume the start phase of the sinusoid component is φ<NUM> and that the frequency of the sinusoid is f. The desired phase φ<NUM> of the sinusoid after advancing by Nstep samples is then <MAT>.

For a time-reversed continuation of the sinusoid, the phase needs to be mirrored in the real axis by applying the complex conjugate or by simply taking the negative phase -φ<NUM>. Since this phase angle now represents the endpoint of the ECU synthesis frame, the phase needs to be wound back by the length of the analysis frame to get to the desired start phase φ<NUM>.

To obtain a phase correction Δφ, the start phase needs to be subtracted, i.e., <MAT>.

To add progression for consecutive frame losses (burst loss), a factor corresponding to the number of samples between the starting points of the full frames can be added, Noffset = (Nlost - <NUM>)Nfull. This provides the final phase correction <MAT>.

The desired time reversal can be achieved in DFT domain by using a complex conjugate together with a one-sample circular shift. This circular shift can be implemented with a phase correction of <NUM>πk/N which may be included in the final phase correction.

For the coefficients representing a single peak, the frequency bin k of the circular shift can be approximated with the fractional frequency k ≈ f, and the phase correction may be simplified to <MAT>.

The windows may be designed such that N = Nfull, in which case, in accordance with the invention, the expression can be further simplified to <MAT>.

In another embodiment, the phase correction is done in two steps. The phase is advanced in a first step, ignoring the mismatch of the window. <MAT> <MAT>.

In a second step, the time reversal of the windowing may be achieved by turning the phase back by -φm, applying the complex conjugate and restoring the phase with φm: <MAT>.

The motivation for this operation can be found by studying the effect of a time reversed window on a sinusoid as illustrated in <FIG>. In <FIG>, the upper plot shows the window applied in a first direction, and the lower plot shows the window applied in the reverse direction. The three coefficients representing the sinusoid is illustrated in <FIG>, which illustrates how a reversed time window affect the DFT coefficients in the complex plane. The three DFT coefficients approximating the sinusoid in in the upper plot of <FIG> is marked with circles, while the corresponding coefficients of the lower plot of <FIG> is marked with stars. The diamond denotes the position of the original phase of the sinusoid and the dashed line shows an observed mirroring plane through which the coefficients of the time reversed window are projected. The time reversed window gives a mirroring of the coefficients in a mirroring plane with an angle φm.

Through experimentation, it was found that φfrac could be expressed as <MAT> <MAT> <MAT> where [·] denotes the rounding operation. It was also found that φε , expressed as a positive angle, can be approximated by a linear relation with ffrac. In <FIG>, the angle φε is expressed as a function of the frequency f. Studying the sawtooth shape of <FIG>, it was found that a good approximation of φε was found to be <MAT> where φC is a constant. In one embodiment, φC may be set to φC = <NUM>, which yields a close approximation. Since φ<NUM> is not explicitly known, an alternative approximation of φm can be written as <MAT> where φki is the phase of the maximum peak coefficient found at the rounded frequency bin ki after the first phase adjustment step, <MAT>.

The operation of aligning the mirroring plane with the real axis, applying the complex conjugate and turning the phase back again can be understood as adjusting the phase of the shaped sinusoid to a phase position which is neutral to the complex conjugate (<NUM> or π), thereby only reversing the temporal shape of the signal. The two-step approach is more computationally complex than the formerly described embodiment. However, the observations can also lead to an approximation of φ<NUM>. It can be seen from <FIG> that φ<NUM> may be expressed as <MAT> which is the phase approximation used above.

Operations of the decoder device <NUM> (implemented using the structure of the block diagram of <FIG>) will now be discussed with reference to the flow chart of <FIG> according to some embodiments of the invention. For example, modules may be stored in memory <NUM> of <FIG>, and these modules may provide instructions so that when the instructions of a module are executed by respective decoder device processing circuitry <NUM>, processing circuitry <NUM> performs respective operations of the flow chart.

In operation <NUM>, processing circuitry <NUM> generates frequency spectra on a subframe basis where consecutive subframes of the audio signal have a property that an applied window shape of first subframe of the consecutive subframes is a mirrored version or a time reversed version of a second subframe of the consecutive subframes. For example, generating the frequency spectra of for each subframe of the first two consecutive subframes comprises determining: <MAT> <MAT> where N denotes a length of a subframe window, subframe windowing function w<NUM>(n) is a subframe windowing function for the first subframe X̂<NUM>(m, k) of the consecutive subframes and w<NUM>(n) is a subframe windowing function for the second subframe X̂<NUM>(m, k) of the consecutive subframes, and Nstep<NUM> is a number of samples between a first subframe of the first two consecutive subframes and the second subframe of the first two consecutive subframes.

In operation <NUM>, the processing circuitry <NUM> determines if a bad frame indicator (BFI) has been received. The bad frame indicator provides an indication that an audio frame has been lost or has been corrupted.

In operation <NUM>, the processing circuitry <NUM> stores, for each correctly decoded audio frame, the spectrum corresponding to the second subframe in memory. For example, for a correctly decoded frame m, the spectrum corresponding to the second subframe X̂<NUM>(m, k) is stored in memory such as X̂mem(k) := X̂<NUM>(m, k). For correctly received frames, the decoder device <NUM> may proceed with preforming the frequency domain processing steps, performing the inverse DFT transform and reconstructing the output audio using an overlap-add strategy as described above and illustrated in <FIG>. Note that the principle of overlap-add is the same for both subframes and frames. The creation of a frame requires applying overlap-add on the subframes, while the final output frame is the result of an overlap-add operation between frames.

When the processing circuitry <NUM> detects a bad frame through a bad frame indicator (BFI) in operation <NUM>, the PLC operations <NUM> to <NUM> are performed.

In operation <NUM>, the processing circuitry <NUM> obtains the signal spectrum corresponding to the second subframe of a first two consecutive subframes previously correctly decoded and processed. For example, the processing circuitry <NUM> may obtain the signal spectrum from the memory <NUM> of the decoding device.

In operation <NUM>, the processing circuitry <NUM> detects peaks of the signal spectrum of a previously received audio frame of the audio signal on a fractional frequency scale, the previously received audio frame received prior to receiving the bad frame indicator.

In operation <NUM>, the processing circuitry <NUM> determines whether the concealment frame is for the first subframe of two consecutive subframes.

If the concealment frame is for the first subframe, in operation <NUM>, the processing circuitry <NUM> estimates the phase of each of the peaks. In one embodiment, calculating a phase estimation for the peaks of the time reversed phase corrected peaks in accordance with: <MAT> <MAT> where φi is an estimated phase at frequency fi, ∠X̂mem(ki) is an angle of spectrum X̂mem at a frequency bin ki, ffrac is a rounding error, φC is a tuning constant, and ki is [fi]. The tuning constant φC may be a value in a range between <NUM> and <NUM>.

In operation <NUM>, the processing circuitry <NUM> derives a time reversed phase correction to apply to the peaks of the signal spectrum based on the estimated phase.

In operation <NUM>, the processing circuitry <NUM> applies the time reversed phase correction to the peaks of the signal spectrum to form time reversed phase corrected peaks.

In operation <NUM>, the processing circuitry <NUM> applies a time reversal to the concealment audio subframe. In one embodiment, the time reversal may be applied by applying a complex conjugate to the concealment audio subframe.

In operation <NUM>, the processing circuitry <NUM> combines the time reversed phase corrected peaks with a noise spectrum of the signal spectrum to form a combined spectrum of the concealment audio subframe.

Turning to <FIG>, in one embodiment, <NUM> and <NUM> may be performed by the processing circuitry <NUM> associating each peak with a number of peak frequency bins in operation <NUM>. The processing circuitry <NUM> associating may apply the time reversed phase correction by applying the time reversed phase correction to each of the number of frequency bins in operation <NUM>. In operation <NUM>, remaining bins are populated using coefficients of the signal spectrum with a random phase applied.

Returning to <FIG>, in operation <NUM>, the processing circuitry <NUM> generates a synthesized concealment audio subframe based on the combined spectrum.

If the concealment frame is not for the first subframe as determined in operation <NUM>, the processing circuitry <NUM> derives in operation <NUM> a non-time reversed phase correction to apply to the peaks of the signal spectrum for a second concealment subframe of the at least two consecutive concealment subframes.

In operation <NUM>, the processing circuitry <NUM> applies the non-time reversed phase correction to the peaks of the signal spectrum for the second subframe to form non-time reversed phase corrected peaks.

In operation <NUM>, the processing circuitry <NUM> combines the non-time reversed phase corrected peaks with a noise spectrum of the signal spectrum to form a combined spectrum for the second concealment subframe.

In operation <NUM>, the processing circuitry <NUM> generates a second synthesized concealment audio subframe based on the combined spectrum.

Turning to <FIG>, in one embodiment, <NUM> and <NUM> may be performed by the processing circuitry <NUM> associating each peak with a number of peak frequency bins in operation <NUM>. The processing circuitry <NUM> associating may apply the non-time reversed phase correction by applying the non-time reversed phase correction to each of the number of frequency bins in operation <NUM>. In operation <NUM>, remaining bins are populated using coefficients of the signal spectrum with a random phase applied.

Various operations from the flow chart of <FIG> may be optional with respect to some embodiments of decoder devices and related methods. Regarding methods of example embodiment <NUM> (set forth below), for example, operations of blocks <NUM> and <NUM>-<NUM> of <FIG> may be optional. Regarding methods of example embodiment <NUM> (set forth below), for example, operations of blocks <NUM> and <NUM>-<NUM> of <FIG> may be optional.

Explanations are provided below for various abbreviations/acronyms used in the present disclosure.

In the above-description of various embodiments, it is to be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting. Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which present disclosure belongs.

Thus a first element/operation in some embodiments could be termed a second element/operation in other embodiments without departing from the teachings of present disclosure.

Accordingly, embodiments of present disclosure may be embodied in hardware and/or in software (including firmware, resident software, micro-code, etc.) that runs on a processor such as a digital signal processor, which may collectively be referred to as "circuitry," "a module" or variants thereof.

Claim 1:
A method of generating a concealment audio subframe of an audio signal in a decoding device, the method comprising:
generating (<NUM>) frequency spectra on a subframe basis where consecutive subframes of the audio signal have a property that an applied window shape of first subframe of the consecutive subframes is a mirrored version or a time reversed version of a window applied on a second subframe of the consecutive subframes;
detecting (<NUM>) peaks of a signal spectrum of a previously received audio signal on a fractional frequency scale;
estimating (<NUM>, <NUM>) a phase of each of the peaks;
deriving (<NUM>, <NUM>) a phase adjustment for a time reversed concealment audio subframe based on the estimated phase, wherein the phase adjustment Δφ for the peaks of the time reversed concealment audio subframe is calculated in accordance with:<MAT> wherein φ<NUM> is the estimated phase of a peak and f is a frequency of a peak, Nlost denotes the number of consecutive lost frames, N denotes the length of a full frame and Nstep is the distance in samples between the start of the second subframe of the last received frame and the start of the first subframe of a concealment audio frame;
applying (<NUM>, <NUM>) the phase adjustment Δφ to the peaks of the signal spectrum to form phase adjusted peaks of a concealment spectrum; and
applying (<NUM>, <NUM>) a time reversal by applying a complex conjugate to the phase adjusted peaks of the concealment spectrum.