Patent Description:
Although the capacity in telecommunication networks is continuously increasing, it is still of great interest to limit the required bandwidth per communication channel. In mobile networks smaller transmission bandwidths for each call yields lower power consumption in both the mobile device and the base station. This translates to energy and cost saving for the mobile operator, while the end user will experience prolonged battery life and increased talk-time. Further, with less consumed bandwidth per user, the mobile network can service a larger number of users in parallel.

In the field of speech coding, the ACELP (algebraic code-excited linear prediction) algorithm has been the leading technology in delivering high quality sound at low bit rates. In short, the ACELP model is composed of a linear predictor (LP) filter, which models the vocal tract and provides the coarse spectral shape of the reconstructed voice. The LP filter is driven by two codebooks: a pitch codebook (or adaptive codebook) which models the periodic component of the voice and an innovation codebook (or fixed codebook) which generates the non-periodic voice segments and also builds the pitch codebook. The core algorithm of the ACELP algorithm has been further enhanced, including post-processing tools such as post-filters. The two main such filters are the formant post-filter and the pitch-post filter, which both make use of parameters that are part of the ACELP speech model. The formant post-filter enhances the coarse spectral shape using the linear predictor filter (LP), and the pitch post-filter reduces inter-harmonic distortion by emphasizing the pitch period. A variant of the pitch post-filter, targeting the low frequency range, is the bass post-filter (BPF). This tool is present in recent speech codec standards, such as ITU-T G. <NUM> and 3GPP EVS as illustrated in 3GPP TS <NUM> V16. <NUM>, Codec for Enhanced Voice Services (EVS); Detailed Algorithmic Description, <NUM>. <NUM> Bass post-filter [<NUM>].

Although the bass post-filter generally improves the quality of the decoded audio, it may have a negative impact on some signals. Several adaptation methods have been used to control the post-filter strength. In 3GPP EVS [<NUM>], the post-filter strength is adapted to how well the post-filtered signal correlates with the input signal. A low correlation suggests the filter may have a degrading impact, and as a result the filter output is attenuated. The post-filter strength is also adapted to the LP filter stability, where a low stability leads to an attenuated filter.

<CIT> describes further adaptation methods of the bass post-filter. Here, <CIT> has taken into consideration that the codec may use multiple modes, where the CELP or ACELP algorithm is one of these modes. Since the bass post-filter is only active for the ACELP mode, the strength of the bass post-filter may be adapted to avoid artefacts when enabling and disabling the filter in cases where there are frequent mode switches. <CIT> further considers how well the input signal is represented by the ACELP or CELP coding model. If there is significant energy loss, it is likely that the signal is not well modeled, and the bass post-filter may be harmful. To reduce the artefact from toggling the filter on and off, the post-filter strength may also be adapted gradually to give smoother transitions. The analysis of the filter impact may be done on a filter difference signal, describing the difference between the filtered and non-filtered signal. It may also be done on an approximate difference signal to reduce the computational complexity of the method.

In<NPL>, it is recognized that the suitability of the bass post-filter may depend on the pitch, or fundamental frequency, of the signal. Here, the post-filter strength is limited as a function of the pitch, such that post-filter is attenuated for lower frequencies. The output of the filter is also low-pass filtered with a cut-off frequency that depends on the fundamental frequency, yielding lower operating bandwidth for lower fundamental frequencies.

<CIT> discloses a decision whether to use the post filter taken separately from the decision as to the most suitable coding mode. This makes it possible to maintain one post filtering status throughout a period of such length that the switching will not annoy the listener. Thus, the encoding method may prescribe that the post filter will be kept inactive even though it switches into a coding mode where the filter is conventionally active. It also discloses as an option, wherein a decoding section extracts an intermediate decoded signal, whereby the approximate difference signal can be computed as the difference between the intermediate decoded signal and the intermediate decoded signal when subjected to post filtering.

<CIT> discloses a method for avoiding frame boundary discontinuities when performing pitch-based pre-filtering and pitch-based post-filtering of an audio signal is also described herein.

