Adaptive inter-channel time difference estimation

Adaptive ITD estimation in DTX systems through modified filter coefficients and accelerated cross-spectral smoothing addresses ITD estimation challenges, enhancing the naturalness of background noise transitions and improving ITD accuracy.

JP2025528960APending Publication Date: 2025-09-02TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2025515343
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-09-13
Filing Date
2023-09-13
Publication Date
2025-09-02

AI Technical Summary

Technical Problem

Existing DTX systems in communication networks face challenges in accurately estimating inter-channel time differences (ITD) during speech pauses, leading to abrupt changes in spatial characteristics of background noise, which can be annoying to listeners.

Method used

Implement adaptive ITD estimation methods by modifying low-pass filter coefficients and accelerating cross-spectral smoothing during DTX hangover and quiet periods to quickly adapt to changes in ITD.

Benefits of technology

This approach ensures smoother transitions between active and inactive coding, resulting in more natural-sounding comfort noise and improved ITD estimation during speech episodes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025528960000001_ABST
    Figure 2025528960000001_ABST
Patent Text Reader

Abstract

A method for estimating inter-channel time difference (ITD) in an encoder using discontinuous transmission (DTX) is disclosed. One exemplary method includes receiving (1601) a time-domain audio input including an audio input signal, and processing (1603) the audio input signal in frames to produce a mono mixdown signal and one or more stereo parameters. The method further includes encoding the mono-mixdown signal frame by frame by encoding active content of the mono-mixdown signal at a first bit rate until a pause is detected in the audio input signal or the mono-mixdown signal (1605), estimating ITD parameters during the active content encoding based on cross-spectral low-pass filtering or cross-spectral averaging (1606), switching encoding from the active encoded content to inactive encoding to encode background noise at a second bit rate during the pause period (1607), and estimating ITD parameters during the pause period based on cross-spectral low-pass filtering or cross-spectral averaging (1609), where the estimating is configured to adapt to the audio input signal more quickly than when estimating the ITD parameters during the active content encoding (1609). The method further includes encoding the ITD-estimated parameters and other stereo parameters periodically during the pause period (1611).
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit of priority to U.S. Provisional Patent Application No. 63 / 406,127, filed September 13, 2022, the entire disclosure of which is incorporated herein by reference.

[0002] The present disclosure relates generally to communications, and more particularly to communication methods and related devices and nodes that support encoding and decoding. [Background technology]

[0003] In a communication network, there can be challenges to obtain good performance and capacity for a given communication protocol, its parameters, and the physical environment in which the communication network is located.

[0004] For example, despite the continuous increase in capacity in communication networks, limiting the amount of resource usage required per user remains a concern. In mobile communication networks, lower resource usage required per call means that the mobile communication network can serve a larger number of users in parallel. Lowering resource usage also results in lower power consumption in both user-side devices (e.g., terminal devices) and network-side devices (e.g., network nodes). This translates into energy and cost savings for network operators while enabling longer battery life and increased talk time for terminal devices.

[0005] One mechanism for reducing the required resource usage for voice communication applications in mobile communication networks is to exploit natural pauses in speech. For example, in most conversations, only one party is active at a time, and therefore pauses in speech occurring in one direction of communication typically account for more than half of the signal. One way to take advantage of this property to reduce the required resource usage is to employ a discontinuous transmission (DTX) system, where active signal coding is suspended during speech pauses.

[0006] Typically, the encoding process is performed on an audio signal segment (e.g., called a frame), where input audio samples during a time interval, typically 10-20 milliseconds (ms), are buffered by the encoder and used to extract parameters to be transmitted to the decoder.

[0007] During speech pauses, it is common to transmit a "silence insertion descriptor" (SID) frame in a very low bitrate encoding of background noise to enable a Comfort Noise Generator (CNG) system at the receiving end to fill said pauses with background noise having characteristics similar to the original noise. In particular, CNG makes the pauses sound more natural (e.g., compared to having completely silent speech pauses) because the background noise is maintained and does not switch on and off with the speech sound. Complete silence during speech pauses is typically perceived as annoying and often leads to the mistaken belief that the call has been dropped.

[0008] A DTX system may rely on a Voice Activity Detector (VAD) that instructs the transmitting device whether i) active signal coding or ii) low-rate background noise coding should be used. In this regard, the transmitting device may be configured to discriminate against other source types by using a (Generic) Sound Activity Detector (GSAD or SAD), which not only distinguishes voice noise from background noise but may also be configured to detect music or other signal types deemed relevant. A block diagram of a DTX system 100 is shown in FIG. 1.

[0009] In Figure 1, input audio is received by a VAD 102, a speech / audio coder 104, and a CNG coder 106. The VAD 102 indicates whether a "high" bit rate should be sent from the speech / audio coder 104 or a "low" bit rate should be sent from the CNG coder 106.

[0010] Communication services can be further enhanced by supporting stereo or multi-channel audio transmission. In these cases, the DTX / CNG system can also take into account the spatial characteristics of the signal to provide pleasant-to-hear comfort noise.

[0011] A common mechanism used to generate comfort noise is to transmit information about the energy and spectral shape of the background noise during speech pauses. This can be accomplished using a significantly lower number of bits than conventional coding of speech segments. Typically, this information is sent less frequently than in active segments, as shown in FIG. 2, where active segments are indicated as active coding (see, e.g., active coding signal 202) and information about the energy and spectral shape of the background noise during speech pauses is shown as CN coding signaling 204.

[0012] A common feature in DTX systems is the addition of a "hangover period" 301 to the VAD decision, as shown in Figure 3. During this period, active coding is still used even if the VAD decision (see signal 302) is that there should be no active coding (see, e.g., active coding signal 304). This is to avoid short segments of CNG in the middle of longer active segments, for example, during breathing pauses in speech (see, e.g., signal 306). Parameters used for CNG generation can be estimated during this period.

[0013] At the receiving end, comfort noise is generated by creating a pseudorandom signal and then shaping the spectrum of the signal with a filter based on information received from the transmitting device. The signal generation and spectral shaping can be performed in the time domain or the frequency domain.

[0014] For stereo operation, additional parameters are transmitted to the receiver. In typical stereo signals, channel pairs exhibit a high degree of similarity, or correlation. State-of-the-art stereo coding schemes exploit this correlation by employing parametric coding, in which a single channel is coded at high quality and complemented with a parametric description that enables the reconstruction of a full stereo image. The process of reducing a channel pair to a single channel is called downmixing. Similarly, the resulting channel is sometimes called a downmix channel or a mixdown channel. Downmixing procedures generally attempt to preserve energy by aligning the inter-channel time difference (ITD) and inter-channel phase difference (IPD) before mixing the channels. To maintain energy balance in the input signal, the inter-channel level difference (ILD) is also measured. The ITD, IPD, and ILD can then be coded and used in the inverse upmixing procedure when reconstructing the stereo channel pair at the decoder. As described below, Figures 4 and 5 show block diagrams of a parametric stereo encoder 400 and decoder 500.

[0015] In Figure 4, a time-domain stereo input is received by a stereo processing and mixdown module 402. The stereo processing and mixdown module 402 processes the time-domain stereo input signal to produce a mono mixdown signal and stereo parameters (e.g., ITD, IPD, and / or ILD). The mono mixdown signal is received by a mono audio / audio encoder 404, which processes the mono mixdown signal to produce an encoded mono signal. The encoded mono signal and stereo parameters are transmitted to a decoder, such as a parametric stereo decoder 500 (shown in Figure 5).

[0016] 5, the encoded mono signal is received by a mono audio / audio decoder 502, which decodes the encoded mono signal to produce a mono mixdown signal. The mono mixdown signal and stereo parameters are received by a stereo processing and upmix decoder 504, which processes the mono mixdown signal and stereo parameters to produce a time-domain stereo output. The time-domain stereo output can be stored or sent to an audio player for playback.

[0017] FIG. 6 is a diagram of a practical example of the occurrence of ITD. As shown in FIG. 6, when a stereo signal is captured by two microphones 602-604, the distance (L1) from a source (e.g., speaker source 601) to the left microphone 602 may be different from the distance (L2) to the right microphone 604. The difference in distance will lead to a time delay between channels, i.e., ITD. When there are several audio sources, these sources may have different ITDs. Background noise (e.g., source 600) will often be the sum of many sources and may not have one clear ITD.

[0018] The traditional parametric approach to estimating ITD is to use the cross-correlation function (CCF), r, which is a measure of similarity between two waveforms x[n] and y[n]. xy and is generally defined in the time domain as follows: r xy [τ]=E{x[n]y[n+τ]}, where τ is the time lag parameter and E{·} is the expectation operator. For a signal frame of length N, the cross-correlation is typically estimated as TIFF2025528960000002.tif14170

[0019] The Inter-channel Cross-correlation Coefficient (ICC) is conventionally obtained as the maximum of the CCF normalized by the signal energy: TIFF2025528960000003.tif13170

[0020] The time lag τ corresponding to the ICC is determined as the ITD between channel x and channel y. By assuming that x[n] and y[n] are zero outside the signal frame, the cross-correlation function can be equivalently expressed as a function of the cross-spectrum of frequency spectra X[k] and Y[k] (with discrete frequency index k) as follows: X corr [k]=X[k]Y*[k] r xy [τ]=DFT -1 (X corr [k]) where X[k] is the discrete Fourier transform (DFT) of the time domain signal x[n], i.e., TIFF2025528960000004.tif14170, DFT -1 (·) or IDFT -1 (·) denotes the inverse discrete Fourier transform.

