Improved transitions in multimode audio decoders

Low-complexity analysis for envelope stability parameter initialization in multi-mode audio codecs addresses transition challenges, enhancing decoding efficiency and reducing distortions with minimal computational overhead.

JP2026501166APending Publication Date: 2026-01-14TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2025534521
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-12-13
Filing Date
2023-12-12
Publication Date
2026-01-14

AI Technical Summary

Technical Problem

Multi-mode audio codecs face challenges in handling transitions between different coding modes, leading to signature distortions and the need for memory re-initialization, which is computationally complex and inefficient.

Method used

Implement low-complexity analysis to initialize envelope stability parameters in one encoding mode based on another, using energy and spectral shape analysis to update critical memory during mode switching.

Benefits of technology

Improves transitions between coding modes with minimal computational impact by keeping memory updated, reducing distortions and maintaining efficient decoding performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026501166000001_ABST
    Figure 2026501166000001_ABST
Patent Text Reader

Abstract

According to a seventh aspect, a decoder for decoding encoded audio frames is presented, the audio frames being encoded using one of at least two modes. The decoder is configured to receive information indicating a selected coding mode, determine whether the selected coding mode is a first mode, and, in response to determining that the selected coding mode is the first mode, determine whether a previous coding mode is the first mode. In response to the selected coding mode being the first mode and the previous coding mode not being the first mode, the decoder estimates an envelope stability measure using the energy stability and shape stability of the previous frame. The encoded audio frames are decoded using the estimated envelope stability measure to determine the energy stability of a current frame and the shape stability of the current frame.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates generally to communications, and more particularly to communication methods and associated devices and nodes that support wireless communications. [Background technology]

[0002] Modern audio codecs are designed to compress a wide variety of input audio signals. For low-bitrate encoding, it has proven beneficial to utilize several audio coding methods designed to handle different types of audio signals. Each audio coding method corresponds to a specific operating mode of the audio encoder, hence the term multi-mode audio encoder. For example, speech signals are often coded using speech model-based coding modes such as Algebraic Code Excited Linear Prediction (ACELP), while general audio signals like music are better captured using transform-based coding modes such as Modified Discrete Cosine Transform (MDCT)-based Transform Coded Residual (TCX). Several examples of audio codecs based on this principle exist, including 3GPP 26.290 AMR-WB+, ISO / IEC 23003-3 MPEG-D USAC, and 3GPP 26.445 EVS.

[0003] Currently, certain challenges exist. A challenge for multi-mode audio codecs is handling transitions between different coding modes. While coding modes handle their designated audio signal types quite well, coding modes may exhibit specific signatures or types of distortion, and the differences in signatures between coding modes become apparent when switching between modes. Therefore, handling transitions between modes is an essential task in multi-mode audio codecs. Because coding modes are inherently different, they also contain different signal processing tools, which may include memories of previously coded audio. When switching between modes, these memories require re-initialization to avoid outdated or stale memories being used after the transition. Summary of the Invention

[0004] One solution would be to run all encoding modes in parallel, thereby keeping all encoding modes and their memories up to date, however in most cases this solution would be computationally too complex.

[0005] Another challenge is that memory or state in one coding mode may not exist in other coding modes, and performing the analysis required to keep memory updated can also require high computational effort.

[0006] Some aspects of the present disclosure and their embodiments may provide solutions to these and other problems. Various embodiments initialize envelope stability parameters in one encoding mode upon coding mode switching based on low-complexity analysis performed in another encoding mode. Low-complexity analysis includes, but is not limited to, energy analysis and spectral shape analysis. The results of the low-complexity analysis are used upon switching to the encoding mode to initialize critical memory for that coding mode.

[0007] According to a first aspect, a method in a decoder for decoding encoded audio frames is presented, where the audio frames were encoded using one of at least two modes. The method includes receiving information indicating a selected coding mode and determining whether the selected coding mode is a first mode. In response to determining that the selected coding mode is the first mode, determining whether a previous coding mode is the first mode. estimating an envelope stability measure using the energy stability and shape stability of the previous frame in response to the selected coding mode being the first mode and the previous coding mode not being the first mode, decoding the encoded audio frame using the estimated envelope stability measure, and determining energy stability of the current frame and shape stability of the current frame.

[0008] According to a second aspect, a method in a decoder for decoding coded audio coded using multiple modes is presented. The method includes receiving information indicating a selected coding mode and determining whether the current mode is a first mode and the previous mode is not the first mode. In response to the determining being yes, estimating an envelope stability measure using the energy stability and shape stability of the previous frame. Decoding the coded audio frame based on the current mode, and determining the energy stability and shape stability of the current frame.

[0009] According to a third aspect, a decoder for decoding coded audio coded using multiple modes is presented, wherein the decoder is adapted to perform a method according to the first or second aspect.

[0010] According to a fourth aspect, a decoder for decoding encoded audio encoded using multiple modes is presented, the decoder comprising a processing circuit and a memory coupled to the processing circuit, the memory comprising instructions that, when executed by the processing circuit, cause the decoder to perform operations according to the first or second aspects.

[0011] According to a fifth aspect, there is presented a computer program comprising program code to be executed by processing circuitry of a decoder, whereby execution of the program code causes the decoder to perform operations according to the first or second aspect.

[0012] According to a sixth aspect, there is presented a computer program product comprising a non-transitory storage medium containing program code to be executed by processing circuitry of a decoder, whereby execution of the program code causes the decoder to perform operations according to the first or second aspect.

[0013] According to a seventh aspect, a decoder for decoding encoded audio frames is presented, the audio frames being encoded using one of at least two modes. The decoder is configured to receive information indicating a selected coding mode and determine whether the selected coding mode is a first mode. In response to determining that the selected coding mode is the first mode, the decoder is configured to determine whether a previous coding mode is the first mode. In response to the selected coding mode being the first mode and the previous coding mode not being the first mode, the decoder is configured to estimate an envelope stability measure using the energy stability and shape stability of the previous frame. The encoded audio frames are decoded using the estimated envelope stability measure to determine the energy stability of a current frame and the shape stability of the current frame.

[0014] Some embodiments may provide one or more of the following technical advantages: Advantages that may be achieved include improved transitions between modes of a multi-mode decoder because memory is kept updated during transitions between modes. The advantages may be achieved with a small impact on computational complexity.

[0015] The accompanying drawings, which are included to provide a further understanding of the present disclosure and are incorporated in and constitute a part of this application, illustrate several non-limiting embodiments of the inventive concepts. [Brief explanation of the drawings]

[0016] [Figure 1] FIG. 1 is a diagram of an example operating environment in which various embodiments of the present disclosure may be implemented, according to some embodiments. [Figure 2] FIG. 1 is a diagram of a sigmoid function, according to some embodiments. [Figure 3] FIG. 2 is a block diagram of a decoder according to some embodiments of the present disclosure. [Figure 4] 4 is a block diagram illustrating additional details of the decoder of FIG. 3 in accordance with some embodiments of the present disclosure. [Figure 5] 10 is a flowchart illustrating the operation of a decoder according to some embodiments of the present disclosure. [Figure 6] 10 is a flowchart illustrating the operation of a decoder according to some embodiments of the present disclosure. [Figure 7] FIG. 2 is a block diagram of a user equipment according to some embodiments. [Figure 8] FIG. 2 is a block diagram of a host computer in communication with user equipment, according to some embodiments. [Figure 9] FIG. 1 is a block diagram of a virtualized environment, according to some embodiments. DETAILED DESCRIPTION OF THE INVENTION

[0017] Some of the embodiments contemplated herein will now be described more fully with reference to the accompanying drawings. Examples of embodiments of the inventive concepts are shown, and the embodiments are provided as examples to convey the scope of the subject matter to those skilled in the art. 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. It should also be noted that these embodiments are not mutually exclusive. It may be implicitly assumed that a component from one embodiment is present / used in another embodiment.

[0018] As previously indicated, a challenge for multi-mode audio codecs is handling transitions between different coding modes. While coding modes handle their designated audio signal types quite well, coding modes may exhibit specific signatures or specific types of distortion, and the differences in signatures between coding modes become apparent when switching between modes. Therefore, handling transitions between modes is an essential task in multi-mode audio codecs. Because coding modes are inherently different, they also contain different signal processing tools, which may include memories of previously coded audio. When switching between modes, these memories require re-initialization to avoid old or outdated memories being used after the transition.