The post-filters are intended to reduce noise, but in some cases they may introduce new artefacts. In particular, abrupt changes in the parameters, such as a pitch period parameter or post-filter strength, may introduce discontinuities that become audible in the low energy regions of the spectrum.

Gradual activation and deactivation, as suggested by <CIT>, does not address the fact that discontinuities may happen internally in the filter as an effect of switching parameters. Experience shows that attempts to smoothen the transitions of the parameter switches may lead to a slower filter adaptation, which reduces the performance of the post-filter while the artefacts are still not fully removed.

In one aspect there is provided a method for audio decoding, where an encoded primary signal is decoded to form a decoded primary signal, followed by a post-filtering of the decoded primary signal to form a post-filtered signal, where an output signal of the decoder is one of the decoded primary signal and the post-filtered signal. An energy estimation of at least a part of a frequency spectrum of the primary signal being reconstructed by the decoder and an analysis of discontinuities in time domain that is caused by the post-filtering of the decoded primary signal are obtained. A decision variable is generated based on the energy estimation and the analysis of discontinuities obtained. The decision variable is compared to a threshold and the output signal is set to be the decoded primary signal or the post-filtered signal based on the comparing of the decision variable to the threshold.

In another aspect there is provided a decoder adapted to perform operations comprising: obtaining an energy estimation of at least a part of a frequency spectrum of a primary signal being reconstructed by the decoder to form a decoded primary signal; obtaining an analysis of discontinuities in time domain that is caused by post-filtering of the decoded primary signal; generating a decision variable based on the energy estimation obtained and the analysis of discontinuities obtained; comparing the decision variable to a threshold; and setting the output signal to be the decoded primary signal or a post-filtered signal based on the comparing of the decision variable to the threshold.

In another aspect there is provided a computer program comprising program code to be executed by processing circuitry of a decoder, whereby execution of the program code causes the decoder to perform operations comprising: obtaining an energy estimation of at least a part of a frequency spectrum of a primary signal being reconstructed by the decoder to form a decoded primary signal; obtaining an analysis of discontinuities in time domain that is caused by post-filtering of the decoded primary signal; generating a decision variable based on the energy estimation obtained and the analysis of discontinuities obtained; comparing the decision variable to a threshold; and setting the output signal to be the primary signal decoded or a post-filtered signal based on the comparing of the decision variable to the threshold.

One advantage that may be obtained using the inventive concepts described herein is the addition of an adaptation of a post-filter such that the benefits of the post-filter are maintained, while the problematic cases are mitigated by attenuating or disabling the post-filter. Further, this advantage achieved by a low complex method which has a limited impact on the overall computational complexity of the audio decoder.

<FIG> illustrates an example of an operating environment of a decoder <NUM> that may be used to decode mono, stereo or multi-channel bitstreams as described herein. The decoder <NUM> may be part of a media player, a mobile device, a set-top device, a desktop computer, and the like. The decoder <NUM> receives encoded bitstreams. The bitstreams may be sent from an encoder, from a storage device <NUM>, from a device on the cloud via network <NUM>, etc. During operation, decoder <NUM> receives and processes the frames of the bitstream as described herein. The decoder <NUM> outputs audio signals (e.g., mono, stereo or multi-channel audio signals) and transmits the audio signals to an audio player <NUM> having at least one loudspeaker for playback of mono, stereo or multi-channel audio signals. Storage device <NUM> may be part of a storage depository of mono, stereo or multi-channel audio signals such as a storage repository of a store or a streaming music service, a separate storage component, a component of a mobile device, etc. An audio player may be a Bluetooth speaker, a device having at least one loudspeaker, a mobile device, a streaming music service, etc..

<FIG> is a block diagram illustrating elements of a decoder device <NUM> configured to provide wireless communication according to embodiments of inventive concepts. A decoder <NUM> 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. 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 multi-channel 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.