[0021] If y[n] is purely a delayed version of x[n], the cross-correlation function is given by: TIFF2025528960000005.tif9170 where * denotes convolution and δ(τ-τ0) is the Kronecker delta function, i.e., δ(τ-τ0) is equal to 1 at τ0 and equal to 0 otherwise. This means that the cross-correlation function between x and y is a delta function spread by convolution with the autocorrelation function for x[n]. This will broaden the delta peak. For a signal frame with several delay components, e.g., several talkers / transmitters, there will be a peak at each delay between the signals, and the cross-correlation will be: TIFF2025528960000006.tif11170

[0022] The delta functions are then spread apart, which can make it difficult to distinguish between several delays within a signal frame. However, there is a generalized cross-correlation (GCC) function that does not have this spreading. GCC is generally defined as follows: TIFF2025528960000007.tif6170 where Ψ[k] is the frequency weighting. In particular, for spatial audio, the phase transform (PHAT) is used due to its robustness against reverberation in low noise environments. The phase transform is essentially the absolute value of each frequency coefficient, i.e., The file is TIFF2025528960000008.tif10170.

[0023] This frequency weighting will whiten the cross spectrum so that the power of each component is equal. With pure delay and uncorrelated noise in the signals x[n] and y[n], the phase transformed GCC (GCC-PHAT) becomes the Kronecker delta function δ(τ − τ 0 ), i.e. The file is TIFF2025528960000009.tif16170.

[0024] The encoding process is performed over time segments called frames, where the typical length of these segments is 10 or 20 ms. Coding parameters such as ITD are estimated at the encoding side for each frame and transmitted to the decoder. If there is no clear gain in the encoding process that involves using a parameter, it is also common not to transmit that parameter. In the case of ITD, this will be when the left and right signals are nearly uncorrelated. Summary of the Invention

[0025] Currently, certain problems exist: The CNG generated during speech pauses when DTX is enabled is coded at a very low bit rate; there is no other part of the CNG coding that can offset the effects of an inaccurate ITD; during speech pauses, the ITD may be different compared to speech segments. For example, FIG. 7 is a signaling diagram illustrating ITD delay according to some embodiments. In such cases, the cross-spectral low-pass filtering provided by current solutions will lead to a delay in the change from the "speech ITD," i.e., signal portion 702, to the "background noise ITD," i.e., signal portion 703. If this delay 704 in the active coding signal 701 is sufficiently long, e.g., one second or more, the listener will first hear the ITD signal portion 702 generated with the background noise, e.g., the speech ITD, and then hear the sudden change in the ITD to the correct one, e.g., signal portion 703. This will be easily perceived as a significant change in the spatial characteristics of the background noise and may be annoying to the listener.

[0026] When cross-spectral smoothing is based on spectral flatness, the problem becomes stronger for background noises with strong spectral tilt. Spectral flatness measures are generally used to indicate tonal or periodic signal structures. However, some noise signals also result in low spectral flatness measures due to strongly tilted spectra. This is often the case for automobile noise, which generally has strong low-frequency components. When cross-spectral smoothing is based on spectral flatness, the smoothing becomes stronger for such background noises. This can lead to delayed shifts in the ITD, as mentioned above.

[0027] Some aspects of the present disclosure and their embodiments may provide solutions to these and other problems. Various embodiments described herein are directed to speeding up the low-pass filtering of the cross-correlation to enable faster adaptation of the ITD at the beginning of each CNG segment. This may be achieved in several ways, including, but not limited to, modifying the low-pass filter coefficients.

[0028] In some embodiments, the disclosed subject matter includes a method for estimating inter-channel time difference (ITD) in an encoder using discontinuous transmission (DTX). One exemplary method includes receiving (1601) a time-domain audio input including an audio input signal, and processing (1603) the audio input signal in frames to produce a mono mixdown signal and one or more stereo parameters. The method further includes encoding the mono-mixdown signal frame by frame by: encoding active content of the mono-mixdown signal at a first bit rate until a pause is detected in the audio input signal or the mono-mixdown signal (1605); estimating ITD parameters during the active content encoding based on low-pass filtering or cross-spectral averaging of the cross-spectrum of the audio input signal; switching encoding from the active content to inactive encoding to encode background noise at a second bit rate during the pause periods (1607); and estimating ITD parameters during the pause periods (or inactive encoding) based on low-pass filtering or cross-spectral averaging of the cross-spectrum of the audio input signal (1609), where the estimating is configured to adapt to the audio input signal more quickly (e.g., by speeding up ITD estimation) compared to estimating the ITD parameters during the active content encoding. The method further includes encoding the ITD-estimated parameters and other stereo parameters (1611) periodically during the pause periods.

[0029] In accordance with at least one embodiment of the disclosed subject matter, the method further includes accelerating cross-spectral smoothing by increasing low-pass filtering coefficients during the DTX hangover period and / or during the beginning of the quiet period compared to before the beginning of the DTX hangover period and / or the quiet period.

[0030] In accordance with at least one embodiment of the disclosed subject matter, the method includes, in a first coded frame after active coding, applying a first cross-spectral low-pass filter Xcorr_smooth The state of the second low-pass filter X, which filters the cross spectrum but is updated only during hangover and idle periods, is spec_smooth and further including replacing the state of the

[0031] In accordance with at least one embodiment of the disclosed subject matter, the method further comprises: spec_smooth and initiating an update of the

[0032] In accordance with at least one embodiment of the disclosed subject matter, the method includes: responsive to slow filtering due to a low spectral flatness measure (sfm), providing a second low pass filter X spec_smooth The method further includes accelerating updates of the state of the

[0033] According to at least one embodiment of the disclosed subject matter, the method further comprises: X spec_smooth teeth, Determined according to TIFF2025528960000010.tif7170, X corr_smooth teeth, Determined according to TIFF2025528960000011.tif6170, where: TIFF2025528960000012.tif7170Low frequency coefficients.

[0034] According to at least one embodiment of the disclosed subject matter, the method further comprises: Determined according to TIFF2025528960000013.tif45170, where A hangover and A cng is the upper threshold, and B hangover and B cng is the rate parameter.

[0035] According to at least one embodiment of the disclosed subject matter, the method further comprises: Determined according to TIFF2025528960000014.tif45170, where A hangover and Acng is the upper threshold, and B hangover and B cng is the rate parameter, and N hangover corresponds to the number of hangover frames, and B0 is a variable.

[0036] In accordance with at least one embodiment of the disclosed subject matter, the method further includes adjusting low-pass filter coefficients during a DTX hangover period and / or during the beginning of a quiet period.

[0037] In accordance with at least one embodiment of the disclosed subject matter, the method further includes: adjusting the low pass filter coefficients by: TIFF2025528960000015.tif10170X corr_smooth [k,m]=(1-sfm)·X corr_smooth [k,m-1]+sfm·X corr [k],cng counter ≧CNG_ITD_CNT TIFF2025528960000016.tif11170For CNG frames, cng counter =cng counter +1 For audio frames, cng counter =0 where α1 is the low pass filter coefficient, k=frequency bin, m=number of frames, and X corr [k] is the cross spectrum, and X corr_smooth [k,m] is the cross-spectral low-pass filtering, CNG frames are inactive coding frames, speech frames are active coding frames, sfm is the spectral flatness measure, and A is the upper threshold.

[0038] In accordance with at least one embodiment of the disclosed subject matter, the method further includes accelerating cross-spectral smoothing by low-pass filtering during a start of a quiet period, and triggering the acceleration of cross-spectral filtering after active encoding of a certain number of consecutive active frames has been reached.

[0039] In accordance with at least one embodiment of the disclosed subject matter, the method further includes performing a dedicated cross-correlation estimate for the cross spectrum that is updated only during idle periods and / or during DTX hangover frames, and using the dedicated cross-correlation estimate for ITD estimation during the idle periods.

[0040] In accordance with at least one embodiment of the disclosed subject matter, the method further includes resetting the cross-spectral lowpass filter state one of before an update during a DTX hangover period and before an update during a sleep period.

[0041] In accordance with at least one embodiment of the disclosed subject matter, the method further includes replacing the low pass filter state at the beginning of a hangover period or at the beginning of a sleep period.

[0042] In accordance with at least one embodiment of the disclosed subject matter, the method further includes: replacing the low-pass filtering at the beginning of the idle period by a cross-spectral X over a number of CNG_ITD_CNT frames. corr Average [k] and filter state X corr_smooth is the cross spectrum X over the above number of CNG_ITD_CNT frames. corr This involves replacing it with the average of [k].

[0043] According to at least one embodiment of the disclosed subject matter, the method further includes transmitting the encoded active content, the encoded background noise, and the encoded ITD parameters and other stereo parameters to a decoder.

[0044] Some embodiments may provide one or more of the following technical advantages: Various embodiments enable comfort noise to sound more natural and avoid the unpleasant effects associated with abrupt changes in spatial characteristics during CNG after changing from active coding. In particular, they avoid DTX starting with a segment of comfort noise characterized by active content and then, after a while, suddenly changing to comfort noise that more closely resembles the original input noise.

[0045] Also, faster adaptation of the comfort noise to the background noise may improve ITD estimation in speech episodes, since the influence on the ITD estimation from previous speech segments is reduced.

[0046] 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]