[0019] Before describing embodiments that address that problem, an example operating environment will be described. FIG. 1 illustrates an example operating environment in which various embodiments of the present disclosure may be implemented. Referring to FIG. 1, in the exemplary operating environment 100, an encoder 102 receives data, such as an audio file, to be encoded from an entity such as a host 106, from storage 108, and / or from an audio recorder associated with a microphone 105, over a network 104. In some embodiments, the host 106 may communicate directly with the encoder 102 and include the audio recorder 105. The encoder 102 encodes the audio file as described herein and either stores the encoded audio file in storage 108 or transmits the encoded audio file over a network 110 to a decoder 112. The decoder 112 decodes the audio file and transmits the decoded audio file to an audio player 114 for playback. The audio player 114 may be or be included within a user device, terminal, mobile phone, or the like. In other embodiments, the host 106 may transmit the encoded audio file to the decoder 112 over the network 110 .

[0020] The audio coding system consists of two main parts: an audio encoder 102 and a decoder 112. Input audio is processed in time segments called frames x(m,n), consisting of samples n=0, 1, 2,...L-1 in frame m. Frames may be extracted with overlap, so that the analysis frames are longer than the output synthesis of each frame. Depending on the characteristics of the audio signal in frame x(m,n), a coding mode is selected for encoding the audio signal. Mode selection can be done either by using a signal classifier to determine which coding mode will obtain the best performance, or in a so-called closed-loop manner, in which all available coding modes are exercised and the best-performing mode is selected.

[0021] Three encoding modes will be used to describe various embodiments, denoted as Mode A, Mode B, and Mode C.

[0022] Mode A - Modified Discrete Cosine Transform (MDCT) based coding mode.

[0023] In this mode, the input frame x(m,n) is computed according to the following equation: TIFF2026501166000002.tif8170 into the modified discrete cosine transform domain, where w a (n) is the analysis window.

[0024] Note that the frame length used in the transformation is twice the length of the original frame. However, if the effective length of the input frame is w a The MDCT spectrum X(m,k) is then determined by the length of the non-zero portion of (n). The MDCT spectrum X(m,k) represents the MDCT coefficient k for frame m. The coefficients of the spectrum are partitioned into groups, or bands. These bands are of unequal size to mimic the frequency resolution of a human listener, using narrower bandwidths for lower frequencies and wider bandwidths for higher frequencies. The energy of each band E(m,b), b=0,1,...,N band -1 is the formula Calculated according to TIFF2026501166000003.tif10170, where k start (b),...,k end (b) denotes the index of band b, and N band is the number of bands.

[0025] The band energy is given by the equation I(m,b)=[34-2log2E(m,b)] is converted to a logarithmic energy index I(m,b) using the

[0026] The logarithmic energy index I(m,b) can be seen as the inverted (negative) logarithmic energy with a scaling factor applied. Reconstruct TIFF2026501166000004.tif7170 and calculate the band energy using the following formula: TIFF2026501166000005.tif8170,k=k start (b),...,k end (b), b=0,1,...,N band is used to normalize the MDCT spectrum according to

[0027] The normalized spectrum may be encoded using a suitable encoding method, such as a vector quantizer (VQ) or a scalar quantizer followed by an entropy coder, such as an arithmetic coder. The encoding of the normalized spectrum Y(m,k) is based on a bit allocation R(m,b) that distributes the available bit budget among the bands. The bit allocation is performed using a perceptual model, which aims to allocate bits to maximize perceptual performance. The perceptual model uses the reconstructed spectral envelope to allocate bits to the bands. TIFF2026501166000006.tif5170, or equivalently, the logarithmic energy index I(m,b). The coded parameters, including a representation of the logarithmic energy index I(m,b), the normalized spectrum Y(m,k), and information indicative of the selected coding mode, are combined into a bitstream and stored or transmitted to a decoder.

[0028] Mode B - ACELP-based coding mode

[0029] In this mode, encoding is performed in the time domain by the Algebraic Code Excited Linear Prediction (ACELP) coding method, which uses the coefficients a j, j=0,1,...,M m To obtain (z), we rely on linear predictive analysis. The coding mode is A m (z) based on the weighting filter W m Then, the coding mode is weighted synthesis filter Search for the best matching synthesis in the weighted domain by running the coded excitation signal according to TIFF2026501166000007.tif6170, where: TIFF2026501166000008.tif6170 is the reconstructed predictor filter. The encoding of the filter coefficients may be done in a domain more suitable for quantization, such as the line spectral frequency (LSF) domain. The coded parameters, including a representation of TIFF2026501166000009.tif6170, the coded excitation signal and information indicative of the selected coding mode, are combined into a bitstream and stored or transmitted to a decoder.

[0030] Mode C - MDCT-based coding mode 2

[0031] This mode is similar to, but has a different structure than, mode A. For the purposes of this discussion, it is sufficient to say that this mode does not have a corresponding envelope energy EI(m,b) as mode A does.

[0032] Envelope stability measures in mode A decoders.

[0033] The decoder for mode A calculates the logarithmic energy index I(m,b) and the reconstructed normalized spectrum TIFF2026501166000010.tif5170. For band b that receives 0 bits in the bit allocation R(m,b)=0, a noise-filling algorithm is used. For low bit rate bands and noise-filled bands, adaptive attenuation is applied. This is done based on an envelope stability measure, denoted as env_stab(m). The envelope stability measure describes the evolution of the spectral envelope, including both energy and shape variations. The envelope stability measure is sometimes called the spectral stability measure. The envelope stability measure is Based on band energies of the current and previous frames, determined according to TIFF2026501166000011.tif19170.

[0034] The difference is low-pass filtered to form a long-term estimate of the logarithmic energy variation. D LP (m)=αD(m)+(1-α)D LP (m-1)

[0035] where α is a low-pass filter coefficient with a preferred value of α=0.1 or can be in the range α∈[0.01,0.5]. The envelope stability measure env_stab(m) is calculated by using a sigmoid function to provide a smooth transition. LP It is determined by mapping (m) to the [0,1] range. TIFF2026501166000012.tif10170Here, the constants b, c, and d can be set to b=6.11, c=1.91, and d=2.26.

[0036] An alternative formula for this conversion is: TIFF2026501166000013.tif8170, where -a / b is the midpoint of the transition where env_stab(m)=0.5, and suitable values ​​for the constants a and b might be a=-15.7 and b=6.11, which yields -a / b=2.57.

[0037] This is a sigmoid function that can be considered as a soft threshold function with a crossover point at -a / b. LP (m) means strong fluctuations, which leads to low env_stab(m). An illustration of this function can be seen in Figure 2.

[0038] This function can be discretely sampled, which allows the transformation to be implemented by a lookup in a table. Note that env_stab(m) captures the variations in both energy and spectral shape.

[0039] Shape stability measures in mode B

[0040] Mode B is a linear predictor-based coding mode, where the spectral shape is modeled by a linear predictor (LP) filter. The LP filter is represented in the line spectral frequency (LSF) domain, which is suitable for quantization and interpolation of the LP filter. The shape stability factor stab_fac(m) is Calculated according to TIFF2026501166000014.tif8170, where L ModeB is the frame length of the LP coding band, and D LSF (m) is the Euclidean distance between the LSF vector of the current frame and the LSF vector of the previous frame. Because stab_fac(m) is based on the difference in LP filters between the current and previous frames, stab_fac(m) captures variations in spectral shape but excludes variations in energy.

[0041] Multimode Decoder - Mode A

[0042] The decoder 112 is shown in block diagram form in Figure 3 and in more detail in Figure 4, and in some embodiments performs the steps shown in Figure 5. The decoder obtains the logarithmic energy index I(m-1, b), the previously decoded predictor filter A(z), the energy stability E of the previous frame during the decoding of the encoded audio frame. Δ,LP The multi-mode decoder 310 communicates with a coding mode memory 320 that stores variables of previously decoded frames, such as energy stability estimator 430, shape stability estimator 440, and shape stability factor estimator 450, to estimate D LP Energy stability E of the previous frame when (m-1) is outdated or does not exist Δ,LP (m-1) and shape stability stab_fac_lt(m-1) based on D LP Estimate (m).