<FIG> illustrates an audio decoding system including a pitch post-filter. The decoder <NUM> receives a bitstream <NUM> from e.g. a transmission network or a storage medium. The decoder generates a reconstructed time domain signal ŝ(m, n) where n is the sample index and m is the frame number. The reconstructed time domain signal ŝ(m, n) may also be referred to as a primary signal or a decoded primary signal in the description that follows. The reconstructed time domain signal ŝ(m, n) is further enhanced by a pitch post-filter <NUM> which may also utilize a pitch period T.

The pitch period T is obtained through pitch analysis done on the decoded audio, or it may come from an analysis in the encoder or decoder on the target signal or a related audio signal which may have the same or similar dominant pitch as the post-filter input signal.

The post-filtered signal ŝf(m, n) may be derived using a pitch post-filter of the form: <MAT> where T is the fundamental pitch period in samples and α ∈ [<NUM>, <NUM> controls the post-filter strength. An equivalent expression for the post-filtered signal is <MAT> where sdiff(m, n) = α(ŝ(m, n) - sp(m, n)) is the impact of the filter expressed as a negative difference signal or a correction signal or an error signal. The parameters α and T are typically updated each subframe, where a subframe may be <NUM> or <NUM> long. If the full audio frame is <NUM>, this means that the full frame is divided into <NUM> or <NUM> subframes respectively. In 3GPP EVS [<NUM>], the post-filter strength α is adapted based on the spectral stability of the signal. It also has a built-in failsafe mechanism by measuring the correlation with the post-filtered audio with the input signal. If the correlation is low, it means the filter is likely to have a negative impact on the quality and the filter is dampened or switched off.

The post-filtered signal ŝf(m, n) is output from the decoder system to be played back by an audio player or potentially stored or transmitted in a decoded PCM format. Note that the decoder system may include further processing of the post-filtered signal before the final signal is output, such as additional enhancements or combinations with other signals or signal components. The reconstructed signal may in such cases correspond to a difference signal, or residual signal, as outlined in ITU-T G. <NUM> "Frame error robust narrow-band and wideband embedded variable bit-rate coding of speech and audio from <NUM>-<NUM> kbit/s", section <NUM>. <NUM> Dual bass post-filter. The residual signal may be combined with another signal to provide an enhanced output signal.

A drawback with the bass post-filter of <FIG> is that the abrupt change of the bass post-filter parameters at the subframe boundary may cause undesired discontinuities in the filtered signal, as illustrated by the discontinuities <NUM> in <FIG>. These discontinuities may give distortions that spread across the frequency range. Depending on the spectrum of the input signal, these distortions may be noticeable and become disturbing. Consider e.g. the spectra <NUM> in <FIG>, where the post-filter operation generates audible noise <NUM> above approximately <NUM>. Note that the filter still has the desired effect below <NUM>, where the inter-harmonic distortion is reduced.

The failsafe mechanism of the filter, which measures the correlation of the filter output with the filter input signal, does not address the problem of the subframe transitions. Since the correlation is computed within each subframe, the transitions between subframes and their potential impact has not been considered.

A possible technique to reduce the effects of the discontinuities is to apply smoothing through low-pass filtering the parameters or by cross-fading the post-filter output between subframes. Although such operations were found to reduce the artefacts, the operations also slowed down the adaptation of the filter such that the positive effects of the filter were reduced. Further, even though the low-pass filtering of the parameters reduced the artefacts, switching the post-filter off for these critical segments was found to be better. Hence, it seems desirable to keep the post-filter untouched for the regions where it has a positive impact while it should be switched off completely when it has a negative impact. An adaptation of the post-filter which can anticipate the distortions and disable the filter whenever needed can reduce and, in some embodiments, eliminate the effects of discontinuities.

The decoder as outlined in <FIG> provides such an adaptation. The decoder <NUM> receives a bitstream <NUM> and produces a reconstructed signal S(m, k) in frequency domain where m is the frame number and k is the frequency bin index. A transform which is often used in audio encoder and decoder systems is MDCT (modified discrete cosine transform). It should be noted that the concepts presented herein are applicable for any transform domain where energy calculations are possible, such as DFT (discrete Fourier transform), QMF (quadrature mirror filterbank) or a Hybrid QMF filterbank. The processing block <NUM> performs the inverse MDCT (IMDCT) transform and applies the post-filter. A post-filter adaptation method according to some embodiments of inventive concepts can be described by substituting the processing block <NUM> of <FIG> with the adaptive post-filter block <NUM> of <FIG>. The reconstructed signal <NUM> in frequency domain S(m, k) is transformed to time domain. The resulting time domain signal is input to a post-filter difference generating block <NUM>. The post-filter difference sdiff(m, n) <NUM> and the reconstructed signal S(m, k) <NUM> in frequency domain are input to the post-filter adaptor <NUM>, which forms a decision <NUM> whether or not the post-filter should be applied. The decision <NUM> is used to control the output <NUM> of the adaptive post-filter block by activating or deactivating subtraction of the post-filter difference from the reconstructed primary signal.

An alternative method, where the post-filter outputs the filtered signal rather than the filter difference signal is shown in <FIG>. Here, the decision mechanism of alternative adaptive post-filter block <NUM> decides whether to use the filtered signal <NUM> or the non-filtered signal <NUM>. The time domain analysis of the filtered signal is performed on the filtered signal <NUM> instead of the difference signal, which will obtain similar results.

The post-filter adaptor <NUM> of <FIG> can be further described by the elements of <FIG> that perform the steps outlined in <FIG>. Based on the analysis of the problematic items as illustrated in <FIG> and <FIG>, a post-filter adaptation method may be based on detecting two conditions:.

Detecting a strong tilt or a deep valley in the spectrum may be done by measuring the energy of the spectrum in a certain critical band. A low energy in the critical band could then indicate that a deep valley is found in a perceptually sensitive part of the spectrum. The energy measurement EŜcb (m) for each frame m may be done on the reconstructed signal S(m, k) in MDCT domain. The MDCT domain energy estimator <NUM> performs block <NUM> by measuring the energy of the critical band.

The frequency bin limits kstart and kend can be set to match the frequency range of the critical band. For example, if the MDCT frame length NMDCT = <NUM>, the sampling rate is <NUM> and the critical frequency range is <NUM> - <NUM>, suitable values may be kstart = <NUM> and kend = <NUM>. For a strictly high-pass filtering operation, the upper limit should be <NUM> and kend = <NUM>. In the description above, the critical band may be adaptive and e.g. depend on the reconstructed signal. The critical band could for instance be focused around an identified low energy region measured on a perceptual weighted spectrum. A perceptually weighted spectrum can be generated based on the spectrum of the reconstructed signal and transformed in frequency and level dimensions such that perceptually important regions are emphasized. An adaptive critical band can also take into consideration for which frequency range the post-filter may generate distortion.

Since the MDCT synthesis of S(m, k) may involve an overlap-add operation, it may be desirable to mimic the overlap-add in the energy estimation. This may be done by applying a low-pass FIR filter <NUM> in block <NUM> to the energy estimate: <MAT> Here γ E (<NUM>,<NUM>] is a low-pass filtering coefficient which e.g. depends on the shape of the MDCT synthesis windows and the length of the overlap. A suitable value may be γ = <NUM>.

The size of the discontinuities is measured by averaging the step at the subframe boundaries of the filter difference signal sdiff(m, n) in block <NUM> using the subframe discontinuity analyzer <NUM>: <MAT> Where m denotes the frame number, i is the subframe number, Nsf is the number of subframes and n<NUM>, n<NUM>,. , nNsf is the sample indices of the subframe boundaries marking the start of each new subframe. If the number of subframes Nsf = <NUM> and the frame length N = <NUM>, the subframe boundary indices may be n<NUM> = <NUM>, n<NUM> = <NUM>, n<NUM> = <NUM>, n<NUM> = <NUM>, n<NUM> = <NUM>. Note that for the first sample n<NUM> = <NUM>, sample sdiff(m, -<NUM>) would be referenced. However, this is the same sample as the last sample of the previous frame, sdiff(m - <NUM>, N - <NUM>). In a practical implementation, this sample value would be stored in memory between frames.

A decision variable is formed at block <NUM> at multiplier <NUM> as the ratio between Ẽstep(m) and ẼŜcb(m). <MAT> Alternatively, in case the optional low-pass filtering step <NUM> is omitted, a decision variable is formed as the ratio between Ẽstep(m) and EŜcb(m), where EŜcb(m) is the energy estimate calculated in block <NUM>.

To stabilize the decision, the Ẽratio(m) may be low-pass filtered by applying a low-pass filter <NUM> at block <NUM> between frames, e.g. <MAT> where β ∈ (<NUM>,<NUM>] is a low-pass filtering coefficient and a suitable value may be β = <NUM>.

It may further be beneficial to limit the range of the low-pass filtered energy ratio in block <NUM> via limiter <NUM>, in which case the expression may be written <MAT> <MAT> where Eratio,lim would set an upper limit for the energy ratio and where a suitable value was found to be Eratio,lim = <NUM>. Note that when β is <NUM>, the energy ratio is no longer low-pass filtered.

The post-filter activation decision in various embodiments is taken by comparing the low-pass filtered energy ratio with the threshold at threshold comparator <NUM> in block <NUM> and determining whether or not to use (e.g., activate) the post-filter in block <NUM>. In one embodiment of inventive concepts, the threshold Ethr is set to <NUM>. <MAT> where active indicates the post-filter is activated and inactive indicates the post-filter is disabled. It should be noted that if the optional block <NUM> is omitted, the decision variable Ẽratio(m), calculated in block <NUM>, is compared with the threshold. As indicated above, when the post-filter is activated, the output of the post-filter subtracts the post-filter difference from the reconstructed primary signal. When the post-filter is inactive, the output of the post-filter is the reconstructed primary signal.

Note that a similar analysis of the discontinuities may be done on the filter output signal ŝf(m, n) instead of the difference signal sdiff(m, n), as illustrated in <FIG>. This would likely lead to different choices on e.g. the filter constants β, γ, Eratio,lim and Ethr, but the principles of the concepts described above would remain the same.

In some embodiments adding some hysteresis for the switching to reduce toggling may be useful if the low-pass filtered energy ratio is hovering around the threshold. One way to implement hysteresis is to have two thresholds: one for activation and one for deactivation. If the activation threshold is a bit higher than the deactivation threshold this creates a "dead zone" for the decision variable and reduces toggling if the variable is hovering around the threshold. Another way to implement hysteresis is to determine a count of the number of times the low-pass filtered energy ratio goes below (or alternatively, above) the threshold in a time period and activate (or deactivate) the post-filter after a predetermined number of times the low-pass filtered energy ratio goes below (or alternatively, above) the threshold in the time period.

In the embodiments described above, a critical band is used. In various other embodiments of inventive concepts, more than one critical band, corresponding to more than one spectral valley may be present. In one embodiment, the critical band selected to analyze is the most sensitive region and the decision whether or not to use the post-filter is performed for the selected critical band. In other embodiments, there could be multiple regions where the noise is just below the threshold for being noticeable, and combining many of these regions may result in a user hearing the noise while the analysis per region indicates the noise should not be noticeable. One way to account for this may be summing the contribution from several critical bands and deciding whether to set the output to be the primary signal or the post-filtered signal based on the embodiments described above. An alternative approach is to analyze the bands separately, and then disable the post-filter if the threshold is triggered for any one of the bands being analyzed.

An alternative method for deciding if the noise will be masked is to compare the energy of the signal in the critical region before and after the post-filter. This alternative method was found to give similar results as the inventive concepts described under Embodiment A, but at the cost of higher delay and complexity. The energy of critical band of the reconstructed signal can be measured in time domain: <MAT> <MAT> where fcb(·) is a high-pass filter or a band-pass filter matching the critical band. Similarly, the energy of the critical band of the post-filtered reconstructed signal can be written <MAT> <MAT>.

A decision D(m) to activate or disable the post-filter for frame m can be formed by comparing the energy ratio of the critical band of the signals before and after applying the post-filter to a decision threshold Ethr as illustrated below where active indicates the post-filter is activated and inactive indicates the post-filter is disabled. In one embodiment of inventive concepts, the threshold Ethr is set to <NUM>. In other words, when the energy above a certain cut-off frequency is higher after applying the post-filter, the energy increase is assumed to be caused by noise and the post-filter is disabled.

Disabling the post-filter for frame m can be implemented in some embodiments by using the decoded signal ŝ(m, n) instead of the post-filtered version ŝf(m, n). If the filter routine produces a filter difference signal sdiff(m, n), the disabling of the filter can be implemented by skipping the subtraction of the filter difference signal from the decoded signal ŝ(m, n).

In some embodiments it may be useful to add some hysteresis for the switching between the primary signal and the post-filtered signal to reduce toggling if the energy ratio is hovering around the threshold. One way to implement hysteresis is to have two thresholds: one for activation and one for deactivation. If the activation threshold is a bit higher than the deactivation threshold this creates a "dead zone" for the decision variable and reduces toggling if the variable is hovering around the threshold. Another way to implement hysteresis is to determine a count of the number of times the low-pass filtered energy ratio goes below (or alternatively, above) the threshold in a time period and activate (or deactivate) the post-filter after a predetermined number of times the low-pass filtered energy ratio goes below (or alternatively, above) the threshold in the time period.

Operations of the decoder <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 inventive concepts. 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 communication device processing circuitry <NUM>, processing circuitry <NUM> performs respective operations of the flow chart.

Turning now to <FIG>, in block <NUM>, the processing circuitry <NUM> obtains an energy estimation of at least a part of a frequency spectrum of the primary signal being reconstructed, i.e., decoded, by the decoder <NUM>. The primary signal reconstruction may be done in the frequency domain. The operations of block <NUM> are analogous to the operations of block <NUM> described above. In various embodiments of inventive concepts, the processing circuitry <NUM> may obtain the energy estimation by summing energy coefficients of the at least a part of the frequency spectrum in the frequency domain. For example, in some embodiments, the processing circuitry <NUM> obtains the energy estimation by measuring an energy of a critical band of a reconstructed signal in accordance with <MAT> wherein m is a frame number, EŜcb(m) is an energy of a critical band of the reconstructed signal, S(m, k) is a reconstructed signal, and frequency bin limits kstart and kend are set to match a frequency range of critical band.

The processing circuitry <NUM> may further process the measurement by applying a low-pass filter to the energy EŜcb(m) of the critical band of the reconstructed signal in accordance with <MAT> wherein γ E (<NUM>,<NUM>] and is a low-pass filtering coefficient which depends on a shape of modified discrete cosine transform, MDCT, synthesis windows and a length of an overlap.

In block <NUM>, the processing circuitry <NUM> obtains an analysis of discontinuities in time domain that is caused by post-filtering of the primary signal. The operations of block <NUM> are analogous to the operations of block <NUM> described above. In various embodiments of inventive concepts, the processing circuitry <NUM> may obtain the analysis of the discontinuities in time domain by measuring an average energy of a size of the discontinuities. For example, in some embodiments, the processing circuitry <NUM> measures the average energy of the size of the discontinuities by averaging a step at subframe boundaries of a filter difference signal sdiff(m, n) in accordance with <MAT> wherein m is a frame number, i is a subframe number, Ẽstep(m) is an average energy of the step at the subframe boundaries, Nsf is a number of subframes and n<NUM>, n<NUM>,. , nNsf are sample indices of the subframe boundaries marking the start of each subframe.

In block <NUM>, the processing circuitry <NUM> generates a decision variable based on the energy estimation obtained and the analysis of discontinuities obtained. The operations of block <NUM> are analogous to the operations of block <NUM> described above. In various embodiments of inventive concepts, the processing circuitry <NUM> may generate the decision variable in accordance with <MAT> wherein Ẽratio(m) is an energy ratio between Ẽstep(m) and ẼŜcb(m), Ẽstep(m) is an average energy of a step at subframe boundaries, EŜcb(m) is a low-pass filtered energy EŜcb(m) of a critical band of a reconstructed signal.

Turning to <FIG>, in some embodiments of inventive concepts, the processing circuitry <NUM> may limit the decision variable to a maximum value in block <NUM> and low pass filter the decision variable in block <NUM>. The operations of blocks <NUM> and <NUM> are analogous to the operations of block <NUM> described above. In some embodiments, the processing circuitry <NUM> limits the decision variable and low pass filters the decision variable in accordance with <MAT> <MAT> <MAT> wherein m is a frame number, Ẽratio(m) is an energy ratio between Ẽstep(m) and ẼŜcb(m), Ẽstep(m) is an average energy of a step at subframe boundaries, ẼŜcb(m) is a low-pass filtered energy EŜcb(m) of a critical band of a reconstructed signal, β ∈ (<NUM>,<NUM>] is a low-pass filtering coefficient, and Eratio,lim is an upper limit for the energy ratio.

Returning to <FIG>, in block <NUM>, the processing circuitry <NUM> compares the decision variable to a threshold. For example, as described above, when the decision variable is the energy ratio between Ẽstep(m) and ẼŜcb(m), the energy ratio is compared to a threshold Ethr.

In block <NUM>, the processing circuitry <NUM> sets an output signal of the decoder <NUM> to the decoded primary signal or the post-filtered signal (formed by the post-filtering) based on the comparing of the decision variable to the threshold. For example, as described above, in some embodiments, the processing circuitry <NUM> compares the decision variable in accordance with <MAT> In various embodiments of inventive concepts, the threshold energy Ethr can be set to be a value of <NUM>.

An example of setting the output signal is illustrated in <FIG>. Turning to <FIG>, the processing circuitry <NUM> in block <NUM> compares the energy ratio between an average energy of a step at subframe boundaries and an energy estimation of the at least a part of the frequency spectrum of the primary signal to a threshold.

In block <NUM>, responsive to the energy ratio between the average energy of the step at subframe boundaries and the energy estimation of the at least a part of the frequency spectrum of the primary signal being less than a threshold, the processing circuitry <NUM> sets the output signal to be the post-filtered signal.

In block <NUM>, responsive to the energy ratio between the average energy of the step at subframe boundaries and the energy of the at least a part of the frequency spectrum of the primary signal being equal to the threshold or higher than the threshold, the processing circuitry <NUM> sets the output signal to be the decoded primary signal.

In some embodiments of inventive concepts, hysteresis can be added for setting the output between the decoded primary signal and the post-filtered signal to reduce toggling if the energy ratio is hovering around the threshold.

Example embodiments are discussed below.

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

The term "and/or" (abbreviated "/") includes any and all combinations of one or more of the associated listed items.

Claim 1:
A method for audio decoding, where an encoded primary signal is decoded to form a decoded primary signal, followed by a post-filtering of the decoded primary signal to form a post-filtered signal, where an output signal of the decoder is one of the decoded primary signal and the post-filtered signal, the method comprising:
obtaining (<NUM>, <NUM>) an energy estimation of at least a part of a frequency spectrum of the primary signal being reconstructed by the decoder;
obtaining (<NUM>, <NUM>) an analysis of discontinuities in time domain that is caused by the post-filtering of the decoded primary signal;
generating (<NUM>, <NUM>) a decision variable based on the energy estimation obtained and the analysis of discontinuities obtained;
comparing (<NUM>, <NUM>) the decision variable to a threshold; and
setting (<NUM>) the output signal to be the decoded primary signal or the post-filtered signal based on the comparing of the decision variable to the threshold.