[0047] [Figure 1] FIG. 1 is a block diagram of an intermittent transmission (DTX) system. [Figure 2] 1 is a flow diagram illustrating comfort noise generator (CNG) parameter encoding and transmission. [Figure 3] 1 is a flow diagram illustrating a voice activity detector (VAD) (or DTX) hangover period. [Figure 4] FIG. 2 is a block diagram of a parametric stereo encoder according to some embodiments. [Figure 5] FIG. 2 is a block diagram of a parametric stereo decoder according to some embodiments. [Figure 6] FIG. 1 is a diagram of inter-channel time difference (ITD) according to some embodiments. [Figure 7] 10 is a flow diagram illustrating ITD delay, according to some embodiments. [Figure 8]10 is a flow diagram illustrating a filter speedup period according to some embodiments. [Figure 9] 1 is a flow diagram illustrating VAD audio / CNG toggling according to some embodiments. [Figure 10] 10 is a flow diagram illustrating no filter speed up after a short active period of filter speed up, according to some embodiments. [Figure 11] 10 is a flow diagram illustrating permuting cross-spectral filter states according to some embodiments. [Figure 12] 1 is a flow diagram illustrating a potential reset of a filter state for a second cross-spectral filter state, speeding up filter state updates based on a decreasing lower threshold for filter state updates, copying of filter states to a first cross-spectral filter state, and a continuous decreasing lower threshold for filter state updates, according to some embodiments. [Figure 13] FIG. 2 is a block diagram of an encoder according to some embodiments. [Figure 14] FIG. 2 is a block diagram of a decoder according to some embodiments. [Figure 15] FIG. 1 is a block diagram of a virtualized environment, according to some embodiments. [Figure 16] 10 is a flowchart illustrating the operation of an encoder, according to some embodiments. [Figure 17] 10 is a flowchart illustrating the operation of an encoder, according to some embodiments. [Figure 18] 10 is a flowchart illustrating the operation of an encoder, according to some embodiments. [Figure 19] 10 is a flowchart illustrating the operation of an encoder, according to some embodiments. [Figure 20] 10 is a flowchart illustrating the operation of an encoder, according to some embodiments. [Figure 21] 10 is a flowchart illustrating the operation of an encoder, according to some embodiments. [Figure 22] 10 is a flowchart illustrating the operation of an encoder, according to some embodiments. [Figure 23] 10 is a flowchart illustrating the operation of an encoder, according to some embodiments. DETAILED DESCRIPTION OF THE INVENTION

[0048] 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.

[0049] Embodiments of the disclosed subject matter relate to methods and techniques for implementing adaptive ITD estimation. In particular, faster low-pass filtering of cross-correlation estimates at the beginning of each CNG segment enables faster adaptation of ITD estimates. In particular, utilizing low-pass filtering in this manner may be achieved in several ways, such as by modifying low-pass filter coefficients. In some embodiments, the ITD estimation processes and / or techniques disclosed herein may be performed via an encoder element and / or its ITD estimation engine (IEE), as described below.

[0050] For ITD, it is desirable to have an ITD estimate that does not have small random fluctuations from frame to frame. One way to stabilize the estimate is to X corr_smooth [k,m]=(1-α)*X corr_smooth [k,m-1]+α*X corr [k] The solution is to low-pass filter the cross spectrum using a simple first order filter, such as: where k=frequency bin and m=number of frames.

[0051] The filter coefficient α can be fixed, but the filter coefficient α can also be adaptive. One example is to use a spectral flatness measure (sfm) calculated on the left or right input signal as the filter coefficient. TIFF2025528960000017.tif19170X corr_smooth [k,m]=(1-sfm)*X corr_smooth [k,m-1]+sfm*X corr [k]

[0052] This measure will have a range of 0.0 to 1.0, with higher values ​​indicating a flatter spectrum. Using this coefficient may improve the robustness and accuracy of the ITD estimation.

[0053] In stereo or multi-channel audio coding systems, ITD parameters are generated based on channel pairs, where the ITD estimation is based on cross-spectral low-pass filtering or averaging, and the cross-spectral low-pass filtering is controlled based on DTX and voice / sound activity detector decisions.

[0054] Various embodiments allow the ITD calculation to be adaptive and controlled by the DTX system. When coding progresses from active content to background content, a transition from active content to CNG occurs, and these contents may have significantly different spatial properties (e.g., inter-channel time difference or coherence). For such changes that occur in the signal characteristics of the coded spatial audio, it may be beneficial to adapt more quickly to the changes in content.

[0055] The reason for the time difference that exists between the signal in the left channel and the signal in the right channel is due to the placement of the sound source relative to the capture microphone. In a conversational speech scenario with one or several speakers and environmental noise in the background, this means that there can be a sudden change in ITD when the speaker stops speaking, i.e., when the DTX system switches the coding process to CNG.

[0056] In many cases, background noise will provide nearly uncorrelated signals in the left and right channels. This means that there will be no detected ITD and the encoder may not send an ITD parameter, essentially assuming the ITD to be 0. If the background noise is dominated by a single source (e.g., a fan or some machinery), the ITD present in the background noise may be different from the ITD of the speech. In a reasonable scenario, it can be assumed that the speech level will be significantly higher than the background noise level, and the estimated ITD during speech will be based on the speech signal.

[0057] It is not desirable to have an ITD estimate that varies from frame to frame, but the ITD estimate should follow changes in the input signal, for example, if a speaker is moving or if there are several speakers taking turns speaking.

[0058] Low-pass filtering the cross-spectrum is one way to smooth the ITD estimate to avoid frequent changes in the estimated ITD. If there is a sudden change in the ITD, smoothing will introduce a delay in the ITD estimation, thereby allowing a period of time before the ITD estimate adapts to the new ITD. There will be a trade-off between having a stable ITD estimate and the speed at which the ITD estimate can follow changes.

[0059] When DTX is used, there is a decision to be made as to whether active coding or CNG coding should be used for the current frame. It is possible that the ITD will be different between the active codings, and therefore a focus of embodiments of the disclosed subject matter is to speed up ITD estimation by adaptive filtering and updating of cross-spectral (or time-domain cross-correlation) estimates for the beginning of CNG-coded segments. This can be achieved by several techniques, as described below.

[0060] Adjusting the low-pass filter coefficients

[0061] To speed up ITD estimation in the transition from active speech coding to CNG coding, the low-pass filter coefficients are adjusted at the beginning of the CNG period. In the example below, the filter coefficients are changed during the first frame of CNG_ITD_CNT. The processing depends on both the current frame m and the previous frame m-1. To make this clear, the notation is complemented with a frame index. X corr_smooth [k,m]=(1-α1)·X corr_smooth [k,m-1]+α1·X corr [k],cng counter <CNG_ITD_CNT X corr_smooth [k,m]=(1-sfm)·X corr_smooth [k,m-1]+sfm·X corr [k],cng counter ≧CNG_ITD_CNT TIFF2025528960000018.tif11170For CNG frames, cng counter =cng counter +1 For audio frames, cng counter =0 TIFF2025528960000019.tif19170

[0062] Typically, in CNG encoding, encoded frames are sent less frequently than in voice encoding. This is illustrated in Figure 8, which shows an active encoded signal 801 and a CNG encoded signal 802. Typically, a CNG encoded frame is sent every eight frames (e.g., SID frames 811 and 812 in CNG encoded signal 802), with nothing transmitted during the seven frames in between those CNG frames (e.g., "speed-up interval" 803 in Figure 8).

[0063] If the ITD estimation is run over the same time interval as in active coding and CNG_ITD_CNT is set to 8, it means that only one ITD estimate will be sent to the decoder during the time interval when the filter coefficients are changed and the estimates can be expected to be more unstable. The upper threshold A can be set to 0.8, for example, to ensure that the smoothing across frames is not too weak. However, to allow for higher filter coefficients when sfm exceeds A, α1 can also be set, i.e., TIFF2025528960000020.tif11170

[0064] Another alternative for varying the filter coefficients could be to set the coefficients to a constant high value (e.g., 0.8) during the first CNG frame of CNG_ITD_CNT, or to use another function that would increase the filter coefficient value over this limited time period. The number of frames, i.e., CNG_ITD_CNT, over which the modified filter coefficients are used could also be made adaptive, allowing for longer periods, for example, when the sfm value is low.

[0065] To avoid triggering cross-spectral filtering speedup during short bursts of active encoding (see active encoding signal 1001 in FIG. 10), a certain length of active segment may be required to trigger speedup (see, e.g., speedup interval 1003). One exemplary embodiment may deactivate cng until a certain number of consecutive active frames is reached.counter The key is to wait with the reset of speech counter >SPEECH_ITD_COUNT, then cng counter =0, Here, SPEECH_ITD_COUNT may be, for example, "8." This procedure is also illustrated in FIG. 10, where a short speech burst in the second occurrence 1005 of the active encoding 1001 before the CNG encoding 1002 is counter is too short to reset the ITD and activate the speed-up logic in interval 1004, shown as the "no speed-up here" interval. The benefit of not applying speed-up in this case is that a more stable long-term ITD estimate is obtained.

[0066] Instead of specifying the time interval CNG_ITD_CNT over which the adapted filter coefficients are applied, you can use the default coefficients α (based on sfm, for example). default and the adaptive lower threshold α threshold Preferably, the filter coefficients are adapted based on how many frames the cross-correlation estimation has been active for and / or how many updates of the estimate can be expected before it is used, e.g., to estimate the ITD (as described in more detail below).

[0067] In this case, the filter coefficients may be determined as follows: X corr_smooth [k,m]=(1-α lim )·X corr_smooth [k,m-1]+α lim X corr [k], α lim =max(α default ,α threshold )