[0043] In block 501, the multi-mode decoder 310 receives a packet from a bitstream representing an encoded audio frame, the packet including information indicating a selected coding mode, CURRENT_MODE, and encoded parameters required by the multi-mode decoder to perform reconstruction of the encoded audio frame. The coding mode of the current frame is required to select an appropriate decoding method for the frame and is determined in block 503. When processing of the current frame is completed, CURRENT_MODE is stored in a variable PREVIOUS_MODE to be used in subsequent frames. In response to the current mode being CURRENT_MODE=FIRST (i.e., mode A), the previous mode is checked in block 505. If the previous mode is also the first mode (e.g., PREVIOUS_MODE=FIRST), the decoder 112 proceeds to decode the current frame in block 507. When decoding a frame in the first mode, env_stab(m) is calculated as D based on the logarithmic energy index I(m,b).LP (m) and used in decoding. If the previous mode is different from the first mode, i.e., PREVIOUS_MODE ≠ FIRST, then D LP (m) is D LP (m) was not updated for one or more frames, so D LP In this case, the estimator 330 calculates the energy stability E of the previous frame in block 509. Δ,LP (m-1) and shape stability stab_fac_lt(m-1), D LP (m)=D LP,est (m)=P1+P2stab_fac_lt(m-1)+P3E Δ,LP (m-1) According to D LP (m), where P1, P2, and P3 are constants, stab_fac_lt(m-1) is the shape stability, implemented as a long-term estimate of the shape stability factor from frame m-1, and E Δ,LP (m-1) is the energy stability, implemented as a long-term estimate of the absolute logarithmic energy difference between composite frames estimated during frame m-1.

[0044] Note that the updated values ​​require the current frame m to be decoded, so the shape and energy stability of the previous frame m-1 must be used. The constants P1, P2 and P3 are, for example, LP For the test database running the first mode (i.e., mode A) where (m) is available, stab_fac_lt(m) and E Δ,LP (m) Based on D LPThe coefficients P1, P2, and P3 can be experimentally set using a minimum-least-squares approximation to match (m). Another approach would be to utilize machine learning techniques, such as a linear regression model, using that representative database with cross-validation. The coefficients from such a model are P1 = 2.93, P2 = -2.20, and P3 = 0.741. More sophisticated mapping functions can also be used, but in general, the estimated D LP,est (m) is the energy stability E Δ,LP (m-1) and shape stability stab_fac_lt(m-1), i.e., D LP,est (m)=f(E Δ,LP (m-1),stab_fac_lt(m-1)) is.

[0045] Then, env_stab(m) is defined as D LP (m) TIFF2026501166000015.tif8170

[0046] The determined energy and shape stabilities are stored in memory 320 along with other memories of the multi-mode decoder. Decoding of the current first mode then proceeds in block 507 using the estimated env_stab(m). In block 511, the energy stability E Δ,LP (m) is determined, where the energy stability E Δ,LP (m) is E Δ,LP (m)=βE Δ (m)+(1-β)E Δ,LP (m-1) E Δ (m)=|E log (m)-E log (m-1)| It is defined as the long-term estimate of the absolute logarithmic energy difference according to TIFF2026501166000016.tif8170, where β is a low-pass filter coefficient and TIFF2026501166000017.tif5170 is the output composite of frame m, and L out denotes the output composite frame length. out is equal to the input frame length, i.e., L out = L, but L out may differ from the input if the decoder sampling rate is different from the encoder sampling rate. The factor 1 / L_out is Δ Note that this will eliminate in the formula for (m) and can therefore be omitted. TIFF2026501166000018.tif6170E Δ (m)=|E log (m)-E log (m-1)|=|E' log (m)-E' log (m-1)|

[0047] In block 513, the shape stability factor stab_fac_lt(m) is determined. Since an LP filter is not used in the first mode, the shape stability factor stab_fac(m) cannot be calculated based on the LP filter. However, the shape stability factor estimate is stab_fac_est(m)=Q1+Q2D LP (m)+Q3E Δ,LP (m) may be determined by the estimator 330 as Q1, Q2, and Q3, where Q1, Q2, and Q3 are constants.

[0048] These constants are, for example, for a test database running the second mode (i.e., mode B) or the third mode (i.e., mode C) where stab_fac(m) is available, D LP (m) and E Δ,LP(m) can be empirically set using the smallest least-squares approximation to match stab_fac_est(m) with the true stab_fac(m). Estimation can also be performed by machine learning techniques, such as training a linear regression model using the representative database with cross-validation. Suitable values ​​for these constants are Q1 = 1.093, Q2 = -5.84 10 -5 and Q3 = 0.125. Note that the result of stab_fac_est(m) may be stored in the same memory location as stab_fac(m), since this memory is not otherwise updated in the first mode. In other words, in the first mode stab_fac_est(m) = stab_fac(m).

[0049] Shape stability is determined by low-pass filtering the estimated shape stability factor. stab_fac_lt(m)=γstab_fac_est(m)+(1-γ)stab_fac_lt(m-1) where γ is a low-pass filter coefficient with a preferred value of γ=0.1 or can be in the range γ∈[0.01,0.5]. For clarity, shape stability is defined as the shape stability factor, low-pass filtered across frames.

[0050] Once the multi-mode decoder has completed decoding frame m, the synthesized frame is output in block 515 to be played by the audio player 114 or stored in a decoded format such as pulse code modulation (PCM).

[0051] Second Mode (i.e., Mode B) or Third Mode (i.e., Mode C)

[0052] If the current mode is identified as the second mode in block 503, the multi-mode decoder 310 decodes the second mode in block 517. Energy Stability E Δ,LP(m) is determined in block 511. Since the second mode is an ACELP-based mode, a shape stability factor stab_fac(m) is calculated based on the LP filter, and the shape stability is stab_fac_lt(m)=γstab_fac(m)+(1-γ)stab_fac_lt(m-1) where γ is a low pass filter coefficient.

[0053] The determined energy and shape stability is stored in memory 320 along with other memories of multi-mode decoder 310 .

[0054] If the current mode is identified as the third mode in block 503, the multi-mode decoder 310 decodes the third mode in block 519 and calculates the energy stability E Δ,LP The third mode is an MDCT-based mode, but the third mode still uses an LP filter to calculate the shape stability factor stab_fac(m). Shape stability is determined in the same manner as is done for mode B in block 513, as described above.

[0055] Once the multi-mode decoder has completed decoding frame m, the synthesized frame is output in block 515 to be played by the audio player 114 or stored in a decoded format such as pulse code modulation (PCM).

[0056] Variations in energy calculations

[0057] The most computationally complex part of the method is the energy stability E Δ,LPThe energy calculation is the basis for (m). It may be useful to estimate this energy based on parameters already calculated or available in the decoder. For example, the pitch codebook gain and innovation codebook gain of an ACELP decoder may be useful for estimating the frame energy. The evolution of these parameters for several frames may also be useful. Furthermore, the energy of the ACELP synthesis frame may be found by using the existing calculation of the residual energy along with an estimate of the prediction gain of the LP filter. If the ACELP encoding mode uses a bandwidth extension (BWE) scheme, the energy of the BWE region is generally expressed as the ratio of the ACELP coding band to the low-band energy. The synthesis frame energy may also be calculated in a packet loss concealment (PLC) module, which may be reused for this purpose.

[0058] 6 illustrates some other embodiments of performing multi-mode decoding using decoder 112. Referring to FIG. 6, in block 601, the decoder receives a packet from a bitstream representing a coded audio frame, the packet including information indicating a selected coding mode, CURRENT_MODE, and, in block 607, coded parameters needed by the multi-mode decoder to perform reconstruction of the coded audio frame. The coding mode of the current frame is needed to select an appropriate decoding method for the frame. When processing of the current frame is completed, CURRENT_MODE is stored in a variable PREVIOUS_MODE, which will be used in subsequent frames. In response to the current mode CURRENT_MODE=FIRST and the previous mode being different from the first mode, i.e., PREVIOUS_MODE≠FIRST, D LPIn this case, the estimator 330 calculates the energy stability E(m−1) and I(m−1,b) of the previous frame as described above in block 605. Δ,LP (m-1) and shape stability stab_fac_lt(m-1), D LP (m) and proceed to block 607 to decode the current frame based on the current mode.

[0059] If the determination that CURRENT_MODE=FIRST and PREVIOUS_MODE≠FIRST is NO, the decoder 112 proceeds to decode the current frame in block 607 based on the current mode.

