Low cost adaptation of bass post-filter
An adaptive post-filtering method analyzes energy spectrum and discontinuities to dynamically enable or disable post-filters, addressing audible artifacts and maintaining audio quality with reduced computational complexity.
Patent Information
- Application Number
- JP2025135459
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2020-04-24
- Filing Date
- 2025-08-15
- Publication Date
- 2025-12-16
AI Technical Summary
Postfilters in audio decoding can introduce audible discontinuities and artifacts due to abrupt changes in parameters such as pitch period or postfilter strength, particularly in low-energy regions of the spectrum, which existing gradual adaptation methods fail to fully address.
An adaptive post-filtering method that analyzes the energy spectrum and discontinuities in the time domain to determine whether to enable or disable the post-filter based on a decision variable compared to a threshold, reducing computational complexity while mitigating artifacts.
Maintains the benefits of post-filtering while minimizing artifacts through adaptive control, ensuring smoother transitions and improved audio quality with minimal computational overhead.
Smart Images

Figure 2025183227000001_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] While capacity in telecommunications networks is continually increasing, limiting the bandwidth required per communication channel remains a major concern. In mobile networks, smaller transmission bandwidth for each call allows for lower power consumption in both mobile devices and base stations. This reduces energy and costs for mobile operators while providing longer battery life and increased talk time for end users. Furthermore, consuming less bandwidth per user allows mobile networks to 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 for providing high-quality sound at low bit rates. The ACELP model, in brief, 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 speech, and an excitation codebook (or fixed codebook) that generates nonperiodic speech segments and also constructs the pitch codebook. The core algorithm of the ACELP algorithm has been further refined with the inclusion of postprocessing 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 interharmonic distortion by emphasizing 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 can have a negative effect on some signals. Several adaptive 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 as a result, the filter output may be attenuated. The postfilter strength is also adapted to the stability of the LP filter, where a low stability will attenuate the filter.
[0005] U.S. Patent No. 9,224,403 describes a further method for adapting a low-pass postfilter. U.S. Patent No. 9,224,403 considers that a codec may use multiple modes, with the CELP or ACELP algorithm being one of those modes. Because the low-pass postfilter is only active for the ACELP mode, the strength of the low-pass postfilter can be adapted to avoid artifacts when enabling and disabling the filter in the presence of frequent mode switching. U.S. 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 adequately modeled and the low-pass postfilter may be harmful. To reduce artifacts caused by switching the filter on and off, the strength of the postfilter can be gradually adapted to provide a smoother transition. Analysis of the filter effect can be performed on a filtered difference signal, which describes the difference between the filtered and unfiltered signals. It can 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 post-filter can depend on the pitch or fundamental frequency of the signal. Here, the post-filter strength is limited as a function of pitch, and the post-filter 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 pitch period parameters or 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 post-filter 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; subsequently, post-filtering the decoded primary signal to form a post-filtered signal; and providing one of the decoded primary signal and the post-filtered signal as an output signal of the decoder. An energy estimate of a frequency spectrum of at least a portion 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. A decision variable is generated based on the obtained energy estimate and the analysis of discontinuities. The decision variable is compared with a threshold, and an output signal is set to either the decoded primary signal or the post-filtered signal based on the comparison of the decision variable with the threshold.
[0010] In another aspect, a decoder for audio decoding is provided that decodes an encoded primary signal to form a decoded primary signal, then post-filters the decoded primary signal to form a post-filtered signal, and one of the decoded primary signal and the post-filtered signal is an output signal of the decoder, 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 post-filtering 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 post-filtered 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 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 analysis of the discontinuities, comparing the decision variable with a threshold, 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.
[0012] In another aspect, there is provided a computer program comprising program code that is executed by a processing circuit of a decoder, the program code causing the decoder to perform operations 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 analysis of discontinuities; comparing the decision variable with a threshold; 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.
[0013] In another aspect, there is provided a computer program product including a non-transitory storage medium containing program code that, when executed by processing circuitry of a decoder, causes the decoder to perform processes including obtaining energy estimates 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 analysis of discontinuities; 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. Furthermore, this advantage is achieved in a low complexity manner, with limited impact on the overall computational complexity of the audio decoder. [Brief explanation 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] [Figure 2] FIG. 2 is a block diagram illustrating an example of a decoder with a pitch postfilter according to some embodiments.
[0018] [Figure 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 applying a pitch postfilter called a "low-pass postfilter (BPF)."
[0020] [Figure 5] FIG. 5 is a diagram illustrating a decoder with a pitch postfilter, which 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 according to 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 according to some embodiments of the inventive concept.
[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 flowchart illustrating the operation of a decoder according to some embodiments of the inventive concept.
[0027] [Figure 12] FIG. 12 is a flowchart illustrating the operation of a decoder according to some embodiments of the inventive concept.
[0028] [Figure 13] FIG. 13 is a flowchart illustrating the operation of a decoder according to some embodiments of the inventive concept. DETAILED DESCRIPTION OF THE INVENTION
[0029] The present inventive concepts will be described more fully hereinafter with reference to the accompanying drawings, in which example embodiments of the inventive concepts are shown. However, the inventive concepts may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the inventive concepts to those skilled in the art. Also, it should 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 can be modified, omitted, or expanded without departing from the scope of the described subject matter.
[0031] FIG. 1 illustrates an example 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 with 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 in accordance with an embodiment of the inventive concept. The decoder 100 may be part of a mobile terminal, mobile communications 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 in accordance with embodiments disclosed herein.
[0033] According to other embodiments, the processing circuit 1001 may be defined to include memory such that a separate memory circuit is not required. As described herein, 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. Additionally, the memory 1003 may store modules that, when executed by the processor 1001, cause the processor 1001 to perform respective operations.
[0034] 2 illustrates 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) is sometimes 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 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] Post-filtered signal s^ f (m, n) can be derived using a pitch postfilter of the form:
number
number
number
[0037] Post-filtered signal s^ f (m, n) is output from the decoder system and can be played by an audio player, or potentially stored or transmitted in decoded PCM format. Note that the decoder system may include further processing of the post-filtered signal, such as additional enhancement or combination with other signals or signal components, before the final signal is output. The reconstructed signal, in such cases, may correspond to the difference signal or 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 postfilter of FIG. 2 is that abrupt changes in the low-pass postfilter parameters at subframe boundaries can introduce undesirable discontinuities in the filtered signal, as illustrated by discontinuity 300 in FIG. 3. These discontinuities can introduce distortions that extend across a frequency range. Depending on the spectrum of the input signal, these distortions can be noticeable and disruptive. For example, considering spectrum 400 in FIG. 4, the postfilter operation produces 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, which measures 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 for reducing the effects of discontinuities is to apply smoothing by low-pass filtering the parameters or by cross-fading the post-filter output between subframes. While such processing has been found to reduce artifacts, it also slows down filter adaptation, reducing the filter's positive effect. Furthermore, while low-pass filtering of the parameters reduces artifacts, it has been found to be better to switch off the post-filter for these critical segments. Thus, it seems desirable to leave the post-filter untouched for regions where it has a positive effect, while turning it off completely when it has a negative effect. Post-filter adaptation, which can predict distortions and disable the filter as needed, can reduce, and in some embodiments eliminate, the effects of discontinuities.
[0042] The decoder outlined in Figure 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). Note that the concepts presented herein are applicable to any transform domain in which energy calculation is possible, such as the discrete Fourier transform (DFT), quadrature mirror filterbank (QMF), or hybrid QMF filterbank. The processing block 530 performs the 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 in Figure 5 with the adaptive postfilter block 600 in Figure 6. The frequency-domain reconstructed signal ŝ(m,n) 620 is transformed to the time domain. The resulting time domain signal is input to the post-filter difference generation block 610. The post-filter difference s in the frequency domain is 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 the 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. Here, the decision mechanism of the alternative adaptive postfilter block 900 determines whether to use the filtered signal 902 or the unfiltered signal 904. A time-domain analysis of the filtered signal can be performed on the filtered signal 902 instead of the difference signal, with similar results.
[0044] The post-filter adapter 640 of Figure 6 can 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 post-filter adaptation method may be based on detecting the following two conditions: 1. The spectrum has a strong slope or deep valley that can reveal potential distortions of the postfilter, as shown in Figure 4, which shows that 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 a 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 measurement E at each frame m is 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, for example, depend on the reconstructed signal. For example, the critical bands may 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 produce distortion.
[0047] Since the MDCT synthesis of ŝ(m,k) may involve an overlap-add operation, it may be desirable to mimic the overlap-add in the energy estimation, which may be done by applying a low-pass FIR filter 720 in block 810 to the energy estimate:
number
[0048] The size of the discontinuity is determined using the subframe discontinuity analyzer 730 by filtering the filtered difference signal s in block 820. 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 formed as the ratio between
number
[0050] In order to stabilize the judgment, E~ ratio (m) may be low pass filtered in the 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), e.g., by using the filter constants β, γ, E ratio,lim , and E thr Note that while different choices for , the principles of the concepts described 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 slightly 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.
[0055] In the above-described embodiment, 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 is slightly below the threshold, and combining many of these regions may result in audible noise to the user, but a region-by-region analysis may indicate that the noise is not noticeable. One way to account for this may be to sum the contributions from several critical bands and determine whether the output is the primary signal or the post-filtered signal based on the above-described embodiment. Another approach is to analyze the bands separately and then disable the post-filter if the threshold is triggered for any one of the analyzed bands.
[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 post-filter for a frame is determined by the energy ratio of the critical band of the signal before and after applying the post-filter, which is the 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 post-filter, the energy above a certain cut-off frequency is high, the energy increase is assumed to be caused by noise and the post-filter is disabled.
number
[0059] Disabling the post-filter for a frame may, in some embodiments, be performed by disabling the post-filtered version s f This can be implemented by using the decoded signal ŝ(m,n) instead of (m,n). 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 slightly higher than the disabling threshold, this creates a "dead zone" for the decision variable, reducing toggling 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 certain 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.
[0061] The operation of 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 concept. For example, modules may be stored in memory 1003 of FIG. 3 that provide instructions such that, when instructions of the modules are executed by respective communication device processing circuitry 1001, the processing circuitry 1001 performs the respective operations of the flowchart.
[0062] 11 , in block 1101, processing circuit 1001 obtains an energy estimate of at least a portion of the frequency spectrum of the primary signal reconstructed or decoded by 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, processing circuit 1001 may obtain the energy estimate by summing energy coefficients of at least a portion of the frequency spectrum in the frequency domain. For example, in some embodiments, 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 of the critical band of the reconstructed signal. 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, 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, processing circuit 1001 can obtain an analysis of discontinuities in the time domain by measuring the average energy of the discontinuity size. For example, in some embodiments, processing circuit 1001 filters difference signal s according to the following equation: diff The average energy of the discontinuity size is measured by averaging the steps at the (m, n) subframe boundaries.
number
[0065] In block 1105, 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, processing circuit 1001 may generate the decision variable according to the following equation:
number
[0066] 12, in some embodiments of the inventive concept, processing circuit 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 circuit 1001 limits the decision variable and low-pass filters the decision variable according to the following equation:
number
[0067] 11, in block 1107, processing circuit 1001 compares the decision variable with a threshold. 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 It is compared to.
[0068] In block 1109, processing circuit 1001 sets the output signal of decoder 100 to either the decoded primary signal or the post-filtered signal (formed by post-filtering) based on a comparison of the decision variable and a threshold. For example, as described above, in some embodiments, processing circuit 1001 compares the decision variable according to the following equation:
number
[0069] An example of setting the output signal is shown in Figure 13. Referring to Figure 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 the frequency spectrum of at least a portion of the primary signal with a threshold.
[0070] In block 1303, in response to an energy ratio between the average energy of the step at the subframe boundary and the 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 the post-filtered 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] Method for audio decoding, which decodes an encoded primary signal to form a decoded primary signal, then post - filters the decoded primary signal to form a post - filtered signal, and uses one of the decoded primary signal and the post - filtered signal as the output signal of the decoder, comprising: obtaining an energy estimate of at least a part of the frequency spectrum of the primary signal reconstructed by the decoder (1101, 800); obtaining an analysis value of discontinuity 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 discontinuity (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 between the decision variable and the threshold value (1109).
[0075] Embodiment 2: The method according to Embodiment 1, wherein the reconstruction of the primary signal is performed in the frequency domain.
[0076] Embodiment 3: The method according to Embodiment 2, wherein obtaining the energy estimate includes summing the energy coefficients of at least a part of the frequency spectrum in the frequency domain.
[0077] Embodiment 4: When the frame number is m, 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 values k start and k end are set to match the frequency range of the critical band, obtaining the energy estimate includes
Number
[0078] Embodiment 5: When γ is a low-pass filtering coefficient that depends on the shape of the modified discrete cosine transform (MDCT) synthesis window and the overlap length, γ∈(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 When the frame number is m, the 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 , the sample indices of the subframe boundaries that mark the start of each subframe are n1, n2,..., n Nsf When Measuring the average energy of the size of the discontinuity comprises:
number
[0081]
[0023] Embodiment 8. The method of any one of embodiments 1 to 7, wherein generating the decision variable includes limiting (1201, 840) the decision variable to a maximum value.
[0082] 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) and the energy ratio E~ ratio (m), the low-pass filtering coefficient β is set as β∈(0,1], and the upper limit of the energy ratio is set as 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 post-filtered signal based on the comparison of the decision variable with the threshold comprises: setting the output signal to the post-filtered 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 part of the primary signal being less than a threshold (1301); and setting the output signal to the decoded primary signal 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 part of the primary signal being greater than or equal to the threshold (1301).
[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 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.
[0086] Embodiment 13. A decoder (100) for audio decoding, 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, 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 analysis of discontinuities (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]
[0033] Embodiment 14. The decoder of embodiment 13, wherein the reconstruction of the primary signal is performed in the frequency domain.
[0088]
[0033] Embodiment 15: The decoder of embodiment 14, wherein the memory further includes instructions that, when executed by the processing circuitry, cause the decoder to perform a process that, in obtaining the energy estimate, includes summing energy coefficients of the at least a portion of the frequency spectrum in the frequency domain.
[0089] Embodiment 16: 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: When γ is a low-pass filtering coefficient that depends on the shape of the modified discrete cosine transform (MDCT) synthesis window and the overlap length, γ∈(0,1], The memory stores the energy E of the critical band of the reconstructed signal. S^cb (m)
number
[0091]
[0033] 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 processing that includes measuring an average energy of the size of the discontinuity in obtaining an analysis value of the discontinuity in the time domain.
[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 , the sample indices of the subframe boundaries that mark the start of each subframe are n1, n2,..., n Nsf When In measuring the average energy of the size of the discontinuity, the memory
number
[0093]
[0046] 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]
[0033] Embodiment 21: The decoder of any one of embodiments 13 to 20, wherein the memory further comprises instructions that, when executed by the processing circuitry, cause the decoder to perform a process including 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) and the energy ratio E~ ratio (m), the low-pass filtering coefficient β is set as β∈(0,1], and the upper limit of the energy ratio is set as 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 includes 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 post-filtered 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 post-filtered 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]
[0033] Embodiment 24. The decoder of embodiment 23, wherein the memory further includes 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) configured to perform a process including obtaining (1101, 800) an energy estimate of the 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 the 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.
[0099] 26. The decoder (100) according to claim 25, wherein 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), wherein execution of the program code causes the decoder (100) to perform a process including obtaining (1101, 800) an energy estimate of the 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 the 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.
[0101] Embodiment 28: A computer program according to embodiment 27, comprising additional program code, the execution of which causes the decoder (100) to perform the processing according to any one of claims 2 to 12.
[0102] 29. A computer program product comprising a non-transitory storage medium containing program code that is executed by a processing circuit (1001) of a decoder (100), wherein execution of the program code 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, 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.
[0103] Embodiment 30: The computer program product of embodiment 29, wherein the non-transitory storage medium includes additional program code, the execution of which causes the decoder (100) to perform the processing 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 clearly given and / or is implied from the context in which it is used. All references to a / an element, apparatus, component, means, step, etc. should be interpreted openly as referring to at least one instance of the element, apparatus, component, means, step, etc., unless explicitly 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 terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the inventive concept. Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the inventive concept belongs. 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 should not be interpreted in an idealized or overly formal sense unless explicitly defined herein.
[0109] When an element is referred to as being "connected," "coupled," or "responsive" to another element, or variations thereof, it may be directly connected, coupled, or responsive to the other element, or intervening elements may be present. In contrast, when an element is referred to as being "directly connected," "directly coupled," "directly responsive," or variations thereof, there are no intervening elements present. Like reference characters refer to the same 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 unless the context clearly dictates otherwise. Well-known features or configurations may not be described in detail for the sake of brevity and / or clarity. The term "and / or" (abbreviated " / ") includes any and all combinations of one or more of the associated listed items.
[0110] Terms such as first, second, and third 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 symbols refer to the same or similar elements.
[0111] As used in this document, "have," "having," "include," "including," "comprises," "comprising," or variations thereof are open-ended and refer to the inclusion of one or more specified 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," derived 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," derived from the Latin phrase "id est," may be used to designate a particular item from a more general list.
[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, can be implemented by computer program instructions executed by one or more computer circuits. These computer program instructions can 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, translation and control transistors, values stored in memory locations, and other hardware components within such circuits execute via the processor of the computer and / or other programmable data processing apparatus to implement the functions / operations specified in the block diagram and / or flowchart block or blocks, thereby creating means (functions) and / or structure for implementing the functions / operations specified in the block diagram and / or flowchart block or 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 concurrently or may be executed in the reverse order, depending on the function / acts involved in the blocks. Furthermore, the functionality of a given block in the flowcharts and / or block diagrams may be separated into multiple blocks, and / or the functionality of two or more blocks in 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 concepts. 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. Accordingly, the subject matter disclosed above should be considered 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 this disclosure, including the example embodiments and their equivalents, and is not intended to be limited or constrained 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, comprising: obtaining an energy estimate (1101, 800) of the frequency spectrum of at least a portion of the primary signal reconstructed by the decoder; Obtaining (1103, 820) an analysis of discontinuities in the time domain 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 analysis values; 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 and the threshold (1109); 10. A method 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: [0000] measuring the energy of critical bands of the reconstructed signal according to 4. The method of claim 3.
5. where γ is a low-pass filtering coefficient that depends on the shape of the modified discrete cosine transform (MDCT) synthesis window and the overlap length, and γ∈(0,1]. The energy E of the critical band of the reconstructed signal S^cb (m) [0000] and applying a low pass filter according to 5. The method of claim 4.
6. 6. The method of 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: [Equation 30] According to diff Averaging the steps at the (m, n) subframe boundaries.
7. The method of claim 6.
8. 8. The method of 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) and the energy ratio E~ ratio (m), the low-pass filtering coefficient β is set as β∈(0,1], and the upper limit of the energy ratio is set as E ratio,lim When generating the decision variable [Equation 31] According to the decision variable E ratio,LP 10. The method of claim 9, further comprising generating (m).
11. 11. The method of claim 1, wherein 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 comprises: setting the output signal to the post-filtered signal in response to an energy ratio between an average energy of steps at subframe boundaries and an energy estimate of the frequency spectrum of the at least part of the primary signal being less than a threshold; and setting the output signal to the decoded primary signal in response to an energy ratio between the average energy of steps at subframe boundaries and the energy of the frequency spectrum of the at least part of the primary signal being greater than or equal to the threshold.
12. 12. The method of claim 11, further comprising 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.
13. 1. A decoder (100) for audio decoding, decoding an encoded primary signal to form a decoded primary signal, then post-filtering the decoded primary signal to form a post-filtered signal, with 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 an energy estimate (1101, 800) of the frequency spectrum of at least a portion of the primary signal reconstructed by the decoder; Obtaining (1103, 820) an analysis of discontinuities in the time domain 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 analysis values; 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 and the threshold (1109); 10. A decoder comprising:
14. 14. The decoder of claim 13, wherein 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 that includes summing energy coefficients of the at least a portion of the frequency spectrum in the frequency domain in obtaining the energy estimate.
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, [Equation 32] 16. The decoder of claim 15, further comprising instructions that, 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. where γ is a low-pass filtering coefficient that depends on the shape of the modified discrete cosine transform (MDCT) synthesis window and the overlap length, and γ∈(0,1]. The memory stores the energy E of the critical band of the reconstructed signal. S^cb (m) [Equation 33] 17. The decoder of claim 16, further comprising instructions that, when executed by the processing circuitry, cause the decoder to perform processing including applying a low pass filter according to:
18. 18. A decoder according to any one of claims 13 to 17, wherein the memory further comprises instructions which, when executed by the processing circuitry, cause the decoder to perform a process comprising, in obtaining an analysis of the discontinuity in the time domain, measuring an average energy of the size of the discontinuity.
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 [Equation 34] According to diff 19. A decoder according to any one of claims 13 to 18, further comprising instructions which, when executed 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 that, when executed by the processing circuitry, cause the decoder to perform operations that include 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 operations including low-pass filtering (1203, 840) the decision variables.
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) and the energy ratio E~ ratio (m), the low-pass filtering coefficient β is set as β∈(0,1], and the upper limit of the energy ratio is set as E ratio,lim When The memory, in generating the decision variable, [Equation 35] According to the decision 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 including: setting the output signal to the primary signal or the post-filtered signal based on the comparison of the decision variable and the threshold, in which the setting includes: setting the output signal to the post-filtered signal (1303) in response to an energy ratio between an average energy of a step at a sub-frame boundary and an energy estimate of the frequency spectrum of the at least part 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 sub-frame boundary and the energy of the frequency spectrum of the at least part 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. 11. A decoder (100) configured to perform a process including obtaining an energy estimate (1101, 800) of the frequency spectrum of at least a portion 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 (1103, 820); generating a decision variable (1105, 830) based on the obtained energy estimate and the obtained analysis value of the discontinuities; 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).
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 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.
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 of any one of claims 2 to 12.
29. 11. A computer program product comprising: a non-transitory storage medium containing program code that is executed by a processing circuit (1001) of a decoder (100), the program code causing the decoder (100) to perform processes 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. A computer program product according to claim 29, wherein the non-transitory storage medium comprises additional program code, the execution of which causes the decoder (100) to perform the process according to any one of claims 2 to 12.