[0068] The more frames involved in the cross-correlation estimate, the smaller the adaptive lower threshold α thresholdis enabled. However, as the smoothing factor decreases, larger long-term estimates may be obtained. To ensure that the cross-correlation estimate is relevant to the transition between active and inactive coding (e.g., where the estimate should switch from tracking speech to tracking background spatial characteristics), further techniques for updating the cross-spectrum may be utilized, as described in the following sections.

[0069] Separating cross-spectral filtering between active and CNG encoding

[0070] In some embodiments, improved tracking of spatial characteristics can be obtained by performing a dedicated cross-correlation estimate that is updated (e.g., low-pass filtered) only during CNG periods and using this estimate for ITD estimation during CNG periods. This filter can have fixed or adaptive filter coefficients. This means that at the beginning of each CNG period, the filter starts from its state from the end of the last CNG period. In many cases, the background noise has not changed significantly during the active segment. Even if the background noise has changed, this starting point is not necessarily worse than starting from the filter state collected during the active speech segment.

[0071] Reset cross-spectral filtering

[0072] In some embodiments, it may be beneficial to reset the filter states rather than reusing the states of a previous CNG period, especially if some of the active signal spatial characteristics may be in the filter states at the end of the CNG period where VAD has not yet triggered active coding. In other embodiments, it may be beneficial to reset the filter states after a longer segment of active coding (e.g., 20 frames), when signal characteristics are more likely to have changed, as opposed to only after a few frames.

[0073] Therefore, in some embodiments, the implementation of such a reset may be coordinated by specifying a fixed number of active frames during the CNG period, as in some cases the previous filter state is more likely to be an appropriate starting point. In any case, it is important that the cross-correlation estimate update (e.g., low-pass filtering of the cross-spectrum) is not too slow.

[0074] Replace the cross-spectral low-pass filter state at the beginning of the CNG period

[0075] In some embodiments, the disclosed subject matter relates to replacing the state of the cross-spectral low-pass filter with a state that better reflects the background noise at the beginning of the CNG period. As shown in FIG. 11, one way to accomplish this is to calculate the cross-spectral X over the CNG_ITD_CNT frames. corr [k], and then the filter state X corr_smoothwith its average. For example, FIG. 11 shows an active encoded signal 1101 and a CNG encoded signal 1102. FIG. 11 further shows an averaging period 1104 that is calculated by the encoder and utilized to determine an average filter state value 1103. As shown in FIG. 11, the average filter state value 1103 is used to replace the "normally filtered" portion of the cross spectrum during one or more certain periods (e.g., period 1111) in the CNG encoded signal 1102. This means, for example, that for period 1111, the average filter state value 1103 will be used for ITD estimation. Frames after the filter replacement are updated in the usual manner. This technique can be mathematically expressed as follows: X corr_avg_sum [k,m]=X corr_avg_sum [k,m-1]+X corr [k],cng counter ≦CNG_ITD_CNT X corr_smooth [k,m]=(1-sfm)*X corr_smooth [k,m-1]+sfm*X corr [k],cng counter ≠CNG_ITD_CNT TIFF2025528960000021.tif10170For CNG frames, cng counter =cng counter +1 For audio frames, cng counter =0

[0076] In this case, the ITD estimate used for the first CNG encoding in the inactive segment would be unaffected, meaning that the ITD estimate would likely reflect the ITD from the preceding active encoding. One alternative to using an average as described above would be to replace the state of the cross-spectral low-pass filter with a cross-spectral filter state that is updated only during the CNG period.

[0077] Updates during DTX hangover

[0078] In VADs used for DTX systems, measures are taken to avoid frequent toggling between active speech and CNG, for example, to avoid "hangovers" added at the end of speech segments where the VAD indicated no activity (i.e., background noise) but the active coding mode is selected. However, it is impossible to have perfect detection. As shown by active coding segments 905-907 in active coding signal line 901 and corresponding signaling segments 902-904 in graph 900 in Figure 9, there will be short spurious bursts of active coding during some types of background noise. Furthermore, new speech segments may also begin with some toggling of the VAD decision.

[0079] To prepare for ITD estimation for the first SID frame (e.g., CN encoding), it is beneficial to start updating the cross-correlation estimates during the hangover period before entering the CNG period (or potentially another active period), especially if there has been a cross-spectral reset.

[0080] In some embodiments, the ITD estimation is performed using a first cross-spectral low-pass filter X corr_smooth The state of the second low-pass filter X, which also filters the cross spectrum but is updated only during the hangover and CNG periods, is then filtered. spec_smooth In particular, the first cross-spectral low-pass filter is used for ITD estimation (eg, for normal active frames, hangover active frames, and inactive frames).

[0081] used to update the second cross-spectral low-pass filter during the hangover period; The cross-correlation estimation can be determined based on how many frames the cross-correlation estimation has been active for and how many updates of the estimate can be expected before it is used. Similarly, the cross-correlation estimation used to update the first cross-spectral low-pass filter during CN encoding (e.g., SID frames) can be determined based on how many frames the cross-correlation estimation has been active for and how many updates of the estimate can be expected before it is used. The cross-correlation estimation can be determined based on how many frames the cross-correlation estimation has been active for and how many updates of the estimate can be expected before it is used. This can be accomplished using either TIFF2025528960000024.tif7170.

[0082] In some embodiments, the accumulated expected number of frames N (until the estimate is to be used) exp For example, N may be set to "9" in the first hangover region if it is expected that nine hangover frames will be added before entering the CN encoding stage. If the resetting of the second cross-spectral low-pass filter is performed according to the following formula, N exp is the number of hangover frames for the subsequent update period. TIFF2025528960000025.tif7170 will be reset. Otherwise, if the reset of the second cross-spectral low-pass filter is not performed, N exp is followed by the corresponding segment of active coding. TIFF2025528960000026.tif7170 will be increased by the expected number of frames.

[0083] Similarly, the accumulated expected number of frames, N exp is the frame's TIFF2025528960000027.tif7170 This is, for example, "8" if the SID frame is sent every 8 frames, but TIFF2025528960000028.tif7170If there is a variable SID rate, it may fluctuate over time.

[0084] Also, Note that the lower number, N, may not always correspond to the actual number of frames for an update period, but may instead indicate the expected length of those update periods. exp generally results in a faster update of the cross-spectral low-pass filter, and a larger number of frames than the expected number N exp should result in slower updates of the cross-spectral low-pass filter, thereby giving more stable estimates of the cross-correlation and ITD.

[0085] In some embodiments, a separate frame counter N updates indicates how many frames were previously used to update the background cross-correlation estimate. This counter should be reset to "0" when the second cross-spectral low-pass filter is reset, which may occur during a hangover period. The reset may occur only when a certain number of active frames (e.g., non-hangover frames), e.g., 20 frames, have passed according to the section labeled "Resetting Cross-Spectral Filtering," i.e., TIFF2025528960000030.tif11170 where N reset is a counter of active (non-hangover) frames, and the threshold NUM_RESET_FRAMES may be "20". reset is X spec_smoothis reset and during CN encoding. Because the VAD is run for each channel individually, there may be hangover for only one of the audio channels of a stereo pair (e.g., only for the left channel of the stereo pair). Hangover for both channels may be required to trigger an update or reset of the second cross-spectral low-pass filter. This means that when there is hangover for one of the channels but not the other, counter N reset This means that Θ can still be increased by 1. However, in other embodiments, an update or reset of the second cross-spectral low-pass filter can be triggered as long as there is a hangover for any of the channels.

[0086] During the CN coding period, a SID frame is transmitted, a new update period is entered, and the expected number of frames is increased by the number of frames expected for the next update period, i.e., TIFF2025528960000031.tif7170 where N exp [prev] indicates the accumulated expected number of frames prior to the update, TIFF2025528960000032.tif7170 Indicates the expected number of frames for the upcoming update period. If a hangover or CN coding period is interrupted by active coding, the accumulated expected number of frames N exp is N updates can be reset to

[0087] In some embodiments, TIFF2025528960000033.tif7170 is determined as follows: TIFF2025528960000034.tif13170

[0088] Similarly, TIFF2025528960000035.tif6170 can be determined as follows: TIFF2025528960000036.tif13170 where upper threshold A hangover and A cng can be, for example, "0.8", and the rate parameter B hangover and B cng may be set to "8", for example. The thresholds and the rate parameters are equal in this example, but these values ​​may differ from each other.

[0089] In another embodiment, the rate depends on the current number of hangover frames in the hangover period according to: TIFF2025528960000037.tif16170 where N hangover corresponds to the number of hangover frames, e.g., B0 = 1. In some embodiments, the number of hangover frames N hangover can be determined from the number of frames that the VAD for both channels is in hangover mode, or as the average of the number of hangover frames within the hangover period of those channels. The default filter coefficients are default = sfm, which may generally be used to update the first cross-spectral low-pass filter during the active frame (i.e., including the hangover period), X corr_smooth [k,m]=(1-sfm)·X corr_smooth [k,m-1]+sfm·X corr [k] and for a first CN coded frame, the first cross-spectral lowpass filter state may be set to the second cross-spectral lowpass filter state; X corr_smooth [k,m]=X spec_smooth [k,m-1] is.

[0090] In some embodiments, the CN encoded frame may then be represented as: TIFF2025528960000038.tif6170

[0091] N exp teeth, Note that the cross-correlation estimate is determined for an SID frame, but may not take into account the expected number of frames in a subsequent update period when the cross-correlation estimate is updated only after an SID frame. In some embodiments, the first cross-spectral low-pass filter X corr_smooth [k,m] may be used to estimate the ITD (eg, for normally active frames, hangover frames, and inactive frames).