[0060] For example, if the current mode is the first mode, env_stab(m) is the D LP (m) and used in decoding. In block 609, the energy stability E Δ,LP (m) is determined, where the energy stability E Δ,LP (m) is E Δ,LP (m)=βE Δ (m)+(1-β)E Δ,LP (m-1) E Δ (m)=|E log (m)-E log (m-1)| It is defined as the long-term estimate of the absolute logarithmic energy difference according to TIFF2026501166000019.tif8170, where: TIFF2026501166000020.tif5170 is the output composite frame m, and L out denotes the output composite frame length. out is equal to the input frame length, i.e., L out = L, but L outmay differ from the input if the decoder sampling rate is different from the encoder sampling rate. The factor 1 / L_out is Δ Note that this will eliminate in the formula for (m) and can therefore be omitted. TIFF2026501166000021.tif6170E Δ (m)=|E log (m)-E log (m-1)|=|E' log (m)-E' log (m-1)|

[0061] In block 611, the shape stability stab_fac_lt(m) is determined. Since an LP filter is not used in the first mode, the stability factor stab_fac(m) cannot be calculated based on the LP filter. However, the estimation of the stability factor is stab_fac_est(m)=Q1+Q2D LP (m)+Q3E Δ,LP (m) where Q1, Q2 and Q3 are constants.

[0062] These are, for example, the D LP (m) and E Δ,LP The stab_fac_est(m) can be empirically set using minimal least-squares approximation to match the true stab_fac(m) based on (m). The estimation can also be done by machine learning techniques, such as training a linear regression model using the representative database with 5-fold cross-validation. Suitable values ​​for these constants are Q1 = 1.093, Q2 = -5.84 10 -5and Q3 = 0.125. Note that the result of stab_fac_est(m) may be stored in the same memory location as stab_fac(m), since this memory is not otherwise updated in the first mode. In other words, in the first mode stab_fac_est(m) = stab_fac(m).

[0063] Shape stability is determined by low-pass filtering the estimated stability factor. stab_fac_lt(m)=γstab_fac_est(m)+(1-γ)stab_fac_lt(m-1) where γ is a low-pass filter coefficient with a preferred value of γ=0.1 or can be in the range γ∈[0.01,0.5]. In other words, shape stability is defined as the stability factor, low-pass filtered across frames.

[0064] If the current mode is the second or third mode, the shape stability is stab_fac_lt(m)=γstab_fac(m)+(1-γ)stab_fac_lt(m-1) where γ is a low-pass filter coefficient. In block 613, the decoded frame is output.

[0065] 7 illustrates an audio decoder 112 (e.g., a decoder) according to some embodiments, where the audio decoder 112 is implemented as a standalone device. As used herein, an audio decoder refers to a device capable of, configured to, and / or operable to decode an encoded object and to communicate with a network node, an encoder, and / or a decoder. Examples of audio decoders include, but are not limited to, smartphones, mobile phones, cell phones, voice-over-IP (VoIP) phones, wireless local loop phones, desktop computers, personal digital assistants (PDAs), wireless cameras, gaming consoles or devices, storage devices, playback appliances, wearable terminal devices, wireless endpoints, mobile stations, tablets, laptop computers, laptop embedded appliances (LEEs), laptop mounted appliances (LMEs), smart devices, wireless customer premises equipment (CPEs), vehicle-mounted or vehicle-embedded / integrated wireless devices, etc.

[0066] The audio decoder may support device-to-device (D2D) communications, for example, by implementing 3GPP standards for sidelink communications, dedicated short-range communications (DSRC), vehicle-to-vehicle (V2V), vehicle-to-infrastructure (V2I), or vehicle-to-everything (V2X). In other examples, the decoder may not necessarily have a user in the sense of a human user who owns and / or operates the associated device.

[0067] The audio decoder 112 includes a processing circuit 702 operably coupled via a bus 704 to an input / output interface 706, a power supply 708, a memory 710, a communication interface 712, and / or any other components, or any combination thereof. Some decoders may utilize all or a subset of the components shown in FIG. 7. The level of integration between components may vary from decoder to decoder. Additionally, some decoders may include multiple instances of a component, such as multiple processors, memories, transceivers, transmitters, receivers, etc.

[0068] The processing circuit 702 is configured to process instructions and data and may be configured to implement any sequential state machine operable to execute instructions stored in memory 710 as a machine-readable computer program. The processing circuit 702 may be implemented as one or more hardware-implemented state machines (e.g., in discrete logic, a field programmable gate array (FPGA), an application-specific integrated circuit (ASIC), etc.), programmable logic together with appropriate firmware, one or more stored computer programs such as a microprocessor or digital signal processor (DSP) together with appropriate software, a general-purpose processor, or any combination of the above. For example, the processing circuit 702 may include multiple central processing units (CPUs).

[0069] In this example, the input / output interface 706 may be configured to provide one or more interfaces to an input device, an output device, or one or more input and / or output devices. Examples of output devices include a speaker, a sound card, a video card, a display, a monitor, an actuator, an emitter, a smart card, another output device, or any combination thereof. An input device may allow a user to capture information into the audio decoder 112. Examples of input devices include a touch-sensitive or presence-sensitive display, a camera (e.g., a digital camera, a digital video camera, a webcam, etc.), a microphone, a sensor, a directional pad, a trackpad, a scroll wheel, a smart card, etc. A presence-sensitive display may include a capacitive or resistive touch sensor for detecting input from a user. The sensor may be, for example, an accelerometer, a gyroscope, a tilt sensor, a force sensor, a magnetometer, a light sensor, a proximity sensor, a biometric sensor, etc., or any combination thereof. An output device may use the same type of interface port as the input device. For example, a universal serial bus (USB) port may be used to accommodate input and output devices.

[0070] In some embodiments, the power supply 708 is structured as a battery or battery pack. Other types of power sources may be used, such as an external power source (e.g., an electrical outlet), a photovoltaic device, or a battery. The power supply 708 may further include power circuitry for delivering power to various portions of the audio decoder 112 from the power supply 708 itself and / or from an external power source via an interface such as an input circuit or a power cable. Delivering power may be for charging the power supply 708, for example. The power circuitry may perform any formatting, converting, or other modification on the power from the power supply 708 to make it suitable for the respective components of the audio decoder 112 being powered.

[0071] The memory 710 may be or be configured to include memory, such as random access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), magnetic disk, optical disk, hard disk, removable cartridge, flash drive, etc. In one example, the memory 710 includes one or more application programs 714, such as an operating system, a web browser application, a widget, a gadget engine, or other applications, and corresponding data 716. The memory 710 may store any of a variety of different operating systems or combinations of operating systems for use by the audio decoder 112.

[0072] The memory 710 may be configured to include several physical drive units, such as a redundant array of independent disks (RAID), flash memory, a USB flash drive, an external hard disk drive, a thumb drive, a pen drive, a key drive, a high-density digital versatile disc (HD-DVD) optical disc drive, an internal hard disk drive, a Blu-ray optical disc drive, a holographic digital data storage (HDDS) optical disc drive, an external mini dual in-line memory module (DIMM), a synchronous dynamic random access memory (SDRAM), an external micro-DIMM SDRAM, a smart card memory, such as a tamper-resistant module in the form of a universal integrated circuit card (UICC) containing one or more subscriber identity modules (SIMs), such as a USIM and / or ISIM, other memory, or any combination thereof. The UICC may be, for example, an embedded UICC (eUICC), an integrated UICC (iUICC), or a removable UICC, commonly known as a "SIM card." The memory 710 may enable the audio decoder 112 to access, offload, or upload data, instructions, application programs, etc. stored on a temporary or non-transitory memory medium. An article of manufacture, such as an article of manufacture utilizing a communication system, may be tangibly embodied as or in the memory 710, which may be or comprise a device-readable storage medium.

[0073] The processing circuit 702 may be configured to communicate with an access network or other networks using a communication interface 712. The communication interface 712 may comprise one or more communication subsystems and may include or be communicatively coupled to an antenna 722. The communication interface 712 may include one or more transceivers used to communicate, such as by communicating with one or more remote transceivers of another device capable of wireless communication (e.g., another UE or network node in the access network). Each transceiver may include a transmitter 718 and / or a receiver 720 suitable for providing network communication (e.g., optical, electrical, frequency allocation, etc.). Moreover, the transmitter 718 and receiver 720 may be coupled to one or more antennas (e.g., antenna 722) and may share circuit components, software, or firmware, or may alternatively be implemented separately.

