Low cost adaptation of bass post-filter
Patent Information
- Application Number
- JP2024094470
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2020-04-24
- Filing Date
- 2024-06-11
- Publication Date
- 2025-04-30
- Estimated Expiration
- 2041-04-23
AI Technical Summary
Postfilters in audio coding can introduce audible artifacts due to abrupt changes in parameters such as pitch period or post-filter strength, particularly in low energy regions of the spectrum, which existing methods like gradual enabling and disabling fail to fully address.
An adaptive post-filtering method that analyzes the energy spectrum and discontinuities in the time domain to dynamically enable or disable the post-filter based on a decision variable compared to a threshold, reducing computational complexity while maintaining audio quality.
This approach effectively reduces audible artifacts by intelligently managing post-filter activation, ensuring smoother transitions and maintaining audio quality with minimal computational overhead.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] The present disclosure relates generally to communications, and more particularly, to methods and apparatus for mono, stereo, or multi-channel audio encoding and decoding. [Background technology]
[0002] Although capacity in telecommunication networks is continually increasing, limiting the bandwidth required per communication channel remains a major concern. Smaller transmission bandwidth for each call in mobile networks allows for lower power consumption in both mobile devices and base stations. This translates into lower energy and cost savings for mobile operators, while providing longer battery life and increased talk time for end users. Furthermore, with less bandwidth consumed per user, mobile networks can serve more users in parallel.
[0003] In the field of speech coding, the ACELP (algebraic code-excited linear prediction) algorithm has been the primary technique in providing high quality sound at low bit rates. The ACELP model, in summary, consists of a linear prediction (LP) filter that models the vocal tract and provides a coarse spectral shape of the reconstructed speech. The LP filter is driven by two codebooks: a pitch codebook (or adaptive codebook) that models the periodic components of the speech, and an excitation codebook (or fixed codebook) that generates non-periodic speech segments and also constructs the pitch codebook. The core algorithm of the ACELP algorithm has been further improved by including post-processing tools such as postfilters. The two main such filters are the formant postfilter and the pitch postfilter, both of which utilize parameters that are part of the ACELP speech model. The formant postfilter uses a linear prediction (LP) filter to enhance the coarse spectral shape, while the pitch postfilter reduces inter-harmonic distortion by enhancing the pitch period. A variant of the pitch post-filter that targets the low frequency range is the bass post-filter (BPF). This tool is present in recent speech codec standards such as ITU-T G.718 and 3GPP EVS, as shown in 3GPP TS 26.445 V16.0.0, Codec for Enhanced Voice Services (EVS); Detailed Algorithmic Description, 6.1.4.2 Bass post-filter[1].
[0004] Although low-pass postfilters generally improve the quality of the decoded audio, they may have a negative effect on some signals. Several adaptation methods have been used to control the postfilter strength. In 3GPP EVS [1], the postfilter strength is adapted to how well the postfiltered signal correlates with the input signal. A low correlation implies that the filter will have a degrading effect, and thus the filter output may be attenuated. The postfilter strength is also adapted to the stability of the LP filter, where a low stability leads to an attenuation of the filter.
[0005] US Patent No. 9,224,403 describes a further adaptation method for the low-pass post-filter. US Patent No. 9,224,403 considers that the codec may use multiple modes, with the CELP or ACELP algorithm being one of those modes. Since the low-pass post-filter is only active for the ACELP mode, the strength of the low-pass post-filter may be adapted to avoid artifacts when enabling and disabling the filter in the presence of frequent mode switching. US Patent No. 9,224,403 further considers how well the input signal is represented by the ACELP or CELP coding model. If there is significant energy loss, the signal is not well modeled and the low-pass post-filter may be harmful. To reduce artifacts due to switching the filter on and off, the strength of the post-filter may be adapted gradually to give a smoother transition. Analysis of the filter impact may be performed on the filtered difference signal, which describes the difference between the filtered and unfiltered signals. It may also be performed on an approximated difference signal to reduce the computational complexity of the method.
[0006] H. Chiba et al., "Adaptive Post-Filtering Controlled by Pitch Frequency for CELP-based Speech Coder," 2014 48th Asilomar Conference on Signals, Systems and Computers, recognizes that the suitability of a low-pass postfilter may depend on the pitch or fundamental frequency of the signal. Here, the postfilter strength is limited as a function of pitch, and the postfilter is attenuated for lower frequencies. The output of the filter is also low-pass filtered with a cutoff frequency that depends on the fundamental frequency, resulting in a lower operating bandwidth for lower fundamental frequencies. Summary of the Invention [Problem to be solved by the invention]
[0007] Although postfilters are intended to reduce noise, they can sometimes introduce new artifacts: in particular, abrupt changes in parameters such as the pitch period parameters or the postfilter strength can result in audible discontinuities in low-energy regions of the spectrum.
[0008] Gradual activation and deactivation, as suggested by U.S. Patent No. 9,224,403, does not address the fact that discontinuities may occur internally in the filter as a result of parameter switching. Experience shows that attempts to smooth parameter switching transitions lead to slower filter adaptation, which degrades postfilter performance, and artifacts are still not completely removed. [Means for solving the problem]
[0009] In one aspect, a method for audio decoding is provided, comprising: decoding an encoded primary signal to form a decoded primary signal, then post-filtering the decoded primary signal to form a post-filtered signal, and one of the decoded primary signal and the post-filtered signal being an output signal of the decoder. An energy estimate of a frequency spectrum of at least a part of the primary signal reconstructed by the decoder and an analysis of discontinuities in the time domain caused by the post-filtering of the decoded primary signal are obtained. Based on the obtained energy estimate and the obtained analysis of discontinuities, a decision variable is generated. The decision variable is compared with a threshold, and based on the comparison of the decision variable with the threshold, an output signal is set to the decoded primary signal or the post-filtered signal.
[0010] In another aspect, a decoder for audio decoding is provided, the decoder comprising: a processing circuit and a memory coupled to the processing circuit, the memory including instructions that, when executed by the processing circuit, cause the decoder to process, the processing including obtaining an energy estimate of a frequency spectrum of at least a portion of the primary signal reconstructed by the decoder and an analysis value of discontinuities in the time domain caused by the postfiltering of the decoded primary signal, generating a decision variable based on the obtained energy estimate and the obtained analysis value of discontinuities, comparing the decision variable to a threshold value, and setting the output signal to the decoded primary signal or the postfiltered signal based on the comparison of the decision variable with the threshold value.
[0011] In another aspect, there is provided a decoder configured to perform a process including obtaining an energy estimate of a frequency spectrum of at least a part of a primary signal reconstructed by the decoder to form a decoded primary signal, obtaining an analysis value of discontinuities in the time domain caused by post-filtering of the decoded primary signal, generating a decision variable based on the obtained energy estimate and the obtained discontinuity analysis value, comparing the decision variable with a threshold, and setting the output signal to the decoded primary signal or a post-filtered signal based on the comparison of the decision variable with the threshold.
[0012] In another aspect, there is provided a computer program comprising program code executed by a processing circuit of a decoder, the program code causing the decoder to perform processes including obtaining an energy estimate of a frequency spectrum of at least a part of a primary signal reconstructed by the decoder to form a decoded primary signal, obtaining an analysis of discontinuities in the time domain caused by post-filtering of the decoded primary signal, generating a decision variable based on the obtained energy estimate and the obtained discontinuity analysis, comparing the decision variable with a threshold, and setting the output signal to the decoded primary signal or a post-filtered signal based on the comparison of the decision variable with the threshold.
[0013] In another aspect, there is provided a computer program product including a non-transitory storage medium including program code executed by a processing circuit of a decoder, the program code causing the decoder to perform processes including obtaining an energy estimate of a frequency spectrum of at least a portion of a primary signal reconstructed by the decoder to form a decoded primary signal, obtaining an analysis of discontinuities in the time domain caused by post-filtering of the decoded primary signal, generating a decision variable based on the obtained energy estimate and the obtained discontinuity analysis, comparing the decision variable with a threshold, and setting the output signal to the decoded primary signal or a post-filtered signal based on the comparison of the decision variable with the threshold.
[0014] One advantage that can be obtained using the inventive concepts described herein is the addition of post-filter adaptation such that the benefits of the post-filter are maintained, and problematic cases are mitigated by attenuating or disabling the post-filter. Moreover, this advantage is achieved in a low-complexity manner, with limited impact on the overall computational complexity of the audio decoder. [Brief description of the drawings]
[0015] The accompanying drawings are intended to provide a further understanding of the present disclosure and illustrate certain non-limiting embodiments of the inventive concepts which are incorporated in and constitute a part of this application.
[0016] [Figure 1] FIG. 1 illustrates an example of a decoder system operating within a network, according to some embodiments.
[0017] [Diagram 2] FIG. 2 is a block diagram illustrating an example of a decoder having a pitch postfilter in accordance with some embodiments.
[0018] [Diagram 3] FIG. 3 is an illustration of discontinuities that may appear at subframe boundaries in a pitch postfilter adjusted signal.
[0019] [Figure 4] FIG. 4 is an explanatory diagram of the power spectrum of a signal before and after application of a pitch postfilter called a "low-pass postfilter (BPF)."
[0020] [Diagram 5] FIG. 5 illustrates a decoder with a pitch postfilter that reconstructs a signal in the frequency domain according to some embodiments.
[0021] [Figure 6] FIG. 6 is a block diagram of elements of an adaptive postfilter in accordance with some embodiments of the inventive concept.
[0022] [Figure 7] FIG. 7 is a block diagram illustrating elements of an adaptive postfilter in accordance with some embodiments of the inventive concept.
[0023] [Figure 8] FIG. 8 is a flowchart illustrating operations performed by an adaptive postfilter according to some embodiments of the inventive concept.
[0024] [Figure 9] FIG. 9 is a block diagram illustrating elements of an alternative adaptive postfilter in accordance with some embodiments of the inventive concepts.
[0025] [Figure 10] FIG. 10 is a block diagram illustrating a decoder according to some embodiments of the inventive concept.
[0026] [Figure 11]FIG. 11 is a flow chart illustrating the operation of a decoder according to some embodiments of the inventive concept.
[0027] [Figure 12] FIG. 12 is a flow chart illustrating the operation of a decoder according to some embodiments of the inventive concept.
[0028] [Figure 13] FIG. 13 is a flow chart illustrating the operation of a decoder according to some embodiments of the inventive concept. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0029] The inventive concept will now be described more fully with reference to the accompanying drawings, in which examples of embodiments of the inventive concept are shown. However, the inventive concept can be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the inventive concept to those skilled in the art. It should also be noted that these embodiments are not mutually exclusive. Elements from one embodiment may be implicitly assumed to be present / used in another embodiment.
[0030] In the following description, various embodiments of the disclosed subject matter are presented. These embodiments are presented as instructional examples and should not be construed as limiting the scope of the disclosed subject matter. For example, specific details of the described embodiments may be modified, omitted, or expanded without departing from the scope of the described subject matter.
[0031] FIG. 1 illustrates an example of an operating environment for a decoder 100 that may be used to decode a mono, stereo, or multi-channel bitstream as described herein. The decoder 100 may be part of a media player, a mobile terminal, a set-top device, a desktop computer, etc. The decoder 100 receives an encoded bitstream. The bitstream may be transmitted from an encoder, a storage unit 104, a device on the cloud via a network 102, etc. In operation, the decoder 100 receives and processes frames of the bitstream as described herein. The decoder 100 outputs an audio signal (e.g., a mono, stereo, or multi-channel audio signal) and transmits the audio signal to an audio player 106 having at least one loudspeaker for playback of the mono, stereo, or multi-channel audio signal. The storage unit 104 may be part of a storage depository of mono, stereo, or multi-channel audio signals, such as a storage repository of a stored or streaming music service, a separate storage component, a component of a mobile terminal, etc. The audio player may be a Bluetooth speaker, a device having at least one loudspeaker, a mobile terminal, a streaming music service, etc.
[0032] 10 is a block diagram illustrating elements of a decoder apparatus 100 configured to provide wireless communication according to an embodiment of the inventive concept. The decoder 100 may be part of a mobile terminal, mobile communication terminal, wireless communication device, wireless terminal, wireless communication terminal, user equipment, UE, user equipment node / terminal / device, etc. As shown, the decoder 100 may include a network interface circuit 1005, also referred to as a network interface, configured to provide communication with other devices / entities / functions / etc. The decoder 100 may also include a processing circuit 1001, also referred to as a processor, operably connected to the network interface circuit 1005, and a memory circuit 1003, also referred to as a memory, operably connected to the processing circuit. The memory circuit 1003 may include computer readable program code that, when executed by the processing circuit 1001, causes the processing circuit to perform processing according to embodiments disclosed herein.
[0033] According to other embodiments, the processing circuit 1001 may be defined to include a memory such that a separate memory circuit is not required. As described herein, the operations of the decoder 100 may be performed by the processor 1001 and / or the network interface 1005. For example, the processor 1001 may control the network interface 1005 to send communications to a multi-channel audio player and / or to receive communications through the network interface 1005 from one or more other network nodes / entities / servers, such as an encoder node, a storage server, etc. Furthermore, the memory 1003 may store modules that, when instructions of the modules are executed by the processor 1001, provide instructions to the processor 1001 to perform respective operations.
[0034] 2 shows an audio decoding system including a pitch postfilter. A decoder 220 receives a bitstream 210, for example from a transmission network or a storage medium. The decoder generates a reconstructed time domain signal ŝ(m,n), where n is the sample index and m is the frame number. The reconstructed time domain signal ŝ(m,n) may also be referred to as the primary signal or the decoded primary signal in the following description. The reconstructed time domain signal ŝ(m,n) is further enhanced by a pitch postfilter 230, which may also utilize the pitch period T.
[0035] The pitch period T is obtained by a pitch analysis performed on the decoded audio, or from analysis at the encoder or decoder on the target signal, or a related audio signal that may have the same or similar dominant pitch as the postfilter input signal.
[0036] The post-filtered signal s^ f (m, n) may be derived using a pitch postfilter of the form:
number
number
number
[0037] The post-filtered signal s^ f (m, n) may be output from the decoder system and played by an audio player or potentially stored or transmitted in the decoded PCM format. Note that the decoder system may include further processing of the postfiltered signal, such as additional enhancement or combination with other signals or signal components, before the final signal is output. The reconstructed signal may in such a case correspond to a difference signal or a residual signal, as outlined in ITU-T G.718 "Frame error robust narrow-band and wideband embedded variable bit-rate coding of speech and audio from 8-32 kbit / s", (Section 7.14.1.2 Dual Lowpass Postfilter). The residual signal may be combined with another signal to provide an enhanced output signal.
[0038] Low Pass Post Filter Adaptation - Embodiment A
[0039] A drawback of the low-pass post-filter of FIG. 2 is that the abrupt change in the low-pass post-filter parameters at the subframe boundaries may cause undesirable discontinuities in the filtered signal, as shown by discontinuity 300 in FIG. 3. These discontinuities may impart distortions that extend across a frequency range. Depending on the spectrum of the input signal, these distortions may be noticeable and disturbing. For example, considering spectrum 400 of FIG. 4, the post-filter operation produces an audible noise 402 above approximately 1 kHz. Note that below 200 Hz, the filter still has the desired effect of reducing inter-harmonic distortion.
[0040] The filter's fail-safe mechanism of measuring the correlation between the filter output and the filter input signal does not address the issue of subframe transitions: since the correlation is calculated at each subframe, transitions between subframes and their potential effects are not taken into account.
[0041] A possible technique to reduce the effect of discontinuities is to apply smoothing by low-pass filtering the parameters or by cross-fading the post-filter output between subframes. It was found that such processing reduces artifacts, but on the other hand it slows down the adaptation of the filter and reduces the positive effect of the filter. Furthermore, although low-pass filtering of the parameters reduces artifacts, it was found that it is better to switch off the post-filter for these critical segments. Thus, it seems desirable to leave the post-filter untouched for areas where it has a positive effect, while it should be turned off completely when it has a negative effect. Post-filter adaptation, which can predict distortions and disable the filter if necessary, can reduce and in some embodiments eliminate the effect of discontinuities.
[0042] The decoder outlined in Fig. 5 provides such adaptation. The decoder 520 receives the bitstream 510 and generates a reconstructed signal in the frequency domain, where m is the frame number and k is the frequency bin index. A transform often used in audio encoder and decoder systems is the modified discrete cosine transform (MDCT). It should be noted that the concepts presented herein are applicable to any transform domain where energy calculation is possible, such as the discrete Fourier transform (DFT), quadrature mirror filterbank (QMF), or hybrid QMF filterbank. The processing block 530 performs an inverse MDCT (IMDCT) transform and applies a postfilter. A postfilter adaptation method according to some embodiments of the inventive concepts can be illustrated by replacing the processing block 530 of Fig. 5 with the adaptive postfilter block 600 of Fig. 6. The frequency domain reconstructed signal ŝ(m,n) 620 is transformed to the time domain. The resulting time domain signal is input to a post-filter difference generation block 610. The post-filter difference in the frequency domain, s diff (m,n) 630 and the reconstructed signal ŝ(m,n) 620 are input to a postfilter adapter 640, which forms a decision value 650 on whether to apply a postfilter. The decision value 650 is used to control the output 660 of an adaptive postfilter block by activating or deactivating the subtraction of the postfilter difference from the reconstructed primary signal.
[0043] 9 shows an alternative method in which the postfilter outputs a filtered signal rather than a filtered difference signal, where the decision mechanism of the alternative adaptive postfilter block 900 decides whether to use the filtered signal 902 or the unfiltered signal 904. A time domain analysis of the filtered signal is performed on the filtered signal 902 instead of the difference signal, with similar results.
[0044] The postfilter adapter 640 of Figure 6 may be further described by the elements of Figure 7 performing the steps outlined in Figure 8. Based on analysis of problematic items such as those shown in Figures 3 and 4, the postfilter adaptation method may be based on detecting the following two conditions: 1. The spectrum has a strong slope or deep valley that may reveal potential distortions of the postfilter, as shown in FIG. 4, which shows that the signal 400 has a valley starting around 1000 Hz where distortion 402 from the postfilter becomes apparent. 2. Large discontinuities at subframe boundaries as shown in FIG. 3 by discontinuity 300.
[0045] Detecting strong slopes or deep valleys in the spectrum can be done by measuring the energy of the spectrum in certain critical bands. Low energy in a critical band may indicate a deep valley in a perceptually sensitive part of the spectrum. The energy measure E S^cb (m) may be performed on the reconstructed signal S(m,k) in the MDCT domain. The MDCT domain energy estimator 710 performs block 800 by measuring the energy of the critical bands.
number
[0046] Frequency bin limit k start and k endcan be set to fit the frequency range of the critical band. For example, the MDCT frame length N MDCT = 160, the sampling rate is 8000Hz, and the critical frequency range is 1000Hz to 1600Hz, then the appropriate value is k start =39, k end = 64. For strict high-pass filtering operations, the upper limit is 4000 Hz, k end = 160. In the above description, the critical bands may be adaptive and may for example depend on the reconstructed signal. The critical bands may for example be focused around identified low energy regions measured on the perceptually weighted spectrum. The perceptually weighted spectrum may be generated based on the spectrum of the reconstructed signal and transformed in frequency and level dimensions so that perceptually important regions are emphasized. The adaptive critical bands may also take into account for which frequency ranges the postfilter may generate distortion.
[0047] Since the MDCT synthesis of ŝ(m,k) may involve an overlap-and-add operation, it may be desirable to mimic the overlap-and-add in the energy estimation, which may be done by applying a low-pass FIR filter 720 in block 810 to the energy estimate of
number
[0048] The size of the discontinuity is determined using the subframe discontinuity analyzer 730 by filtering the filtered difference signal s diff It is measured by averaging the step difference at the (m, n) subframe boundary.
number
[0049] At block 830, the decision variable is multiplied by E in multiplier 740. step (m) and E~ s^cb (m) is the ratio between
number
[0050] In order to stabilize the judgment, E~ ratio (m) may be low pass filtered in inter-frame blocks 840, for example by applying a low pass filter 760 as follows:
number
[0051] It may further be beneficial to limit the range of the low-pass filtered energy ratio in block 840 via limiter 750. The equation in this case can be written as:
number
[0052] The determination of post-filter activation in various embodiments is made by comparing the low-pass filtered energy ratio to a threshold in threshold comparator 770 in block 850 and determining whether to use (e.g., activate) the post-filter in block 860. In one embodiment of the inventive concept, the threshold E thr is set to 1.
number
[0053] As shown in Figure 9, the difference signal s diff Instead of (m, n), the filter output signal s f A similar discontinuity analysis can be performed for (m, n). This can be done, for example, by using the filter constants β, γ, E ratio,lim , and E thr Note that different implementations will likely result in different choices for , but the principles of the concepts discussed above remain the same.
[0054] In some embodiments, it may be useful to provide some hysteresis for switching to reduce toggling when the low-pass filtered energy ratio is hovering around a threshold. One way to implement hysteresis is to have two thresholds, one for enabling and one for disabling. If the enabling threshold is a little higher than the disabling threshold, this creates a "dead zone" for the decision variable, and toggling may be reduced when 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 falls below (or alternatively, exceeds) a threshold in a period of time, and enable (or disable) the post-filter after a predetermined number of times the low-pass filtered energy ratio falls below (or alternatively, exceeds) the threshold in that period of time.
[0055] In the embodiment described above, critical bands are used. In various other embodiments of the inventive concept, there may be two or more critical bands corresponding to two or more spectral valleys. In one embodiment, the critical band selected for analysis is the most sensitive region, and the decision to use a post-filter is performed for the selected critical band. In other embodiments, there may be multiple regions where the noise is significant and so the threshold is slightly below, and combining many of these regions may result in noise being heard by the user, but the analysis by region shows that the noise is not noticeable. One way to account for this may be to sum the contributions from several critical bands and decide whether the output is the primary signal or the post-filtered signal based on the embodiment described above. Another approach is to analyze the bands separately and then disable the post-filter if the threshold is triggered for any one of the bands analyzed.
[0056] Embodiment B
[0057] An alternative method for determining whether noise is masked is to compare the energy of the signal in the critical region before and after the post-filter. This alternative method has been found to give similar results to the inventive concept described in embodiment A, but at the expense of higher delay and complexity. The energy of the critical bands of the reconstructed signal can be measured in the time domain.
number
number
[0058] The decision value D(m) for enabling or disabling the postfilter for a frame is determined by the energy ratio of the critical band of the signal before and after applying the postfilter, which is expressed as a decision threshold E thr where active indicates that the post-filter is enabled and inactive indicates that the post-filter is disabled. In one embodiment of the inventive concept, a threshold E thr is set to 1. In other words, if after applying the postfilter, the energy above a certain cutoff frequency is high, the energy increase is assumed to be caused by noise and the postfilter is disabled.
number
[0059] Disabling the post-filter for a frame may in some embodiments be done by disabling the post-filtered version s f This can be implemented by using the decoded signal s^(m,n) instead of (m,n). The filter routine filters the difference signal s diffWhen generating (m, n), filter disabling may be implemented by skipping the subtraction of the filter difference signal from the decoded signal.
[0060] In some embodiments, it may be useful to provide hysteresis for switching between the primary signal and the post-filtered signal to reduce toggling when the energy ratio is hovering around a threshold. One way to implement hysteresis is to have two thresholds, one for enabling and one for disabling. If the enabling threshold is a little higher than the disabling threshold, this creates a "dead zone" for the decision variable, and toggling is reduced when 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 falls below (or alternatively, exceeds) a threshold in a period of time, and enable (or disable) the post-filter after a predetermined number of times the low-pass filtered energy ratio falls below (or alternatively, exceeds) the threshold in that period of time.
[0061] The operation of the decoder 100 (implemented using the block diagram structure of FIG. 10) will now be described with reference to the flowchart of FIG. 11 according to some embodiments of the inventive concepts. For example, modules may be stored in the memory 1003 of FIG. 3 that provide instructions such that, when instructions of the modules are executed by the respective communication device processing circuitry 1001, the processing circuitry 1001 performs the respective operations of the flowchart.
[0062] 11, in block 1101, the processing circuit 1001 obtains an energy estimate of at least a part of the frequency spectrum of the primary signal reconstructed or decoded by the decoder 100. The reconstruction of the primary signal may be performed in the frequency domain. The processing of block 1101 is similar to the processing of block 800 described above. In various embodiments of the inventive concept, the processing circuit 1001 may obtain the energy estimate by summing up the energy coefficients of at least a part of the frequency spectrum in the frequency domain. For example, in some embodiments, the processing circuit 1001 obtains the energy estimate by measuring the energy of critical bands of the reconstructed signal according to the following equation:
number
[0063] The processing circuit 1001 calculates the energy E s^cb The measurements can be further processed by applying a low pass filter to (m) according to the following equation:
number
[0064] In block 1103, the processing circuit 1001 obtains an analysis of discontinuities in the time domain caused by post-filtering of the primary signal. The processing of block 1103 is similar to the processing of block 820 described above. In various embodiments of the inventive concept, the processing circuit 1001 can obtain the analysis of discontinuities in the time domain by measuring the average energy of the discontinuity size. For example, in some embodiments, the processing circuit 1001 filters the difference signal s according to diff Measure the average energy of the discontinuity size by averaging the steps at the (m, n) subframe boundary.
number
[0065] In block 1105, the processing circuit 1001 generates a decision variable based on the obtained energy estimate and the obtained discontinuity analysis value. The processing of block 1105 is similar to the processing of block 830 described above. In various embodiments of the inventive concept, the processing circuit 1001 can generate the decision variable according to the following equation:
number
[0066] 12, in some embodiments of the inventive concept, processing circuitry 1001 may limit the decision variable to a maximum value in block 1201 and low pass filter the decision variable in block 1203. The processing of blocks 1201 and 1203 is similar to the processing of block 840 described above. In some embodiments, processing circuitry 1001 limits the decision variable and low pass filters the decision variable according to the following equation:
number
[0067] Returning to FIG. 11, in block 1107, the processing circuit 1001 compares the decision variable with a threshold value. For example, as described above, if the decision variable is E~ step (m) and E~ s^cb (m), the energy ratio is the threshold E thr is compared to.
[0068] In block 1109, the processing circuit 1001 sets the output signal of the decoder 100 to the decoded primary signal or the postfiltered signal based on a comparison of the decision variable to a threshold value. For example, as described above, in some embodiments, the processing circuit 1001 compares the decision variable according to the following equation:
number
[0069] An example of setting an output signal is shown in Fig. 13. Referring to Fig. 13, in block 1301, the processing circuit 1001 compares an energy ratio between the average energy of the step at the subframe boundary and an energy estimate of at least a part of the frequency spectrum of the primary signal with a threshold value.
[0070] In block 1303, in response to an energy ratio between the average energy of the step at the subframe boundary and an energy estimate of at least a portion of the frequency spectrum of the primary signal being less than a threshold, the processing circuit 1001 sets the output signal to a postfiltered signal.
[0071] In block 1305, in response to an energy ratio between the average energy of the step at the subframe boundary and the energy of at least a portion of the frequency spectrum of the primary signal being greater than or equal to a threshold, the processing circuit 1001 sets the output signal to the decoded primary signal.
[0072] In some embodiments of the inventive concept, hysteresis may be added to set the output between the decoded primary signal and the post-filtered signal to reduce toggling when the energy ratio is hovering around a threshold.
[0073] Exemplary embodiments are described below.
[0074] A method for audio decoding, comprising: decoding an encoded primary signal to form a decoded primary signal, then post-filtering the decoded primary signal to form a post-filtered signal, and one of the decoded primary signal and the post-filtered signal being an output signal of the decoder, comprising: obtaining an energy estimate of a frequency spectrum of at least a portion of the primary signal reconstructed by the decoder (1101, 800); obtaining an analysis value of discontinuities in the time domain caused by the post-filtering of the decoded primary signal (1103, 820); generating a decision variable based on the obtained energy estimate and the obtained analysis value of discontinuities (1105, 830); comparing the decision variable with a threshold value (1107, 850); and setting the output signal to the decoded primary signal or the post-filtered signal based on the comparison of the decision variable with the threshold value (1109).
[0075]
[0023] Embodiment 2. The method of embodiment 1, wherein the reconstruction of the primary signal is performed in the frequency domain.
[0076]
[0023] Embodiment 3. The method of embodiment 2, wherein obtaining the energy estimate comprises summing energy coefficients of the at least a portion of the frequency spectrum in the frequency domain.
[0077] Embodiment 4 Let m be the frame number, and E be the energy of the critical band of the reconstructed signal. S^cb (m), the reconstructed signal is S^(m, k) and the frequency bin limit value k start and k end When is set to fit the frequency range of the critical band, Obtaining the energy estimate comprises:
number
[0078] Fifth embodiment: A low-pass filtering coefficient γ, which depends on the shape of the modified discrete cosine transform (MDCT) synthesis window and the overlap length, is expressed as γ∈(0,1]. The energy E of the critical band of the reconstructed signal S^cb (m)
number
[0079]
[0023] Embodiment 6. The method of any one of embodiments 1 to 5, wherein obtaining an analysis of the discontinuity in the time domain comprises measuring an average energy of the size of the discontinuity.
[0080] Seventh embodiment: A frame number is m, a subframe number is i, and the average energy of the step at the subframe boundary is E~ step (m), the number of subframes is N sf , let n1, n2,..., n be the sample indices of the subframe boundaries that mark the start of each subframe. Nsf When Measuring the average energy of the size of the discontinuity comprises:
number
[0081]
[0023] Embodiment 8. The method according to any one of embodiments 1 to 7, wherein generating the decision variable comprises limiting (1201, 840) the decision variable to a maximum value.
[0082]
[0023] Embodiment 9. The method of any one of embodiments 1 to 8, further comprising low-pass filtering (1203, 840) the decision variable.
[0083] Embodiment 10: The number of frames is m, and the average energy ratio of the step at the subframe boundary is E step (m) The energy of the critical band of the reconstructed signal, E s^cb (m) is low-pass filtered and then E~ s^cb (m), E~ step (m) and E~ s^cb (m) is the energy ratio E~ ratio (m), the low-pass filtering coefficient β is set to β ∈ (0,1], and the upper limit of the energy ratio is set to E ratio,lim When generating the decision variable
number
[0084] 11. The method of any one of claims 1 to 10, wherein setting the output signal to the decoded primary signal or the postfiltered signal based on the comparison of the decision variable to the threshold comprises: in response to an energy ratio between an average energy of a step at a subframe boundary and an energy estimate of the frequency spectrum of the at least one portion of the primary signal being less than a threshold (1301), setting the output signal to the postfiltered signal (1303); and in response to an energy ratio between the average energy of the step at a subframe boundary and the energy of the frequency spectrum of the at least one portion of the primary signal being equal to or greater than the threshold (1301), setting the output signal to the decoded primary signal (1305).
[0085]
[0023] Embodiment 12. The method of embodiment 11, further comprising providing hysteresis for comparing the decision variable to the threshold to prevent the output signal from flickering between the primary signal and the post-filtered signal when the energy ratio rises above and falls below the threshold level for a specified period of time.
[0086] A decoder (100) for audio decoding, comprising: decoding an encoded primary signal to form a decoded primary signal; thereafter post-filtering the decoded primary signal to form a post-filtered signal; and one of the decoded primary signal and the post-filtered signal being an output signal of the decoder, the decoder comprising: a processing circuit (1001); and a memory (1003) coupled to the processing circuit, the memory including instructions that, when executed by the processing circuit, cause the decoder to perform a process, the process comprising: 11. A decoder comprising: obtaining an energy estimate of a signal spectrum (1101, 800); obtaining an analysis of discontinuities in the time domain caused by the post-filtering of the decoded primary signal (1103, 820); generating a decision variable based on the obtained energy estimate and the obtained discontinuity analysis (1105, 830); comparing the decision variable with a threshold (1107, 850); and setting the output signal to the decoded primary signal or the post-filtered signal based on the comparison of the decision variable with the threshold (1109).
[0087]
[0036] 14. The decoder of claim 13, wherein the reconstruction of the primary signal is performed in the frequency domain.
[0088]
[0036] Embodiment 15. The decoder of embodiment 14, wherein the memory further includes instructions that, when executed by the processing circuit, cause the decoder to perform a process in obtaining the energy estimate, the process including summing energy coefficients of the at least a portion of the frequency spectrum in the frequency domain.
[0089] The frame number is m, and the energy of the critical band of the reconstructed signal is E S^cb (m), the reconstructed signal is S^(m, k) and the frequency bin limit value k start and k end When is set to fit the frequency range of the critical band, The memory, in obtaining the energy estimate,
number
[0090] Embodiment 17: A low-pass filtering coefficient γ that depends on the shape of the modified discrete cosine transform (MDCT) synthesis window and the overlap length is expressed as γ ∈ (0,1]. The memory stores the energy E of the critical band of the reconstructed signal. S^cb (m)
number
[0091]
[0031] Embodiment 18. The decoder of any one of embodiments 13 to 17, wherein the memory further comprises instructions that, when executed by the processing circuit, cause the decoder to perform a process that includes, in obtaining an analysis value of the discontinuity in the time domain, measuring an average energy of the size of the discontinuity.
[0092] Embodiment 19: Let m be the frame number, i be the subframe number, and E be the average energy of the step at the subframe boundary. step (m), the number of subframes is N sf , let n1, n2,..., n be the sample indices of the subframe boundaries that mark the start of each subframe. Nsf When In measuring the average energy of the size of the discontinuity, the memory
number
[0093]
[0036] Embodiment 20. The decoder of any one of embodiments 13 to 19, wherein the memory further includes instructions that, when executed by the processing circuit, cause the decoder to perform a process that includes limiting (1201, 840) the decision variable to a maximum value in generating the decision variable.
[0094]
[0031] Embodiment 21. The decoder of any one of embodiments 13 to 20, wherein the memory further comprises instructions that, when executed by the processing circuit, cause the decoder to perform a process that includes low-pass filtering (1203, 840) the decision variable.
[0095] Embodiment 22: The number of frames is m, and the average energy ratio of the step at the subframe boundary is Estep (m) The energy of the critical band of the reconstructed signal, E s^cb (m) is low-pass filtered and then E~ s^cb (m), E~ step (m) and E~ s^cb (m) is the energy ratio E~ ratio (m), the low-pass filtering coefficient β is set to β ∈ (0,1], and the upper limit of the energy ratio is set to E ratio,lim When The memory, in generating the decision variable,
number
[0096] 23. The decoder of any one of claims 13 to 22, wherein the memory further comprises instructions that, when executed by the processing circuit, cause the decoder to perform a process including: setting the output signal to the primary signal or the postfiltered signal based on the comparison of the decision variable to the threshold, in response to an energy ratio between an average energy of a step at a subframe boundary and an energy estimate of the frequency spectrum of the at least one portion of the primary signal being less than a threshold (1301), setting the output signal to the postfiltered signal (1303); and setting the output signal to the decoded primary signal (1305) in response to the energy ratio between the average energy of the step at a subframe boundary and the energy of the frequency spectrum of the at least one portion of the primary signal being equal to or greater than the threshold (1301).
[0097]
[0031] Embodiment 24. The decoder of embodiment 23, wherein the memory further comprises instructions that, when executed by the processing circuitry, cause the decoder to perform processing including providing hysteresis for comparing the decision variable to the threshold to prevent the output signal from oscillating between the primary signal and the post-filtered signal when the energy ratio is above and below the threshold level for a specified period of time.
[0098] Embodiment 25. A decoder (100), characterized in that it is configured to perform a process including obtaining (1101, 800) an energy estimate of a frequency spectrum of at least a part of a primary signal reconstructed by the decoder to form a decoded primary signal, obtaining (1103, 820) an analysis value of discontinuities in the time domain caused by post-filtering of the decoded primary signal, generating (1105, 830) a decision variable based on the obtained energy estimate and the obtained analysis value of discontinuities, comparing (1107, 850) the decision variable with a threshold value, and setting (1109) the output signal to the decoded primary signal or the post-filtered signal based on the comparison of the decision variable with the threshold value.
[0099] 26. The decoder (100) according to claim 25, characterized in that the decoder (100) is configured to perform the process according to any one of claims 2 to 12.
[0100] 27. A computer program comprising program code executed by a processing circuit (1001) of a decoder (100), characterized in that, when the program code is executed, the decoder (100) performs a process comprising obtaining (1101, 800) an energy estimate of a frequency spectrum of at least a part of a primary signal reconstructed by the decoder to form a decoded primary signal, obtaining (1103, 820) an analysis value of discontinuities in the time domain caused by post-filtering of the decoded primary signal, generating (1105, 830) a decision variable based on the obtained energy estimate and the obtained analysis value of discontinuities, comparing (1107, 850) the decision variable with a threshold value, and setting (1109) the output signal to the decoded primary signal or the post-filtered signal based on the comparison of the decision variable with the threshold value.
[0101] 28. A computer program according to claim 27, comprising additional program code, the execution of which causes the decoder (100) to carry out the process according to any one of claims 2 to 12.
[0102] 29. A computer program product comprising a non-transitory storage medium including a program code executed by a processing circuit (1001) of a decoder (100), characterized in that the program code, when executed, causes the decoder (100) to perform a process including obtaining (1101, 800) an energy estimate of a frequency spectrum of at least a portion of a primary signal reconstructed by the decoder to form a decoded primary signal, obtaining (1103, 820) an analysis value of discontinuities in the time domain caused by post-filtering of the decoded primary signal, generating (1105, 830) a decision variable based on the obtained energy estimate and the obtained analysis value of discontinuities, comparing (1107, 850) the decision variable with a threshold value, and setting (1109) the output signal to the decoded primary signal or the post-filtered signal based on the comparison of the decision variable with the threshold value.
[0103] 30. The computer program product of claim 29, wherein the non-transitory storage medium comprises additional program code, the execution of which causes the decoder (100) to perform the process of any one of claims 2 to 12.
[0104] An explanation of various abbreviations / acronyms used in this disclosure is provided below. Abbreviation Description BPF Bass Post-Filter DFT Discrete Fourier Transform MDCT Modified Discrete Cosine Transform EVS Enhanced Voice Service QMF Quadrature Mirror Filterbank
[0105] Further explanation is provided below.
[0106] In general, all terms used herein should be interpreted according to their ordinary meaning in the relevant technical field unless a different meaning is expressly given and / or implied from the context in which it is used. All references to a / an / element, apparatus, component, means, step, etc. should be openly interpreted as referring to at least one instance of the element, apparatus, component, means, step, etc., unless expressly stated otherwise. The steps of any method disclosed herein need not be performed in the exact order disclosed, unless a step is expressly described as following or preceding another step and / or it is implicit that a step must follow or precede another step. Any feature of any of the embodiments disclosed herein may be applied to any other embodiment, whenever appropriate. Similarly, any advantage of any embodiment may be applied to any other embodiment, and vice versa. Other objects, features, and advantages of the accompanying embodiments will become apparent from the following description.
[0107] Further definitions and embodiments are described below.
[0108] In the above description of various embodiments of the inventive concept, it should be understood that the terms used herein are intended only to describe specific embodiments and are not intended to limit the inventive concept. Unless otherwise defined, all terms used herein (including technical and scientific terms) have the same meaning as commonly understood by those skilled in the art to which the inventive concept belongs. It will be further understood that terms such as those defined in commonly used dictionaries should be interpreted to have a meaning consistent with their meaning in the context of this specification and related art, and will not be interpreted in an idealized or overly formal sense unless expressly defined herein.
[0109] When an element is referred to as being "connected," "coupled," "responsive" to another element, or variations thereof, it may be directly connected, coupled, or responsive to the other element, or there may be intervening elements. In contrast, when an element is referred to as being "directly connected," "directly coupled," "directly responsive," or variations thereof, there are no intervening elements. Like reference numbers refer to like elements throughout. Furthermore, as used herein, "coupled," "connected," "responsive," or variations thereof may include wirelessly coupled, connected, or responsive. As used herein, the singular forms "a," "an," and "the" are intended to include the plural forms unless the context clearly dictates otherwise. Well-known features or configurations may not be described in detail for brevity and / or clarity. The term "and / or" (abbreviated as " / ") includes any and all combinations of one or more of the associated listed items.
[0110] Terms such as first, second, third, etc. may be used herein to describe various elements / operations, but it should be understood that these elements / operations should not be limited by these terms. These terms are used only to distinguish one element / operation from another. Thus, a first element / operation in some embodiments can be referred to as a second element / operation in other embodiments without departing from the teachings of the inventive concept. Throughout this specification, the same reference numbers or the same reference characters indicate the same or similar elements.
[0111] As used in this document, "has," "has," "includes," "including," "comprises," "comprising," or variations thereof are open ended and include one or more stated features, integers, elements, steps, components, or functions, but do not preclude the presence or addition of one or more other features, integers, elements, steps, components, functions, or groups thereof. Additionally, as used herein, the common abbreviation "eg," from the Latin phrase "exempli gratia," is used to introduce or designate a general example or instance of a previously mentioned item, and is not intended to limit such items. The common abbreviation "ie," from the Latin phrase "id est," may be used to designate a particular item from a more general enumeration.
[0112] Exemplary embodiments are described herein with reference to block diagrams and / or flowchart illustrations of computer-implemented methods, apparatus (systems and / or devices) and / or computer program products. It will be understood that blocks of the block diagrams and / or flowchart illustrations, and combinations of blocks in the block diagrams and / or flowchart illustrations, may be implemented by computer program instructions executed by one or more computer circuits. These computer program instructions may be provided to processing circuitry of general-purpose computer circuitry, special-purpose computer circuitry, and / or other programmable data processing circuitry to generate a machine such that the instructions executed via the processor of the computer and / or other programmable data processing apparatus, the translation and control transistors, the values stored in memory locations, and other hardware components in such circuits implement the functions / operations specified in the block diagrams and / or flowchart blocks or blocks, thereby creating means (functions) and / or structures for implementing the functions / operations specified in the block diagrams and / or flowchart blocks.
[0113] These computer program instructions may also be stored on a tangible computer-readable medium that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored on the computer-readable medium produce an article of manufacture that includes instructions that perform the functions / acts specified in the block diagram and / or flowchart block or blocks. Thus, embodiments of the inventive concepts may be embodied in hardware and / or software (including firmware, resident software, microcode, etc.) running on a processor, such as a digital signal processor, which may collectively be referred to as a "circuit," "module," or variations thereof.
[0114] It should also be noted that in some alternative implementations, the functions / acts noted in the blocks may occur out of the order noted in the flowcharts. For example, two blocks shown in succession may in fact be executed substantially simultaneously or may be executed in the reverse order depending on the functions / acts involved in the blocks. Furthermore, the functionality of a given block of the flowcharts and / or block diagrams may be separated into multiple blocks and / or the functionality of two or more blocks of the flowcharts and / or block diagrams may be at least partially integrated. Finally, other blocks may be added / inserted between the illustrated blocks and / or blocks / acts may be omitted without departing from the scope of the inventive concept. Furthermore, while some of the figures include arrows on communication paths to indicate a primary direction of communication, it should be understood that communication may occur in a direction opposite to that of the depicted arrows.
[0115] Many variations and modifications can be made to the embodiments without substantially departing from the principles of the inventive concept. All such variations and modifications are intended to be included within the scope of the inventive concept. Therefore, the subject matter disclosed above should be considered as illustrative and not limiting, and the example embodiments are intended to cover all such modifications, enhancements, and other embodiments that fall within the spirit and scope of the inventive concept. Therefore, to the maximum extent permitted by law, the scope of the inventive concept should be determined by the broadest permissible interpretation of the present disclosure, including the example embodiments and their equivalents, and is not intended to be limited or restricted by the foregoing detailed description.
Claims
1. 1. A method for audio decoding, comprising: decoding an encoded primary signal to form a decoded primary signal, thereafter post-filtering the decoded primary signal to form a post-filtered signal, and one of the decoded primary signal and the post-filtered signal being an output signal of the decoder, the method comprising: Obtaining (1101, 800) an energy estimate of a frequency spectrum of at least a portion of the primary signal reconstructed by the decoder; Obtaining (1103, 820) a time domain discontinuity profile caused by the post-filtering of the decoded primary signal; generating (1105, 830) decision variables based on the obtained energy estimates and the obtained discontinuity profiles; comparing the decision variable to a threshold (1107, 850); setting the output signal to the decoded primary signal or the post-filtered signal based on the comparison of the decision variable to the threshold (1109); 13. The method of claim 12, further comprising:
2. 2. The method of claim 1, wherein the reconstruction of the primary signal is performed in the frequency domain.
3. The method of claim 2 , wherein obtaining the energy estimate comprises summing energy coefficients of the at least a portion of the frequency spectrum in the frequency domain.
4. Let m be the frame number, and E be the energy of the critical band of the reconstructed signal. S^cb (m), the reconstructed signal is S^(m, k) and the frequency bin limit value k start and k end When is set to fit the frequency range of the critical band, Obtaining the energy estimate comprises: [0028] measuring the energy of critical bands of the reconstructed signal according to 4. The method according to claim 3 .
5. The low-pass filtering coefficient γ, which depends on the shape of the modified discrete cosine transform (MDCT) synthesis window and the overlap length, is defined as γ ∈ (0,1]. The energy E of the critical band of the reconstructed signal S^cb (m) [0029] and applying a low pass filter according to 5. The method of claim 4.
6. 6. The method according to claim 1, wherein obtaining an analysis of the discontinuity in the time domain comprises measuring an average energy of the size of the discontinuity.
7. Let m be the frame number, i be the subframe number, and E be the average energy of the step at the subframe boundary. step (m), the number of subframes is N sf , the sample index of the subframe boundary that marks the start of each subframe is n 1 , n 2 ,..., n Nsf When Measuring the average energy of the size of the discontinuity comprises: [0030] According to the filter difference signal s diff Averaging the steps at the (m, n) subframe boundaries.
7. The method of claim 6.
8. 8. The method according to claim 1, wherein generating the decision variable comprises limiting (1201, 840) the decision variable to a maximum value.
9. 9. The method of claim 1, further comprising low-pass filtering (1203, 840) the decision variables.
10. The number of frames is m, and the average energy ratio of the step at the subframe boundary is E~ step (m) The energy of the critical band of the reconstructed signal, E s^cb (m) is low-pass filtered and then E~ s^cb (m), E~ step (m) and E~ s^cb (m) is the energy ratio E~ ratio (m), the low-pass filtering coefficient β is set to β ∈ (0,1], and the upper limit of the energy ratio is set to E ratio,lim When generating the decision variable [0031] According to the judgment variable E~ ratio,LP 10. The method of claim 9, further comprising generating (m).
11. 13. The method of claim 1, wherein setting the output signal to the decoded primary signal or the postfiltered signal based on the comparison of the decision variable to the threshold comprises: setting the output signal to the postfiltered signal in response to an energy ratio between an average energy of a step at a subframe boundary and an energy estimate of the frequency spectrum of the at least one portion of the primary signal being less than a threshold (1301); and setting the output signal to the decoded primary signal in response to the energy ratio between the average energy of the step at a subframe boundary and the energy of the frequency spectrum of the at least one portion of the primary signal being equal to or greater than the threshold (1301).
12. 12. The method of claim 11, further comprising providing hysteresis for the comparison of the decision variable to the threshold to prevent the output signal from oscillating between the primary signal and the post-filtered signal when the energy ratio rises above and falls below the threshold level for a specified period of time.
13. A decoder (100) for audio decoding, decoding an encoded primary signal to form a decoded primary signal, thereafter post-filtering the decoded primary signal to form a post-filtered signal, one of the decoded primary signal and the post-filtered signal being an output signal of the decoder, the decoder comprising a processing circuit (1001) and a memory (1003) coupled to the processing circuit, the memory comprising instructions that, when executed by the processing circuit, cause the decoder to perform a process, the process comprising: Obtaining (1101, 800) an energy estimate of a frequency spectrum of at least a portion of the primary signal reconstructed by the decoder; Obtaining (1103, 820) a time domain discontinuity profile caused by the post-filtering of the decoded primary signal; generating (1105, 830) decision variables based on the obtained energy estimates and the obtained discontinuity profiles; comparing the decision variable to a threshold (1107, 850); setting the output signal to the decoded primary signal or the post-filtered signal based on the comparison of the decision variable to the threshold (1109); 13. A decoder comprising:
14. 14. A decoder according to claim 13, characterized in that the reconstruction of the primary signal is performed in the frequency domain.
15. 15. The decoder of claim 14, wherein the memory further comprises instructions that, when executed by the processing circuitry, cause the decoder to perform a process in obtaining the energy estimate, the process comprising summing energy coefficients of the at least a portion of the frequency spectrum in the frequency domain.
16. Let m be the frame number, and E be the energy of the critical band of the reconstructed signal. S^cb (m), the reconstructed signal is S^(m, k) and the frequency bin limit value k start and k end When is set to fit the frequency range of the critical band, The memory, in obtaining the energy estimate, [0032] 16. A decoder as claimed in claim 15, further comprising instructions which, when executed by the processing circuitry, cause the decoder to perform processing including measuring the energy of critical bands of the reconstructed signal according to
17. The low-pass filtering coefficient γ, which depends on the shape of the modified discrete cosine transform (MDCT) synthesis window and the overlap length, is defined as γ ∈ (0,1]. The memory stores the energy E of the critical band of the reconstructed signal. S^cb (m) [Equation 33] 17. A decoder as claimed in claim 16, further comprising instructions which, when performed by the processing circuitry, cause the decoder to perform processing comprising applying a low pass filter according to:
18. 18. A decoder according to any one of claims 13 to 17, characterized in that the memory further comprises instructions which, when executed by the processing circuit, cause the decoder to carry out a process comprising, in obtaining an analysis value of the discontinuities in the time domain, measuring an average energy of the size of the discontinuities.
19. Let m be the frame number, i be the subframe number, and E be the average energy of the step at the subframe boundary. step (m), the number of subframes is N sf , the sample index of the subframe boundary that marks the start of each subframe is n 1 , n 2 ,..., n Nsf When In measuring the average energy of the size of the discontinuity, the memory [0034] According to the filter difference signal s diff 19. A decoder as claimed in any one of claims 13 to 18, further comprising instructions which, when performed by the processing circuitry, cause the decoder to perform processing comprising averaging steps at (m, n) subframe boundaries.
20. 20. The decoder of claim 13, wherein the memory further comprises instructions which, when executed by the processing circuit, cause the decoder to perform operations including limiting (1201, 840) the decision variable to a maximum value in generating the decision variable.
21. 21. The decoder of claim 13, wherein the memory further comprises instructions that, when executed by the processing circuitry, cause the decoder to perform a process comprising low-pass filtering (1203, 840) the decision variable.
22. The number of frames is m, and the average energy ratio of the step at the subframe boundary is E~ step (m) The energy of the critical band of the reconstructed signal, E s^cb (m) is low-pass filtered and then E~ s^cb (m), E~ step (m) and E~ s^cb (m) is the energy ratio E~ ratio (m), the low-pass filtering coefficient β is set to β ∈ (0,1], and the upper limit of the energy ratio is set to E ratio,lim When The memory, in generating the decision variable, [Equation 35] According to the judgment variable E~ ratio,LP 22. The decoder of claim 21 further comprising instructions that, when executed by the processing circuitry, cause the decoder to perform operations including generating (m).
23. 23. The decoder of claim 13, wherein the memory further comprises instructions that, when executed by the processing circuit, cause the decoder to perform a process comprising: setting the output signal to the primary signal or the postfiltered signal based on the comparison of the decision variable to the threshold, in response to an energy ratio between an average energy of a step at a subframe boundary and an energy estimate of the frequency spectrum of the at least one portion of the primary signal being less than a threshold (1301); and setting the output signal to the decoded primary signal (1305) in response to the energy ratio between the average energy of the step at a subframe boundary and the energy of the frequency spectrum of the at least one portion of the primary signal being equal to or greater than the threshold (1301).
24. 24. The decoder of claim 23, wherein the memory further comprises instructions that, when executed by the processing circuitry, cause the decoder to perform operations including providing hysteresis for comparing the decision variable to the threshold to prevent the output signal from oscillating between the primary signal and the post-filtered signal when the energy ratio is above and below the threshold level for a specified period of time.
25. 1. A decoder (100), configured to perform a process comprising obtaining (1101, 800) an energy estimate of a frequency spectrum of at least a part of a primary signal reconstructed by the decoder to form a decoded primary signal, obtaining (1103, 820) an analysis value of discontinuities in the time domain caused by post-filtering of the decoded primary signal, generating (1105, 830) a decision variable based on the obtained energy estimate and the obtained analysis value of discontinuities, comparing (1107, 850) the decision variable with a threshold, and setting (1109) the output signal to the decoded primary signal or a post-filtered signal based on the comparison of the decision variable with the threshold.
26. 26. The decoder (100) of claim 25, wherein the decoder (100) is configured to perform a process according to any one of claims 2 to 12.
27. 11. A computer program comprising program code executed by a processing circuit (1001) of a decoder (100), the program code causing the decoder (100) to perform a process comprising obtaining (1101, 800) an energy estimate of a frequency spectrum of at least a part of a primary signal reconstructed by the decoder to form a decoded primary signal, obtaining (1103, 820) an analysis value of discontinuities in the time domain caused by post-filtering of the decoded primary signal, generating (1105, 830) a decision variable based on the obtained energy estimate and the obtained analysis value of discontinuities, comparing (1107, 850) the decision variable with a threshold, and setting (1109) the output signal to the decoded primary signal or the post-filtered signal based on the comparison of the decision variable with the threshold.
28. 28. A computer program according to claim 27, comprising additional program code, the execution of which causes the decoder (100) to carry out the processing according to any one of claims 2 to 12.
29. 1. A computer program product comprising a non-transitory storage medium including program code executed by a processing circuit (1001) of a decoder (100), the program code causing the decoder (100) to perform a process including obtaining (1101, 800) an energy estimate of a frequency spectrum of at least a portion of a primary signal reconstructed by the decoder to form a decoded primary signal, obtaining (1103, 820) an analysis of discontinuities in the time domain caused by post-filtering of the decoded primary signal, generating (1105, 830) a decision variable based on the obtained energy estimate and the obtained analysis of discontinuities, comparing (1107, 850) the decision variable with a threshold, and setting (1109) the output signal to the decoded primary signal or the post-filtered signal based on the comparison of the decision variable with the threshold.
30. 30. The computer program product of claim 29, wherein the non-transitory storage medium comprises additional program code, the execution of which causes the decoder (100) to perform the process of any one of claims 2 to 12.