[0092] During hangover, the first cross-spectral low-pass filter is set to the default filter coefficient α default The second cross-spectral low-pass filter, when updated using TIFF2025528960000040.tif7170 Updated adaptively. TIFF2025528960000041.tif7170

[0093] For CN coded frames, the second cross-spectral low-pass filter is implemented with another filter coefficient as follows: TIFF2025528960000042.tif7170 TIFF2025528960000043.tif8170 where, TIFF2025528960000044.tif7170 signal or can be set to a fixed value, for example 1 / 32.

[0094] 12 shows an example of one solution for ITD estimation, utilizing two cross-spectral filter states, a first filter state 1204 and a second filter state 1205. FIG. 12 further illustrates a potential reset 1206 of the second filter state 1205 and an adaptive, gradually decreasing filter update coefficient 1207, based on how many frames the cross-correlation estimation has been active for and how many updates of the estimate can be expected before it is used. The key effect here is that already under a hangover period (if any), considered here as a period during which the VAD 1201 does not indicate an active signal (that has been reduced) but there is still active coding 1202, the second filter state 1205 can be reset 1206 and / or updated to capture recent signal characteristics for the ITD estimate by being copied 1209 to the first filter state 1204 at the start of the CN coding period 1203. Also, as indicated for both filtering using the second filter state 1205 and the updated filtering using the first filter state 1204, an adaptive, gradually decreasing lower threshold 1207 for the filtering coefficients may be used based on how many frames the cross-correlation estimation has been active for and how many updates of the estimate can be expected before it is used. This allows the estimate to better adapt to recent signal characteristics while still obtaining a more stable ITD estimate at the point at which it should be used. Because the first filter state is used to estimate the ITD during active coding, the first filter state cannot be replaced by the second filter state until active coding stops and there is inactive coding in the CN coding mode. When the VAD 1201 once again indicates an active signal and active coding 1202 is re-enabled, normal filtering is applied.

[0095] Before describing operations from the encoder's perspective, FIG. 13 is a block diagram illustrating elements of an encoder 1300 configured to encode audio frames in accordance with various embodiments herein. In particular, the encoder 1300 may perform at least the same functions and / or capabilities as the encoder 400 in FIG. 4. As shown, the encoder 1300 may include a network interface circuit 1305 (also referred to as a network interface) configured to provide communication with other devices, entities, functions, etc. The encoder 1300 may also include a processing circuit 1301 (also referred to as a processor and processor circuit) coupled to the network interface circuit 1305, and a memory circuit 1303 (also referred to as a memory) coupled to the processing circuit. The memory circuit 1303 may include computer-readable program code that, when executed by the processing circuit 1301, causes the processing circuit to perform operations in accordance with embodiments disclosed herein (e.g., processes 1600-2300 shown in FIGS. 16-23).

[0096] According to other embodiments, the processing circuit 1301 may be defined to include memory such that a separate memory circuit is not required. As described herein, the operations of the encoder 1300 may be performed by the processing circuit 1301 and / or the network interface circuit 1305. For example, the processing circuit 1301 may control the network interface 1305 to send communications to the decoder 500 and / or receive communications through the network interface 1305 from one or more other network nodes / entities / servers, such as other encoder nodes, depository servers, etc. Moreover, modules may be stored in the memory 1303, and these modules may provide instructions such that, when their instructions are executed by the processing circuit 1301, the processing circuit 1301 performs respective operations. In some embodiments, the ITD estimation engine (IEE) 1320 is a software program and / or module stored in the memory 1303 and configured to perform the functions described herein. For example, the ITD estimation engine 1320, when executed by the processing circuit 1301, may be utilized to perform the steps described below in Figures 16-23. In some embodiments, the ITD estimation engine 1320 may also be configured to perform the stereo processing and mixdown and mono / voice audio encoder functions performed by modules 402 and 404 in Figure 4.

[0097] 14 is a block diagram illustrating elements of a decoder 1400 configured to decode audio frames, in accordance with some embodiments of the inventive concept. As shown, the decoder 1400 may include a network interface circuit 1405 (also referred to as a network interface) configured to provide communication with other devices / entities / functions, etc. In particular, the decoder 1400 may perform at least the same functions and / or capabilities of the decoder 500 in FIG. 5. The decoder 1400 may also include a processing circuit 1401 (also referred to as a processor or processor circuit) coupled to the network interface circuit 1405, and a memory circuit 1403 (also referred to as a memory) coupled to the processing circuit. The memory circuit 1403 may include computer-readable program code that, when executed by the processing circuit 1401, causes the processing circuit to perform operations according to embodiments disclosed herein.

[0098] According to other embodiments, the processing circuit 1401 may be defined to include memory such that a separate memory circuit is not required. As described herein, the operations of the decoder 1400 may be performed by the processor 1401 and / or the network interface 1405. For example, the processing circuit 1401 may control the network interface circuit 1405 to receive communications from the encoder 1300. Moreover, modules may be stored in the memory 1403, and these modules may provide instructions such that, when the instructions of the modules are executed by the processing circuit 1401, the processing circuit 1401 performs respective operations.

[0099] The encoder 1300 and decoder 1400 may be virtualized in some embodiments by distributing the encoder 1300 and / or decoder 1400 across various components. Figure 15 is a block diagram illustrating an example of a virtualization environment 1500 in which functionality implemented by some embodiments 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. Virtualization, as used herein, 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 1500 hosted by one or more of the hardware nodes, such as a network node, a UE, a core network node, or a 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.