[0074] In the illustrated embodiment, the communication capabilities of communication interface 712 may include cellular communication, Wi-Fi communication, LPWAN communication, data communication, voice communication, multimedia communication, short-range communication such as Bluetooth, near-field communication, location-based communication such as using a Global Positioning System (GPS) to determine location, another similar communication capability, or any combination thereof. Communication may be implemented in accordance with one or more communication protocols and / or standards, such as IEEE 802.11, Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), GSM, LTE, New Radio (NR), UMTS, WiMax, Ethernet, Transmission Control Protocol / Internet Protocol (TCP / IP), Synchronous Optical Networking (SONET), Asynchronous Transfer Mode (ATM), QUIC, Hypertext Transfer Protocol (HTTP), etc.

[0075] Regardless of the type of sensor, the audio decoder may provide an output of the decoded data to a network node via a wireless connection through the audio decoder's communication interface 712.

[0076] The audio decoder, when in the form of an Internet of Things (IoT) device, can be a device for use in one or more application domains, including, but not limited to, urban wearable technology, augmented industrial applications, and healthcare. Non-limiting examples of such IoT devices are or are incorporated into a connected refrigerator or freezer, a TV, a connected lighting device, an energy meter, a robotic vacuum cleaner, a voice-controlled smart speaker, a home security camera, a thermostat, an electric door lock, a connected doorbell, an autonomous vehicle, a surveillance system, a weather monitoring device, a vehicle parking monitoring device, an electric vehicle charging station, a smart watch, a fitness tracker, a head-mounted display for augmented reality (AR) or virtual reality (VR), or a wearable for haptic augmentation or sensory augmentation. A decoder in the form of an IoT device comprises circuitry and / or software depending on the intended application of the IoT device, in addition to the other components described with respect to the audio decoder 112 shown in FIG. 7.

[0077] 8 is a block diagram of a host 800 in accordance with various aspects described herein. As used herein, host 800 may be or comprise various combinations of hardware and / or software, including a standalone server, a blade server, a cloud-implemented server, a distributed server, a virtual machine, a container, or processing resources in a server farm. Host 800 may provide one or more services to one or more UEs.

[0078] Host 800 includes a processing circuit 802 operably coupled to an input / output interface 806, a network interface 808, a power supply 810, and a memory 812 via a bus 804. In other embodiments, other components may be included. Features of these components may be substantially similar to those described with respect to the devices of previous figures, such as FIG. 7, and therefore, those descriptions are generally applicable to the corresponding components of host 800.

[0079] The memory 812 may include one or more computer programs, including one or more host application programs 814 and data 816, which may include user data, e.g., data generated by the UE for the host 800 or data generated by the host 800 for the UE. An embodiment of the host 800 may utilize only a subset or all of the shown components. The host application programs 814 may be implemented in a container-based architecture and may provide support for video codecs (e.g., Versatile Video Coding (VVC), High Efficiency Video Coding (HEVC), Advanced Video Coding (AVC), MPEG, VP9) and audio codecs (e.g., FLAC, Advanced Audio Coding (AAC), MPEG, G.711, EVS, IVAS), including transcoding for multiple different classes, types, or implementations of UE (e.g., handsets, desktop computers, wearable display systems, heads-up display systems). The host application program 814 may also provide user authentication and license checks, and may periodically report health, route, and content availability to a central node, such as a device in the core network or a device on the edge of the core network. Thus, the host 800 may select and / or indicate a different host for over-the-top services for the UE. The host application program 814 may support various protocols, such as HTTP Live Streaming (HLS) protocol, Real-Time Messaging Protocol (RTMP), Real-Time Streaming Protocol (RTSP), Dynamic Adaptive Streaming over HTTP (MPEG-DASH), etc.

[0080] FIG. 9 is a block diagram illustrating a virtualization environment 900 in which functionality implemented by some embodiments of the audio decoder 112 or components of the audio decoder 112 may be virtualized. In this context, virtualizing means creating a virtual version of an apparatus or device, which may include virtualizing a hardware platform, storage devices, and networking resources. As used herein, virtualization may apply to any device described herein, or components thereof, and relates to implementations in which at least a portion of functionality is implemented as one or more virtual components. Some or all of the functionality described herein may be implemented as virtual components executed by one or more virtual machines (VMs) implemented in one or more virtual environments 900 hosted by one or more hardware nodes, such as a decoder, encoder, network node, UE, core network node, or hardware computing device acting as a host. Furthermore, in embodiments in which the virtual node does not require wireless connectivity (e.g., to a core network node or host), the node may be fully virtualized.

[0081] An application 902 (which may alternatively be referred to as a software instance, a virtual appliance, a network function, a virtual node, a virtual network function, etc.) is run in the virtualized environment 900 to implement some of the features, functions, and / or benefits of some of the embodiments disclosed herein.

[0082] The hardware 904 includes processing circuitry, memory that stores software and / or instructions executable by the hardware processing circuitry, and / or other hardware devices described herein, such as network interfaces, input / output interfaces, etc. Software is executed by the processing circuitry to instantiate one or more virtualization layers 906 (also referred to as hypervisors or virtual machine monitors (VMMs)), provide VMs 908A and 908B (one or more of which may be referred to generically as VMs 908), and / or implement any of the functions, features, and / or benefits described with respect to some embodiments described herein. The virtualization layer 906 may present to the VMs 908 a virtual operating platform that appears to be networking hardware.

[0083] The VMs 908 may comprise virtual processing, virtual memory, virtual networking or interfaces, and virtual storage and may be run by a corresponding virtualization layer 906. Different embodiments of instances of virtual appliances 902 may be implemented on one or more of the VMs 908, and the implementations may be done in different ways. Hardware virtualization is referred to in some contexts as network functions virtualization (NFV). NFV may be used to consolidate many network equipment types onto industry-standard high-volume server hardware, physical switches, and physical storage that may be located in data centers and customer premises equipment.

[0084] In the context of NFV, a VM 908 may be a software implementation of a physical machine that runs programs as if those programs were running on a physical, non-virtualized machine. Each VM 908 and the portion of the hardware 904 on which it runs, whether hardware dedicated to that VM and / or hardware shared by that VM with other VMs, form a separate virtual network element. Further, in the context of NFV, a virtual network function is responsible for handling a particular network function running in one or more VMs 908 on the hardware 904 and corresponds to the application 902.

[0085] The hardware 904 may be implemented in a standalone network node with general or specific components. The hardware 904 may implement some functions via virtualization. Alternatively, the hardware 904 may be part of a larger cluster of hardware (e.g., as in a data center or CPE) where many hardware nodes cooperate and are managed via a management and orchestration 910 that, among other things, oversees the lifecycle management of the application 902. In some embodiments, the hardware 904 is coupled to one or more radio units, each including one or more transmitters and one or more receivers, which may be coupled to one or more antennas. The radio units may communicate directly with other hardware nodes via one or more appropriate network interfaces and may be used in combination with virtual components to provide a virtual node with wireless capabilities, such as a wireless access node or base station. In some embodiments, some signaling may be provided using a control system 912, which may alternatively be used for communication between the hardware nodes and the radio units.

[0086] While the computing devices (e.g., decoders, encoders, hosts) described herein may include the depicted combinations of hardware components, other embodiments may comprise computing devices with different combinations of components. It should be understood that these computing devices may comprise any suitable combination of hardware and / or software required to perform the tasks, features, functions, and methods disclosed herein. The determining, calculating, obtaining, or similar operations described herein may be performed by processing circuitry, which may process information by, for example, converting obtained information to other information, comparing the obtained or converted information with information stored in a network node, and / or performing one or more operations based on the obtained or converted information and as a result of the processing making a decision. Moreover, while components are shown as a single box located within a larger box or nested within multiple boxes, in reality the computing device may comprise multiple different physical components that make up the single depicted component, and functionality may be partitioned among the separate components. For example, a communications interface may be configured to include any of the components described herein, and / or the functionality of those components may be partitioned between the processing circuitry and the communications interface. In another example, non-computationally intensive functionality of any of such components may be implemented in software or firmware, and computationally intensive functionality may be implemented in hardware.

[0087] In some embodiments, some or all of the functionality described herein may be provided by a processing circuit executing instructions stored in a memory, which in some embodiments may be a computer program product in the form of a non-transitory computer-readable storage medium. In alternative embodiments, some or all of the functionality may be provided by the processing circuit without executing instructions stored on a separate or discrete device-readable storage medium, such as in a hardwired manner. In any of these particular embodiments, the processing circuit may be configured to perform the described functionality, regardless of whether or not it executes instructions stored on a non-transitory computer-readable storage medium. Benefits provided by such functionality are not limited to the processing circuit alone or to other components of the computing device, but are enjoyed by the computing device as a whole and / or by end users and wireless networks generally.

[0088] Illustrative Embodiments 1. A method in a decoder (112, 902) for decoding coded audio coded using at least two modes, the method comprising: receiving (501) a packet from a bitstream representing an encoded audio frame, the packet including information indicating a selected coding mode and encoded parameters required to perform reconstruction of the encoded audio frame; determining (503) whether the selected coding mode is a first mode; determining whether the previous coding mode was the first mode (505) in response to determining that the selected coding mode is the first mode; estimating (509) an envelope stability measure using the energy stability and the shape stability in response to the selected coding mode being the first mode and the previous coding mode not being the first mode, and using the estimated envelope stability measure as the envelope stability measure; Decoding (507) the encoded audio frame using the envelope stability measure; Determining the energy stability (511) and Determining the shape stability (513); outputting the decoded audio frames to one of a storage and an audio playback device (515); A method comprising: 2. determining an envelope stability measure as part of decoding the first mode of the encoded audio frame in response to the selected coding mode being the first mode and the previous coding mode being the first mode. 2. The method of embodiment 1, further comprising: 3. A method as described in embodiment 1 or 2, further comprising, in response to determining that the selected coding mode is a second mode based on algebraic code-excited linear prediction (ACELP), decoding (517) the encoded audio frame using an ACELP-based coding mode. 4. A method according to any one of embodiments 1 to 3, further comprising, in response to determining that the selected coding mode is a third mode based on modified discrete cosine transform (MDCT) coding, decoding (519) the encoded audio frame using MDCT-based coding. 5. Determining the envelope stability env_stab(m) Logarithmic energy variation D LP (m) determining a long-term estimate of Derive env_stab(m) by mapping the long-term estimate of the logarithmic energy fluctuation to the [0,1] range. 3. The method of embodiment 1 or 2, comprising: 6. Estimating long-term estimates of logarithmic energy fluctuations is TIFF2026501166000022.tif10170D LP (m)=αD(m)+(1-α)DLP (m-1) According to D LP (m), where N bands 6. The method of embodiment 5, wherein m is the number of energy bands, I(m,b) and I(m-1,b) are logarithmic energy indices, and α is a low-pass filter coefficient. 7. Deriving env_stab(m) is 7. The method of embodiment 5 or 6, comprising deriving env_stab(m) according to TIFF2026501166000023.tif10170, where b, c, and d are constants. 8. Estimating long-term estimates of logarithmic energy variation is D LP (m)=D LP,est (m)=P1+P2stab_fac_lt(m-1)+P3E Δ,LP (m-1) According to D LP (m), where P1, P2, and P3 are constants, stab_fac_lt(m-1) is the shape stability from frame m-1, and E Δ,LP 6. The method of embodiment 5, wherein (m-1) is the energy stability from frame m-1. 9. Deriving env_stab(m) is 9. The method of embodiment 8, comprising deriving env_stab(m) according to TIFF2026501166000024.tif8170, where -a / b is the midpoint of the transition where env_stab(m)=0.5. 10. Energy Stability E Δ,LP (m) determining E Δ,LP (m)=βE Δ (m)+(1-β)E Δ,LP (m-1) E Δ (m)=|E log (m)-E log (m-1)| is the long-term estimate of the absolute logarithmic energy difference between composite frames, derived according to TIFF2026501166000025.tif8170, where TIFF2026501166000026.tif5170 is the output composite frame m, and L out 10. The method according to any one of embodiments 1 to 9, wherein: indicates an output composite frame length. 11. Energy Stability E Δ,LP (m) determining E Δ,LP (m)=βE Δ (m)+(1-β)E Δ,LP (m-1) E Δ (m)=|E' log (m)-E' log (m-1)| According to TIFF2026501166000027.tif14170 Δ,LP 10. The method of any one of embodiments 1 to 9, comprising determining (m). 12. Determining the shape stability stab_fac_lt(m) stab_fac_lt(m)=γstab_fac_est(m)+(1-γ)stab_fac_lt(m-1) stab_fac_est(m)=Q1+Q2D LP (m)+Q3E Δ,LP (m) where γ is a low-pass filter coefficient, Q1, Q2 and Q3 are constants, and D LP (m) is the long-term estimate of the logarithmic energy variation, and E Δ,LP 2. The method of embodiment 1, wherein (m) is a long-term estimate of the absolute logarithmic energy difference between composite frames. 13. The method of any one of embodiments 1 to 12, wherein the first mode is a modified discrete cosine transform (MDCT) based coding mode. 14. Determining the shape stability stab_fac_lt(m) stab_fac_lt(m)=γstab_fac(m)+(1-γ)stab_fac_lt(m-1) 5. The method of claim 3 or 4, comprising determining stab_fac_lt(m) according to: where γ is a low-pass filter coefficient and stab_fac(m) is a shape stability factor based on the Euclidean distance between line spectral frequency (LSF) representations of linear predictor (LP) filters of the current frame and the previous frame. 15. A method in a decoder (112, 902) for decoding coded audio coded using multiple modes, the method comprising: receiving (601) a packet from a bitstream representing an encoded audio frame, the packet including information indicating a selected coding mode and encoded parameters required to perform reconstruction of the encoded audio frame; determining whether the current mode is a first mode and the previous mode is not the first mode (603); In response to determining yes, estimating an envelope stability measure using the energy stability and shape stability (605); Decoding (607) the encoded audio frame based on the current mode; Determining the energy stability (609); Determining the shape stability (611); outputting (613) the decoded audio frames; A method comprising: 16. Determining whether the current mode is the first mode and the previous mode is not the first mode (603) and in response to determining the envelope stability measure as part of decoding 607 the first mode, the envelope stability measure being determined to be no. 16. The method of embodiment 15, comprising: 17. The method of embodiment 15, wherein decoding the encoded audio frame based on the current mode includes decoding the encoded audio frame using algebraic code-excited linear prediction (ACELP) decoding in response to determining that the selected coding mode is a second mode based on ACELP. 18. A method according to any one of embodiments 15 to 17, wherein decoding the coded audio frame based on the current mode includes decoding the coded audio frame using MDCT-based decoding (519) in response to determining that the selected coding mode is a third mode based on MDCT. 19. Determining env_stab(m) Logarithmic energy variation D LP (m) determining a long-term estimate of Derive env_stab(m) by mapping the long-term estimate of the logarithmic energy fluctuation to the [0,1] range. 16. The method of embodiment 15, comprising: 20. Determining a long-term estimate of logarithmic energy variation is TIFF2026501166000028.tif10170D LP (m)=αD(m)+(1-α)D LP (m-1) According to D LP (m), where N bands 20. The method of embodiment 19, wherein m is the number of energy bands, I(m,b) and I(m-1,b) are logarithmic energy indices, and α is a low-pass filter coefficient. 21. Deriving env_stab(m) is 21. The method of embodiment 19 or 20, comprising deriving env_stab(m) according to TIFF2026501166000029.tif10170, wherein b, c, and d are constants. 22. It is important to estimate long-term estimates of logarithmic energy fluctuations. D LP (m)=DLP,est (m)=P1+P2stab_fac_lt(m-1)+P3E Δ,LP (m-1) According to D LP (m), where P1, P2, and P3 are constants, stab_fac_lt(m-1) is the shape stability from frame m-1, and E Δ,LP 22. The method of any one of embodiments 19 to 21, wherein (m-1) is a long-term estimate of the absolute logarithmic energy difference between composite frames. 23. Deriving env_stab(m) is 21. The method of embodiment 19 or 20, comprising deriving env_stab(m) according to TIFF2026501166000030.tif8170, wherein -a / b is the midpoint of the transition where env_stab(m)=0.5. 24. Energy Stability E Δ,LP (m) determining E Δ,LP (m)=βE Δ (m)+(1-β)E Δ,LP (m-1) E Δ (m)=|E log (m)-E log (m-1)| According to TIFF2026501166000031.tif8170 Δ,LP (m), wherein: TIFF2026501166000032.tif5170 is the output composite frame m, and L out 24. The method according to any one of embodiments 15 to 23, wherein: indicates the output synthesis frame length. 25. Energy Stability E Δ,LP (m) determining E Δ,LP (m)=βE Δ (m)+(1-β)E Δ,LP (m-1) E Δ (m)=|E' log (m)-E' log (m-1)| According to TIFF2026501166000033.tif14170 Δ,LP 24. The method of any one of embodiments 15 to 23, comprising determining (m). 26. Determining the shape stability stab_fac_lt(m) stab_fac_lt(m)=γstab_fac_est(m)+(1-γ)stab_fac_lt(m-1) stab_fac_est(m)=Q1+Q2D LP (m)+Q3E Δ,LP (m) where γ is a low pass filter coefficient, Q1, Q2 and Q3 are constants, and D LP (m) is the long-term estimate of the logarithmic energy variation, and E Δ,LP 16. The method of embodiment 15, wherein (m) is a long-term estimate of the absolute logarithmic energy difference between composite frames. 27. The method of any one of embodiments 15 to 26, wherein the first mode is a modified discrete cosine transform (MDCT) based coding mode. 28. Determining shape stability, stab_fac_lt(m), stab_fac_lt(m)=γstab_fac(m)+(1-γ)stab_fac_lt(m-1) 28. The method of any one of embodiments 15 to 27, comprising determining stab_fac_lt(m) for the second mode and the third mode according to: 29. A decoder (112, 902) for decoding coded audio coded using multiple modes, the decoder (112, 902) adapted to implement according to any one of embodiments 1 to 28. 30. A decoder (112, 902) for decoding coded audio coded using multiple modes, the decoder (112) comprising: A processing circuit (702); a memory (710) coupled to the processing circuit; 29. The method of claim 1, wherein the memory includes instructions that, when executed by a processing circuit, cause a decoder to perform the operations of any one of claims 1 to 28. Decoder (112, 902). 31. A computer program comprising program code to be executed by a processing circuit (702) of a decoder (112, 902), whereby execution of the program code causes the decoder (112, 902) to perform the operations described in any one of embodiments 1 to 28. 32. A computer program product comprising a non-transitory storage medium containing program code to be executed by a processing circuit (702) of a decoder (112, 902), whereby execution of the program code causes the decoder (112, 902) to perform the operations described in any one of embodiments 1 to 28.