[0100] An application 1502 (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 1500 to implement some of the features, functions, and / or benefits of some of the embodiments disclosed herein.

[0101] The hardware 1504 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 1506 (also referred to as hypervisors or virtual machine monitors (VMMs)), provide VMs 1508A and 1608B (one or more of which may be referred to generically as VMs 1508), and / or implement any of the functions, features, and / or benefits described with respect to some embodiments described herein. The virtualization layer 1506 may present to the VMs 1508 a virtual operating platform that appears to be networking hardware.

[0102] The VMs 1508 may comprise virtual processing, virtual memory, virtual networking or interfaces, and virtual storage, and may be run by a corresponding virtualization layer 1506. Different embodiments of the virtual appliance 1502 instance may be implemented on one or more of the VMs 1508, and the implementation 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, which may be located in data centers and customer premises equipment.

[0103] In the context of NFV, a VM 1508 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 1508 and the portion of the hardware 1504 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 1508 on the hardware 1504 and corresponds to the application 1502.

[0104] The hardware 1504 may be implemented in a standalone network node with general or specific components. The hardware 1504 may implement some functions via virtualization. Alternatively, the hardware 1504 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 1510 that, among other things, oversees the lifecycle management of the application 1502. In some embodiments, the hardware 1504 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 1512, which may alternatively be used for communication between the hardware nodes and the radio units.

[0105] The operation of the encoder 1300 (implemented using the block diagram structures of FIGS. 4 and 13) will now be described with reference to the flowchart of FIG. 16, in accordance with some embodiments of the inventive concept. For example, modules may be stored in the memory 1303 of FIG. 13 that provide instructions such that, when the instructions of the modules are executed by the respective communications device processing circuitry 1301, the encoder 1300 performs the respective operations of the flowchart.

[0106] 16 illustrates operations performed by the encoder 1300 in various embodiments. Referring to FIG. 16, in block 1601, the encoder 1300 receives a time-domain audio input including an audio input signal. The audio input signal may be speech, music, or a combination thereof.

[0107] In block 1603, the encoder 1300 processes the audio input signal in frames to produce a mono mixdown signal and one or more stereo parameters. Various techniques may be used to produce the mono mixdown signal and one or more stereo parameters. For example, the encoder 1300 may perform processing in the time domain or in the frequency domain.

[0108] In blocks 1605-1611, the encoder 1300 encodes the mono mixdown signal (and one or more stereo parameters). Specifically, in block 1605, the encoder 1300 encodes the active content of the mono mixdown signal at a first bit rate until a pause (e.g., an inactive period) is detected in the audio input signal or the mono mixdown signal. A VAD (e.g., VAD 102) may be used to detect the pause period described above.

[0109] At block 1606, the encoder 1300 is configured to estimate ITD parameters during encoding of active content based on cross-spectral low-pass filtering or cross-spectral averaging of the audio input signal.

[0110] In block 1607, the encoder 1300 switches encoding from the active encoding content to the inactive encoding to encode background noise at a second bit rate during the pause period, the second bit rate generally being less than the first bit rate described above.

[0111] In block 1609, the encoder 1300 adapts the ITD estimates to the audio input signal faster compared to when estimating ITD parameters while encoding active content. In some embodiments, adapting the ITD estimates faster includes speeding up cross-spectral smoothing by increasing low-pass filtering coefficients during the DTX hangover period and / or the beginning of the idle period compared to before the start of the DTX hangover period and / or the idle period.

[0112] In block 1611, the encoder 1300 may be configured to encode the ITD parameters and other stereo parameters periodically during pauses.

[0113] In optional block 1613, the encoder 1300 may be configured to transmit the encoded active content, the encoded background noise, and the encoded ITD parameters to a decoder.

[0114] 17 illustrates alternative and / or additional embodiments for estimating ITD parameters. In some embodiments, as shown in FIG. 17, in adapting ITD estimation to the audio input signal more quickly compared to estimating ITD parameters during active content encoding, the encoder 1300 may, in block 1701, apply a first cross-spectral low-pass filter X corr_smooth The state of the second low-pass filter X, which filters the cross spectrum but is updated only during hangover and idle periods, is spec_smooth In another embodiment, block 1701 includes accelerating cross-spectral smoothing of the audio input signal.

[0115] In block 1703, the encoder 1300 applies a second low-pass filter X during the DTX hangover period. spec_smooth In some of these embodiments, the encoder 1300 begins updating the second lowpass filter X in block 1705 in response to slow filtering due to a low spectral flatness measure (sfm). spec_smooth In some embodiments, the encoder 1300 performs a fast update of the state of X as follows: spec_smooth is set to determine TIFF2025528960000045.tif7170X corr_smooth is determined as follows: TIFF2025528960000046.tif6170 where, TIFF2025528960000047.tif7170Low frequency coefficients.

[0116] In some embodiments, the encoder 1300 Determined according to TIFF2025528960000048.tif45170, where A hangover and A cng is the upper threshold, and B hangover and B cng is the rate parameter.

[0117] In another embodiment, the encoder 1300 Determined according to TIFF2025528960000049.tif45170, where A hangover and A cng is the upper threshold, and B hangover and B cng is the rate parameter, and N hangover corresponds to the number of hangover frames, and B0 is a variable.

[0118] 18 illustrates one embodiment of using low-pass filtering to speed up cross-spectral smoothing. Referring to FIG. 18, in block 1801, the encoder 1300 may be configured to adjust low-pass filter coefficients during DTX hangover periods and / or during the beginning of quiet periods.

[0119] In some embodiments, the encoder 1300 X corr_smooth [k,m][k,m]=(1-α1)·X corr_smooth [k,m][k,m-1]+α1·X corr [k], TIFF2025528960000050.tif11170cng counter ≧CNG_ITD_CNT TIFF2025528960000051.tif16170For CNG frames, cng counter =cng counter +1 For audio frames, cng counter =0 where α1 is the low-pass filter coefficient, k=frequency bin, m=number of frames, and X corr [k] is the cross spectrum, TIFF2025528960000052.tif6170 is low-pass filtering of the cross spectrum, CNG frames are inactive coding frames, speech frames are active coding frames, sfm is the spectral flatness measure, and A is the upper threshold.

[0120] In some other embodiments, as shown in block 1901 of FIG. 19, the encoder 1300 accelerates cross-spectral smoothing through low-pass filtering during the start of a quiet period by triggering accelerated cross-spectral filtering after a certain number of consecutive active frames of active encoding have been reached.

[0121] In other embodiments, the speedup may be aided by dedicated cross-correlation estimates. Referring to Figure 20, in block 2001, the encoder 1300 performs dedicated cross-correlation estimates for the cross spectrum that are updated only during idle periods and / or during DTX hangover frames, and uses the dedicated cross-correlation estimates for ITD estimation during idle periods.

[0122] In a further embodiment, as shown in block 2101 of FIG. 21, the encoder 1300 speeds up cross-spectral smoothing through low-pass filtering by resetting the cross-spectral low-pass filter state one of before an update during a DTX hangover period and before an update during a quiescent period.

[0123] In yet another embodiment, as shown in block 2201 of FIG. 22, the encoder 1300 accelerates cross-spectral smoothing through low-pass filtering by replacing the low-pass filter state at the beginning of a hangover period or at the beginning of a quiet period.

[0124] In yet a further embodiment, as shown in block 2301 of FIG. 23, the encoder 1300 calculates the cross-spectral X over a number of CNG_ITD_CNT frames. corr Averaging [k] and filter state X corr_smooth is the cross spectrum X over the above number of CNG_ITD_CNT frames. corr Replace the low-pass filtering at the beginning of the rest period by replacing it with the average of [k].

[0125] While the computing devices (e.g., encoders, decoders, UEs, network nodes) 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, transforming the obtained information to other information, comparing the obtained or transformed information to information stored in the network node, and / or performing one or more operations based on the obtained or transformed information and as a result of the processing making a decision. Moreover, while a component is depicted 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.

[0126] 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. Embodiment 1. A method for adjusting an inter-channel time difference (ITD) in an encoder (400, 1608A, 1608B) using intermittent transmission (DTX), the method comprising: Receiving a time-domain audio input (1701) comprising an audio input signal; processing (1703) an audio input signal in frames to produce a mono mixdown signal and one or more stereo parameters; encoding (1705) active content of the mono mixdown signal at a first bit rate until a pause is detected in the audio input signal or the mono mixdown signal; switching (1707) the encoding from the active encoding content to the inactive encoding to encode background noise at a second bit rate during the pause period; estimating ITD parameters during idle periods based on cross-spectral low-pass filtering or cross-spectral averaging (1709), wherein estimating the ITD parameters includes accelerating cross-spectral smoothing by low-pass filtering during DTX hangover periods and / or during the beginning of the idle periods; encoding (1711) the estimated ITD parameters and other stereo parameters periodically during the rest periods; encoding the mono mixdown signal frame by frame by transmitting (1713) the encoded active content, the encoded background noise, and the encoded ITD parameters and other stereo parameters to a decoder (500, 1508A, 1508B); A method comprising: 2. Estimating ITD parameters In the first coded frame after active coding, the first cross-spectral low-pass filter X corr_smooth The state of the second low-pass filter X, which filters the cross spectrum but is updated only during hangover and idle periods, is spec_smooth (1801) 2. The method of embodiment 1, comprising: 3. During the DTX hangover period, the second low-pass filter X spec_smooth Starting the update (1803) 3. The method of embodiment 2, further comprising: 4. In response to slow filtering due to a low spectral flatness measure (sfm), a second low-pass filter X spec_smooth 3. The method of claim 2, further comprising: accelerating (1805) updates of the state of the 4. X spec_smooth but, Determined according to TIFF2025528960000053.tif7170, X corr_smooth but, Determined according to TIFF2025528960000054.tif6170, where: The method of embodiment 2 or 3, wherein TIFF2025528960000055.tif7170 is a low-pass coefficient. 5. Determined according to TIFF2025528960000056.tif45170, where A hangover and A cng is the upper threshold, and B hangover and B cng 5. The method of embodiment 4, wherein: 6. Determined according to TIFF2025528960000057.tif45170, where A hangover and A cng is the upper threshold, and B hangover and B cng is the rate parameter, and N hangover 5. The method of embodiment 4, wherein B corresponds to the number of hangover frames, and B0 is a variable. 7. The speed-up of cross-spectral smoothing by low-pass filtering (1901) adjusting the low-pass filter coefficients during the DTX hangover period and / or during the beginning of the sleep period (1901) 7. The method of any one of embodiments 1 to 6, comprising: 8. Adjusting the low-pass filter coefficients TIFF2025528960000058.tif10170X corr_smooth [k,m]=(1-sfm)·X corr_smooth [k,m-1]+sfm·X corr [k],cng counter ≧CNG_ITD_CNT TIFF2025528960000059.tif11170For CNG frames, cng counter =cng counter +1 For audio frames, cng counter =0 where α1 is the low pass filter coefficient, k=frequency bin, m=number of frames, and X corr [k] is the cross spectrum, and X corr_smooth 8. The method of embodiment 7, wherein [k,m] is a cross-spectral low-pass filtering, the CNG frames are inactive coding frames, the speech frames are active coding frames, sfm is a spectral flatness measure, and A is an upper threshold. 9. A method according to any one of embodiments 1 to 8, wherein accelerating cross-spectral smoothing by low-pass filtering during the start of a rest period includes triggering acceleration of cross-spectral filtering after active encoding of a certain number of consecutive active frames is reached (2001). 10. performing dedicated cross-correlation estimates for the cross spectrum that are updated only during idle periods and / or during DTX hangover frames, and using the dedicated cross-correlation estimates for ITD estimation during idle periods (2101); 10. The method of any one of embodiments 1 to 9, further comprising: 11. resetting the cross-spectral low-pass filter state one of before an update during a DTX hangover period and before an update during a sleep period (2201); 11. The method of any one of embodiments 1 to 10, further comprising: 12. Replacing the low-pass filter state at the start of a hangover period or at the start of a sleep period (2301) 12. The method of any one of embodiments 1 to 11, further comprising: 13. Replacing the low-pass filtering at the beginning of the quiet period is the cross-spectrum X over a number of CNG_ITD_CNT frames. corr Average [k] and filter state X corr_smooth is the cross spectrum X over the above number of CNG_ITD_CNT frames. corr13. The method of claim 12, further comprising replacing (2401) [k] with the average of [k]. 14. A method for adjusting at least one stereo parameter in a decoder (500, 1608A, 1608B), the method comprising: Receiving and decoding (2501) an encoded mono downmix signal and at least one stereo parameter; determining (2503) at least one stereo parameter based on an indicator indicating whether the foreground and background signals are effectively separated; synthesizing (2505) a stereo signal based on the determined at least one stereo parameter and the mono downmix signal for each frame; A method comprising: 15. At least one stereo parameter includes an inter-channel time difference (ITD), and estimating the ITD includes: In response to the indicator indicating that the foreground and background signals are efficiently separated, an ITD, ITD used for the stereo upmix is ​​selected. syn of, ITD syn =ITD target (2601) is obtained directly from the target ITD obtained from the encoder according to 15. The method of embodiment 14, comprising: 16. Estimating ITD is In response to the indicator indicating that the foreground and background signals are not efficiently separated, an ITD used for the stereo upmix, the ITD syn of, itd_xfade_counter <L xfade If so, ITD syn =ITD prev +ITD step According to the previous ITD to ITD target To gradually fade towards where itd_xfade_counter is a frame counter that is incremented by 1 for each frame during a pause in the mono downmix signal; xfade corresponds to the total fade length, and ITD prev But ITD target Follow the latest ITD value for a gradual fade towards the ITD step is set at the beginning of the rest period when the fade begins, TIFF2025528960000060.tif13170 The method of embodiment 15, wherein the target ITD is updated whenever a new target ITD is received according to 18. An encoder (400, 1608A, 1608B) adapted to perform an operation, said operation comprising: Receiving a time-domain audio input (1701) comprising an audio input signal; processing (1703) an audio input signal in frames to produce a mono mixdown signal and one or more stereo parameters; encoding (1705) active content of the mono mixdown signal at a first bit rate until a pause is detected in the audio input signal or the mono mixdown signal; switching (1707) the encoding from the active encoding content to the inactive encoding to encode background noise at a second bit rate during the pause period; estimating ITD parameters during idle periods based on cross-spectral low-pass filtering or cross-spectral averaging (1709), wherein estimating the ITD parameters includes accelerating cross-spectral smoothing by low-pass filtering during DTX hangover periods and / or during the beginning of the idle periods; encoding (1711) the estimated ITD parameters and other stereo parameters periodically during the rest periods; encoding the mono mixdown signal frame by frame by transmitting (1713) the encoded active content, the encoded background noise, and the encoded ITD parameters and other stereo parameters to a decoder (500, 1508A, 1508B); Includes encoders (400, 1608A, 1608B). 19. The encoder (400, 1608A, 1608B) according to embodiment 18, wherein the encoder (400, 1608A, 1608B) is implemented according to any one of embodiments 2 to 13. 20. An encoder (400, 1608A, 1608B), A processing circuit (1401); a memory (1403) coupled to the processing circuitry, the memory containing instructions that, when executed by the processing circuitry, cause the encoder (400, 1608A, 1608B) to perform operations, the operations including: Receiving a time-domain audio input (1701) comprising an audio input signal; processing (1703) an audio input signal in frames to produce a mono mixdown signal and one or more stereo parameters; encoding (1705) active content of the mono mixdown signal at a first bit rate until a pause is detected in the audio input signal or the mono mixdown signal; switching (1707) the encoding from the active encoding content to the inactive encoding to encode background noise at a second bit rate during the pause period; estimating ITD parameters during idle periods based on cross-spectral low-pass filtering or cross-spectral averaging (1709), wherein estimating the ITD parameters includes accelerating cross-spectral smoothing by low-pass filtering during DTX hangover periods and / or during the beginning of the idle periods; encoding (1711) the estimated ITD parameters and other stereo parameters periodically during the rest periods; encoding the mono mixdown signal frame by frame by transmitting (1713) the encoded active content, the encoded background noise, and the encoded ITD parameters and other stereo parameters to a decoder (500, 1508A, 1508B); Includes encoders (400, 1608A, 1608B). 21. An encoder (400, 1608A, 1608B) as described in embodiment 20, wherein the memory includes further instructions that, when executed by the processing circuit, cause the encoder (400, 1608A, 1608B) to perform the operations described in any one of embodiments 2 to 13. 22. A computer program comprising program code to be executed by a processing circuit (803) of an encoder (400, 1608A, 1608B), whereby execution of the program code causes the encoder (400, 1608A, 1608B) to perform an operation, said operation being: Receiving a time-domain audio input (1701) comprising an audio input signal; processing (1703) an audio input signal in frames to produce a mono mixdown signal and one or more stereo parameters; encoding (1705) active content of the mono mixdown signal at a first bit rate until a pause is detected in the audio input signal or the mono mixdown signal; switching (1707) the encoding from the active encoding content to the inactive encoding to encode background noise at a second bit rate during the pause period; estimating ITD parameters during idle periods based on cross-spectral low-pass filtering or cross-spectral averaging (1709), wherein estimating the ITD parameters includes accelerating cross-spectral smoothing by low-pass filtering during DTX hangover periods and / or during the beginning of the idle periods; encoding (1711) the estimated ITD parameters and other stereo parameters periodically during the rest periods; encoding the mono mixdown signal frame by frame by transmitting (1713) the encoded active content, the encoded background noise, and the encoded ITD parameters and other stereo parameters to a decoder (500, 1508A, 1508B); a computer program comprising: 23. The computer program of embodiment 22, further comprising program code, whereby execution of the program code causes the encoder (400, 1608A, 1608B) to perform the operations of any one of embodiments 2 to 13. 24. A computer program product comprising a non-transitory computer-readable storage medium having program code to be executed by a processing circuit (1403) of an encoder (400, 1608A, 1608B), whereby execution of the program code causes the encoder (400, 1608A, 1608B) to perform operations, the operations being: Receiving a time-domain audio input (1701) comprising an audio input signal; processing (1703) an audio input signal in frames to produce a mono mixdown signal and one or more stereo parameters; encoding (1705) active content of the mono mixdown signal at a first bit rate until a pause is detected in the audio input signal or the mono mixdown signal; switching (1707) the encoding from the active encoding content to the inactive encoding to encode background noise at a second bit rate during the pause period; estimating ITD parameters during idle periods based on cross-spectral low-pass filtering or cross-spectral averaging (1709), wherein estimating the ITD parameters includes accelerating cross-spectral smoothing by low-pass filtering during DTX hangover periods and / or during the beginning of the idle periods; encoding (1711) the estimated ITD parameters and other stereo parameters periodically during the rest periods; encoding the mono mixdown signal frame by frame by transmitting (1713) the encoded active content, the encoded background noise, and the encoded ITD parameters and other stereo parameters to a decoder (500, 1508A, 1508B); a computer program product, 25. The computer program product of embodiment 24, wherein the non-transitory computer-readable storage medium has further program code to be executed by the processing circuitry (1403) of the encoder (400, 1608A, 1608B), whereby execution of the program code causes the encoder (400, 1608A, 1608B) to perform the operations described in any one of embodiments 2 to 13. 26. A decoder (500, 1608A, 1608B) adapted to perform an operation, said operation being: Receiving and decoding (2501) an encoded mono downmix signal and at least one stereo parameter; determining (2503) at least one stereo parameter based on an indicator indicating whether the foreground and background signals are effectively separated; synthesizing (2505) a stereo signal based on the determined at least one stereo parameter and the mono downmix signal for each frame; decoders (500, 1608A, 1608B). 27. The decoder (500, 1608A, 1608B) according to embodiment 26, wherein the decoder (500, 1608A, 1608B) is implemented according to embodiment 15 or 16. 28. A decoder (500, 1608A, 1608B), A processing circuit (1501); a memory (1503) coupled to the processing circuit, the memory containing instructions that, when executed by the processing circuit, cause the decoder (500, 1608A, 1608B) to perform operations, the operations including: Receiving and decoding (2501) an encoded mono downmix signal and at least one stereo parameter; determining (2503) at least one stereo parameter based on an indicator indicating whether the foreground and background signals are effectively separated; synthesizing (2505) a stereo signal based on the determined at least one stereo parameter and the mono downmix signal for each frame; decoders (500, 1608A, 1608B). 29. A decoder (500, 1608A, 1608B) as described in embodiment 28, wherein the memory includes further instructions that, when executed by the processing circuit, cause the decoder (500, 1608A, 1608B) to perform the operations described in embodiment 15 or 16. 30. A computer program comprising program code to be executed by a processing circuit (1503) of a decoder (500, 1608A, 1608B), whereby execution of the program code causes the decoder (500, 1608A, 1608B) to perform an operation, said operation being: Receiving and decoding (2501) an encoded mono downmix signal and at least one stereo parameter; determining (2503) at least one stereo parameter based on an indicator indicating whether the foreground and background signals are effectively separated; synthesizing (2505) a stereo signal based on the determined at least one stereo parameter and the mono downmix signal for each frame; a computer program comprising: 31. The computer program of embodiment 30, further comprising program code, whereby execution of the program code causes the decoder (500, 1608A, 1608B) to perform the operations of embodiment 15 or 16. 32. A computer program product comprising a non-transitory computer-readable storage medium having program code to be executed by a processing circuit (1503) of a decoder (500, 1608A, 1608B), whereby execution of the program code causes the decoder (500, 1608A, 1608B) to perform operations, the operations being: Receiving and decoding (2501) an encoded mono downmix signal and at least one stereo parameter; determining (2503) at least one stereo parameter based on an indicator indicating whether the foreground and background signals are effectively separated; synthesizing (2505) a stereo signal based on the determined at least one stereo parameter and the mono downmix signal for each frame; a computer program product, 33. The computer program product of embodiment 32, wherein the non-transitory computer-readable storage medium has further program code to be executed by a processing circuit (1503) of the decoder (500, 1608A, 1608B), whereby execution of the program code causes the decoder (500, 1608A, 1608B) to perform the operations described in embodiment 15 or 16.

Claims

1. 1. A method for estimating inter-channel time difference (ITD) in an encoder (1300, 1508A, 1508B) using discontinuous transmission (DTX), the method comprising: Receiving a time-domain audio input (1601) comprising an audio input signal; processing (1603) the audio input signal in frames to produce a mono mixdown signal and one or more stereo parameters; encoding (1605) active content of the mono mixdown signal at a first bit rate until a pause is detected in the audio input signal or the mono mixdown signal; estimating ITD parameters during the encoding of active content based on low-pass filtering or cross-spectral averaging of the audio input signal (1606); switching (1607) the encoding from the active encoding content to inactive encoding to encode background noise at a second bit rate during the pause period; estimating ITD parameters (1609) during the idle periods based on low-pass filtering or averaging of the cross-spectrum of the audio input signal, wherein the estimating is configured to adapt faster to the audio input signal compared to estimating the ITD parameters during the encoding of active content; encoding (1611) the estimated ITD parameters and other stereo parameters periodically during said pause periods; encoding the mono mixdown signal for each frame by A method comprising:

2. The estimating is configured to adapt to the audio input signal faster than when estimating the ITD parameters during the encoding of active content, Accelerating cross-spectral smoothing by increasing low-pass filtering coefficients during a DTX hangover period and / or during the start of the quiet period compared to before the start of the DTX hangover period and / or the quiet period. The method of claim 1 , comprising:

3. The estimating is configured to adapt faster to the audio input signal compared to estimating the ITD parameters during the encoding of active content, In the first coded frame after active coding, the first cross-spectral low-pass filter X corr_smooth The state of a second low-pass filter X 1 , which filters the cross spectrum but is updated only during hangover and idle periods, is then updated. spec_smooth (1701) The method of claim 1 , comprising:

4. During the DTX hangover period, the second low-pass filter X spec_smooth Initiating the update (1703) The method of claim 3 further comprising:

5. In response to the filtering being slow due to a low spectral flatness measure (sfm), the second low pass filter X spec_smooth The method of claim 2 , further comprising: accelerating (1705) the update of the state of the

6. X spec_smooth but, is determined according to X corr_smooth but, is determined according to 6. The method according to claim 3, wherein the coefficients are low-pass coefficients.

7. Determined according to hangover and A cng is the upper threshold, and B hangover and B cng The method of claim 6 , wherein is a rate parameter.

8. Determined according to hangover and A cng is the upper threshold, and B hangover and B cng is the rate parameter, and N hangover corresponds to the number of hangover frames, and B 0 The method of claim 6 , wherein is a variable.

9. The estimating is configured to adapt faster to the audio input signal compared to estimating the ITD parameters during the encoding of active content, adjusting low-pass filter coefficients during the DTX hangover period and / or during the start of the idle period (1801); 9. The method of claim 1, comprising:

10. adjusting the low pass filter coefficients X corr_smooth [k,m]=(1-sfm)・X corr_smooth [k,m-1]+sfm・X corr [k],cng counter ≧CNG_ITD_CNT For CNG frames, cng counter =cng counter +1 For audio frames, cng counter =0 where α 1 are the low pass filter coefficients, k = frequency bin, m = number of frames, and X corr [k] is the cross spectrum, and X corr_smooth 10. The method of claim 9, wherein [k, m] is a low-pass filtering of the cross-spectrum, CNG frames are inactive coding frames, speech frames are active coding frames, sfm is a spectral flatness measure, and A is an upper threshold.

11. 6. The method of claim 1, wherein the estimating the ITD parameters further comprises accelerating cross-spectral smoothing by low-pass filtering during a start of the idle period, and triggering (1901) the acceleration of the cross-spectral filtering after a certain number of consecutive active frames of active encoding have been reached.

12. performing dedicated cross-correlation estimates for the cross-spectrum, the estimates being updated only during the idle periods and / or during DTX hangover frames, and using the dedicated cross-correlation estimates for the ITD estimation during the idle periods (2001); 12. The method of claim 1, further comprising:

13. resetting the cross-spectral low-pass filter state one of before an update during a DTX hangover period and before an update during the idle period (2101).

13. The method of any one of claims 1 to 12, further comprising:

14. Replacing the low pass filter state at the start of a hangover period or at the start of the sleep period (2201).

14. The method of any one of claims 1 to 13, further comprising:

15. Replacing the low-pass filtering at the beginning of the idle period may be performed by filtering the cross-spectral X over a number of CNG_ITD_CNT frames. corr [k] and the filter state X corr_smooth the cross spectrum X over the number of CNG_ITD_CNT frames corr 15. The method of claim 14, comprising replacing (2301) [k] with the average of [k].

16. transmitting (1613) the encoded active content, the encoded background noise, the encoded ITD parameters and the other stereo parameters to a decoder (500); 16. The method of any one of claims 1 to 15, further comprising:

17. An encoder (1300, 1508A, 1508B) adapted to perform operations, said operations comprising: Receiving a time-domain audio input (1601) comprising an audio input signal; processing (1603) the audio input signal in frames to produce a mono mixdown signal and one or more stereo parameters; encoding (1605) active content of the mono mixdown signal at a first bit rate until a pause is detected in the audio input signal or the mono mixdown signal; estimating ITD parameters during the encoding of active content based on low-pass filtering or cross-spectral averaging of the audio input signal (1606); switching (1607) the encoding from the active encoding content to inactive encoding to encode background noise at a second bit rate during the pause period; estimating ITD parameters (1609) during the idle periods based on low-pass filtering or averaging of the cross-spectrum of the audio input signal, wherein the estimating is configured to adapt to the audio input signal more quickly compared to estimating the ITD parameters during the encoding of active content; encoding (1611) the estimated ITD parameters and other stereo parameters periodically during said pause periods; encoding the mono mixdown signal for each frame by an encoder (1300, 1508A, 1508B) including:

18. The encoder (1300, 1508A, 1508B) of claim 17, wherein the encoder (400, 1508A, 1508B) is implemented according to any one of claims 2 to 15.

19. An encoder (1300, 1508A, 1508B), A processing circuit (1301); a memory (1303) coupled to the processing circuitry, the memory containing instructions that, when executed by the processing circuitry, cause the encoder (400, 1508A, 1508B) to perform operations, the operations including: Receiving a time-domain audio input (1601) comprising an audio input signal; processing (1603) the audio input signal in frames to produce a mono mixdown signal and one or more stereo parameters; encoding (1605) active content of the mono mixdown signal at a first bit rate until a pause is detected in the audio input signal or the mono mixdown signal; estimating ITD parameters during the encoding of active content based on low-pass filtering or cross-spectral averaging of the audio input signal (1606); switching (1607) the encoding from the active encoding content to inactive encoding to encode background noise at a second bit rate during the pause period; estimating ITD parameters (1609) during the idle periods based on low-pass filtering or averaging of the cross-spectrum of the audio input signal, wherein the estimating is configured to adapt to the audio input signal more quickly compared to estimating the ITD parameters during the encoding of active content; encoding (1611) the estimated ITD parameters and other stereo parameters periodically during said pause periods; encoding the mono mixdown signal for each frame by an encoder (1300, 1508A, 1508B) including:

20. 20. The encoder (1300, 1508A, 1508B) of claim 19, wherein the memory includes further instructions that, when executed by the processing circuit, cause the encoder (1300, 1508A, 1508B) to perform the operations of any one of claims 2 to 15.

21. A computer program comprising program code to be executed by a processing circuit (1301) of an encoder (1300, 1508A, 1508B), whereby execution of said program code causes said encoder (400, 1508A, 1508B) to perform operations, said operations being: Receiving a time-domain audio input (1601) comprising an audio input signal; processing (1603) the audio input signal in frames to produce a mono mixdown signal and one or more stereo parameters; encoding (1605) active content of the mono mixdown signal at a first bit rate until a pause is detected in the audio input signal or the mono mixdown signal; estimating ITD parameters during the encoding of active content based on low-pass filtering or cross-spectral averaging of the audio input signal (1606); switching (1607) the encoding from the active encoding content to inactive encoding to encode background noise at a second bit rate during the pause period; estimating ITD parameters (1609) during the idle periods based on low-pass filtering or averaging of the cross-spectrum of the audio input signal, wherein the estimating is configured to adapt to the audio input signal more quickly compared to estimating the ITD parameters during the encoding of active content; encoding (1611) the estimated ITD parameters and other stereo parameters periodically during said pause periods; encoding the mono mixdown signal for each frame by a computer program comprising:

22. 22. The computer program of claim 21, further comprising program code, whereby execution of said program code causes said encoder (1300, 1608A, 1608B) to perform the operations of any one of claims 2 to 15.

23. 1. A computer program product comprising a non-transitory computer-readable storage medium having program code to be executed by a processing circuit (1301) of an encoder (1300, 1508A, 1508B), whereby execution of the program code causes the encoder (1300, 1508A, 1508B) to perform operations, the operations being: Receiving a time-domain audio input (1601) comprising an audio input signal; processing (1603) the audio input signal in frames to produce a mono mixdown signal and one or more stereo parameters; encoding (1605) active content of the mono mixdown signal at a first bit rate until a pause is detected in the audio input signal or the mono mixdown signal; estimating ITD parameters during the encoding of active content based on low-pass filtering or cross-spectral averaging of the audio input signal (1606); switching (1607) the encoding from the active encoding content to inactive encoding to encode background noise at a second bit rate during the pause period; estimating ITD parameters (1609) during the idle periods based on low-pass filtering or averaging of the cross-spectrum of the audio input signal, wherein the estimating is configured to adapt to the audio input signal more quickly compared to estimating the ITD parameters during the encoding of active content; encoding (1611) the estimated ITD parameters and other stereo parameters periodically during said pause periods; encoding the mono mixdown signal for each frame by a computer program product,

24. 24. The computer program product of claim 23, wherein the non-transitory computer-readable storage medium has further program code to be executed by a processing circuit (1301) of an encoder (1300, 1508A, 1508B), whereby execution of the program code causes the encoder (1300, 1508A, 1508B) to perform the operations of any one of claims 2 to 15.

Citation Information

Patent Citations

  • Multi-channel audio signal processing method, device, and system

    JP2019533189A

  • Apparatus, method or computer program for estimating inter-channel time difference

    JP2021519949A

  • Support for comfort noise generation

    JP2021520515A

  • Methods and devices for encoding and / or decoding spatial background noise within a multi-channel input signal

    WO2021252705A1

  • Signal processing device and signal processing method

    WO2022153632A1