Claims

1. 1. A method in a decoder (112, 902) for decoding encoded audio frames, the audio frames being encoded using one of at least two modes, the method comprising: receiving (501) information indicating a selected coding mode; determining (503) whether the selected coding mode is a first mode; determining (505) whether a previous coding mode is the first mode in response to determining that the selected coding mode is the first mode; and estimating (509) an envelope stability measure using energy stability and shape stability of a previous frame in response to the selected coding mode being the first mode and the previous coding mode not being the first mode; Decoding (507) the encoded audio frame using the estimated envelope stability measure; Determining the energy stability of the current frame (511); Determining the shape stability of the current frame (513); A method comprising:

2. determining an envelope stability measure as part of decoding the first mode of the encoded audio frame in response to the selected coding mode being the first mode and the previous coding mode being the first mode. The method of claim 1 further comprising:

3. 3. The method of claim 1, further comprising: in response to determining that the selected coding mode is a second mode based on Algebraic Code Excited Linear Prediction (ACELP), decoding the encoded audio frame using an ACELP-based coding mode (517).

4. 4. The method of claim 1, further comprising: in response to determining that the selected coding mode is a third mode based on modified discrete cosine transform (MDCT) coding, decoding (519) the encoded audio frame using MDCT-based coding.

5. Determining the envelope stability measure env_stab(m) comprises: Logarithmic Energy Variation D LP (m) determining a long-term estimate of determining the env_stab(m) by mapping the long-term estimate of the logarithmic energy variation to a [0, 1] range; 3. The method of claim 1 or 2, comprising:

6. determining the long-term estimate of the logarithmic energy variation; D LP (m)=αD(m)+(1-α)D LP (m-1) According to D LP (m), where N bands 6. The method of claim 5, wherein m is the number of energy bands, I(m,b) and I(m-1,b) are logarithmic energy indices of the current frame and the previous frame, and α is a low-pass filter coefficient.

7. Determining the env_stab(m) 7. The method of claim 5, further comprising determining said env_stab(m) according to: where b, c, and d are constants.

8. determining the long-term estimate of the logarithmic energy variation; D LP (m)=D LP,est (m)=P 1 +P 2 stab_fac_lt(m-1)+P 3 E Δ,LP (m-1) According to D LP (m), where P 1 , P 2 and P 3 is a constant, stab_fac_lt(m-1) is the shape stability from frame m-1, and E Δ,LP The method of claim 5, wherein (m-1) is the energy stability from frame m-1.

9. Determining the env_stab(m) 9. The method of claim 8, comprising determining the env_stab(m) according to: where -a / b is the midpoint of the transition where env_stab(m)=0.

5.

10. The energy stability E Δ,LP determining (m) E Δ,LP (m) = βE Δ (m) + (1-β) E Δ,LP (m-1) E Δ (m)=|E log (m)-E log (m-1)| According to E Δ,LP (m), wherein: But sample n=0 , . . . L−1, and L out 10. The method of claim 1, wherein β denotes the output synthesis frame length and β is a low pass filter coefficient.

11. The energy stability E Δ,LP determining (m) E Δ,LP (m) = βE Δ (m) + (1-β) E Δ,LP (m-1) E Δ (m)=|E' log (m)-E' log (m-1)| According to E Δ,LP (m), wherein: But sample n=0 10. The method of claim 1, wherein m is an output synthesis frame comprising m=L−1, . . . . L−1, and β is a low-pass filter coefficient.

12. Determining the shape stability stab_fac_lt(m) stab_fac_lt(m)=γstab_fac_est(m)+(1-γ)stab_fac_lt(m-1) stab_fc__eest(m)=Q 1 +Q 2 D LP (m)+Q 3 E Δ,LP (m) where γ is a low-pass filter coefficient, stab_fac_est(m) is an estimate of the shape stability factor, and Q 1 , Q 2 and Q 3 is a constant, and D LP (m) is the long-term estimate of the logarithmic energy fluctuation, and E Δ,LP The method of claim 1 , wherein (m) is the energy stability.

13. The method of claim 1 , wherein the first mode is a modified discrete cosine transform (MDCT) based coding mode.

14. Determining the shape stability stab_fac_lt(m) stab_fac_lt(m)=γstab_fac(m)+(1-γ)stab_fac_lt(m-1) 5. The method of claim 3, comprising determining stab_fac_lt(m) according to: where γ is a low-pass filter coefficient and stab_fac(m) is a shape stability factor based on the Euclidean distance between line spectral frequency (LSF) representations of linear predictor (LP) filters of the current frame and the previous frame.

15. 1. A method in a decoder (112, 902) for decoding encoded audio encoded using multiple modes, the method comprising: receiving (601) information indicating a selected coding mode; determining whether the current mode is a first mode and the previous mode is not the first mode (603); In response to said determining being yes, estimating (605) an envelope stability measure using the energy stability and shape stability of the previous frame; Decoding (607) the encoded audio frame based on the current mode; Determining the energy stability of the current frame (609); Determining the shape stability of the current frame (611); A method comprising:

16. Determining 603 whether the current mode is a first mode and the previous mode is not the first mode includes: and in response to said determining being negative, determining an envelope stability measure as part of decoding said first mode.

16. The method of claim 15, comprising:

17. 16. The method of claim 15, wherein decoding the encoded audio frame based on the current mode comprises, in response to determining that the selected coding mode is a second mode based on algebraic code-excited linear prediction (ACELP), decoding the encoded audio frame using ACELP decoding.

18. 18. The method of claim 15, wherein decoding the encoded audio frame based on the current mode comprises, in response to determining that the selected coding mode is a third mode based on MDCT, decoding the encoded audio frame using MDCT-based decoding (519).

19. Determining the envelope stability measure env_stab(m) comprises: Logarithmic Energy Variation D LP (m) determining a long-term estimate of determining the env_stab(m) by mapping the long-term estimate of the logarithmic energy variation to a [0, 1] range; 16. The method of claim 15, comprising:

20. determining the long-term estimate of the logarithmic energy variation; D LP (m)=αD(m)+(1-α)D LP (m-1) According to D LP (m), where N bands 20. The method of claim 19, wherein m is the number of energy bands, I(m,b) and I(m-1,b) are logarithmic energy indices of the current frame and the previous frame, and α is a low-pass filter coefficient.

21. Determining env_stab(m) 21. The method of claim 19 or 20, comprising determining env_stab(m) according to: where b, c, and d are constants.

22. determining the long-term estimate of the logarithmic energy variation; D LP (m)=D LP,est (m)=P 1 +P 2 stab_fac_lt(m-1)+P 3 E Δ,LP (m-1) According to D LP (m), where P 1 , P 2 and P 3 is a constant, stab_fac_lt(m-1) is the shape stability from frame m-1, and E Δ,LP 22. The method of any one of claims 19 to 21, wherein (m-1) is the energy stability from frame m-1.

23. Determining env_stab(m) 21. The method of claim 19 or 20, comprising determining env_stab(m) according to: where -a / b is the midpoint of the transition where env_stab(m)=0.

5.

24. The energy stability E Δ,LP determining (m) E Δ,LP (m) = βE Δ (m) + (1-β) E Δ,LP (m-1) E Δ (m)=|E log (m)-E log (m-1)| According to E Δ,LP (m), wherein: But sample n=0 , . . . L−1, and L out 24. The method of any one of claims 15 to 23, wherein β denotes the output synthesis frame length and β is a low pass filter coefficient.

25. The energy stability E Δ,LP determining (m) E Δ,LP (m) = βE Δ (m) + (1-β) E Δ,LP (m-1) E Δ (m)=|E' log (m)-E' log (m-1)| According to E Δ,LP (m), wherein: But sample n=0 24. The method of claim 15, wherein the output synthesis frame m comprises m=L−1, . . . L−1, and β is a low pass filter coefficient.

26. Determining the shape stability stab_fac_lt(m) stab_fac_lt(m)=γstab_fac_est(m)+(1-γ)stab_fac_lt(m-1) stab_fc__eest(m)=Q 1 +Q 2 D LP (m)+Q 3 E Δ,LP (m) where γ is a low pass filter coefficient, stab_fac_est(m) is an estimate of the shape stability, and Q 1 , Q 2 and Q 3 is a constant, and D LP (m) is the long-term estimate of the logarithmic energy fluctuation, and E Δ,LP 16. The method of claim 15, wherein (m) is the energy stability.

27. 27. The method of any one of claims 15 to 26, wherein the first mode is a modified discrete cosine transform (MDCT) based coding mode.

28. Determining the shape stability, stab_fac_lt(m), stab_fac_lt(m)=γstab_fac(m)+(1-γ)stab_fac_lt(m-1) 28. The method of claim 15, comprising determining stab_fac_lt(m) for the second and third modes according to:

29. 29. A decoder (112, 902) for decoding coded audio coded using a plurality of modes, said decoder (112, 902) adapted to perform a method according to at least one of claims 1 to 28.

30. A decoder (112, 902) for decoding encoded audio encoded using multiple modes, the decoder (112) comprising: A processing circuit (702); a memory (710) coupled to said processing circuit; wherein the memory contains instructions that, when executed by the processing circuitry, cause the decoder to perform the operations of at least one of claims 1 to 28. Decoder (112, 902).

31. 29. A computer program comprising program code to be executed by a processing circuit (702) of a decoder (112, 902), whereby execution of said program code causes said decoder (112, 902) to perform the operations of any one of claims 1 to 28.

32. 29. A computer program product comprising a non-transitory storage medium containing program code to be executed by a processing circuit (702) of a decoder (112, 902), whereby execution of the program code causes the decoder (112, 902) to perform the operations of any one of claims 1 to 28.

33. A decoder (112, 902) for decoding encoded audio frames, the audio frames being encoded using one of at least two modes, the decoder comprising: receiving information indicative of a selected coding mode; determining whether the selected coding mode is a first mode; determining whether a previous coding mode was the first mode in response to determining that the selected coding mode was the first mode; and estimating an envelope stability measure using energy stability and shape stability of a previous frame in response to the selected coding mode being the first mode and the previous coding mode not being the first mode; decoding the encoded audio frame using the estimated envelope stability measure; and Determining the energy stability of the current frame; Determining the shape stability of the current frame; The decoder (112, 902) is configured to:

34. determining an envelope stability measure as part of decoding the first mode of the encoded audio frame in response to the selected coding mode being the first mode and the previous coding mode being the first mode.

34. The decoder of claim 33, further configured to:

35. 35. The decoder of claim 33 or 34, further configured to, in response to determining that the selected coding mode is a second mode based on Algebraic Code Excited Linear Prediction (ACELP), decode the encoded audio frame using an ACELP-based coding mode.

36. 36. The decoder of any one of claims 33 to 35, further configured to, in response to determining that the selected coding mode is a third mode based on modified discrete cosine transform (MDCT) coding, decode the encoded audio frame using MDCT-based coding.

37. Determining the envelope stability measure env_stab(m) comprises: Logarithmic Energy Variation D LP (m) determining a long-term estimate of determining the env_stab(m) by mapping the long-term estimate of the logarithmic energy variation to a [0, 1] range; 35. A decoder according to claim 33 or 34, comprising:

38. determining the long-term estimate of the logarithmic energy variation; D LP (m)=αD(m)+(1-α)D LP (m-1) According to D LP (m), where N bands 38. The decoder of claim 37, wherein m is a number of energy bands, I(m,b) and I(m-1,b) are logarithmic energy indices of the current frame and the previous frame, and α is a low-pass filter coefficient.

39. Determining the env_stab(m) 39. A decoder as claimed in claim 37 or 38, comprising determining the env_stab(m) according to: where b, c and d are constants.

40. determining the long-term estimate of the logarithmic energy variation; D LP (m)=D LP,est (m)=P 1 +P 2 stab_fac_lt(m-1)+P 3 E Δ,LP (m-1) According to D LP (m), where P 1 , P 2 and P 3 is a constant, stab_fac_lt(m-1) is the shape stability from frame m-1, and E Δ,LP The decoder of claim 37, wherein (m-1) is the energy stability from frame m-1.

41. Determining the env_stab(m) 41. The decoder of claim 40, comprising determining the env_stab(m) according to: where -a / b is the midpoint of the transition where env_stab(m)=0.

5.

42. The energy stability E Δ,LP determining (m) E Δ,LP (m) = βE Δ (m) + (1-β) E Δ,LP (m-1) E Δ (m)=|E log (m)-E log (m-1)| According to E Δ,LP (m), wherein: But sample n=0 , . . . L−1, and L out 42. A decoder according to any one of claims 33 to 41, wherein β denotes the output synthesis frame length and β is a low pass filter coefficient.

43. The energy stability E Δ,LP determining (m) E Δ,LP (m) = βE Δ (m) + (1-β) E Δ,LP (m-1) E Δ (m)=|E' log (m)-E' log (m-1)| According to E Δ,LP (m), wherein: But sample n=0 42. A decoder according to any one of claims 33 to 41, wherein the output synthesis frame m comprises m=L,...,L-1, and β is a low pass filter coefficient.

44. Determining the shape stability stab_fac_lt(m) stab_fac_lt(m)=γstab_fac_est(m)+(1-γ)stab_fac_lt(m-1) stab_fc__eest(m)=Q 1 +Q 2 D LP (m)+Q 3 E Δ,LP (m) where γ is a low-pass filter coefficient, stab_fac_est(m) is an estimate of the shape stability factor, and Q 1 , Q 2 and Q 3 is a constant, and D LP (m) is the long-term estimate of the logarithmic energy fluctuation, and E Δ,LP 34. The decoder of claim 33, wherein (m) is the energy stability.

45. 45. A decoder according to any one of claims 33 to 44, wherein the first mode is a modified discrete cosine transform (MDCT) based coding mode.

46. Determining the shape stability stab_fac_lt(m) stab_fac_lt(m)=γstab_fac(m)+(1-γ)stab_fac_lt(m-1) 37. The decoder of claim 35 or 36, comprising determining stab_fac_lt(m) according to: where γ is a low-pass filter coefficient and stab_fac(m) is a shape stability factor based on the Euclidean distance between line spectral frequency (LSF) representations of linear predictor (LP) filters of the current frame and the previous frame.

Citation Information

Patent Citations

  • Voice decoder and voice decoding method

    JP2010266568A

  • Frame loss management in fd / lpd transition context

    JP2017523471A

  • Apparatus and method for encoding or decoding a multi-channel signal using frame-controlled synchronization

    JP2019506634A

  • Audio encoder and decoder using a frequency domain processor, a time domain processor and a cross processor for continuous initialization - Patents.com

    JP2022172245A