Adaptive inter-channel time difference estimation

By accelerating cross-correlation low-pass filtering, the problem of ITD delay offset in DTX systems is solved, achieving a more natural comfortable noise experience and more accurate ITD estimation.

CN119895493APending Publication Date: 2025-04-25TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202380065669.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-09-13
Filing Date
2023-09-13
Publication Date
2025-04-25

AI Technical Summary

Technical Problem

When DTX is enabled, the CNG generated during speech pauses is encoded at very low bit rates, and ITDs may differ in speech pauses, resulting in the smoothing of the cross spectrum based on spectrum flatness, and the ITD delays to shift, affecting the auditory experience.

Method used

By accelerating the cross-correlation low-pass filtering, allowing the ITD to be adjusted faster at the start of each CNG segment, including modifying the low-pass filter coefficients and increasing the low-pass filter coefficients during the DTX tailing period and the pause period to accelerate ITD estimation.

Benefits of technology

A more natural, comfortable noise auditory experience is achieved, avoiding discomfort effects at the beginning of DTX and improving ITD estimation accuracy at the beginning of speech.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119895493A_ABST
    Figure CN119895493A_ABST
Patent Text Reader

Abstract

A method of estimating an inter-channel time difference (ITD) in an encoder using discontinuous transmission (DTX) is disclosed. An example method includes receiving (1601) a time domain audio input including an audio input signal, and processing (1603) the audio input signal by frame to produce a monophonic downmix signal and one or more stereo parameters. The method further includes encoding, frame by frame, the monaural downmix signal by encoding (1605) active content of the monaural downmix signal at a first bit rate until a pause period is detected in the audio input signal or the monaural downmix signal; estimating (1606) an ITD parameter during encoding of the active content based on low-pass filtering of the cross-spectrum or averaging of the cross-spectrum; switching (1607) encoding from active encoding content to inactive encoding during the pause period in order to encode background noise at a second bit rate; and estimating (1609) an ITD parameter during the pause period based on the low-pass filtering of the cross-spectrum or the averaging of the cross-spectrum, where the estimation is configured to adapt the audio input signal faster than estimating the ITD parameter during encoding the active content. The method further includes periodically encoding (1611) the ITD estimate parameters and other stereo parameters during the dwell period.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to U.S. Provisional Patent Application Serial No. 63 / 406,127, filed on September 13, 2022, the disclosure of which is incorporated herein by reference in its entirety. Technical Field

[0003] The present disclosure relates generally to communications, and more particularly to communications methods supporting encoding and decoding and related devices and nodes. Background Art

[0004] In communication networks, obtaining good performance and capacity for a given communication protocol, its parameters, and the physical environment in which the communication network is deployed can be challenging.

[0005] For example, despite the ever-increasing capacity of telecommunication networks, there is still an interest in limiting the resource usage required per user. In mobile telecommunication networks, less resource usage required per call means that the mobile telecommunication network can serve more users in parallel. Reducing resource usage also reduces power consumption in both user-side devices (e.g., terminal devices) and network-side devices (e.g., network nodes). For network operators, this translates into energy and cost savings, while for terminal devices, this achieves extended battery life and increased talk time.

[0006] One mechanism for reducing the required resource usage of voice communication applications in mobile telecommunications networks is to exploit natural pauses in speech. For example, in most conversations, only one party is active at a time, so speech pauses occurring in one communication direction will typically take up more than half of the signal. One way to exploit this property to reduce the required resource usage is to employ a discontinuous transmission (DTX) system, in which the active signal encoding is interrupted during speech pauses.

[0007] Typically, the encoding process is performed on segments of the audio signal (eg, referred to as frames), where input audio samples during time intervals (typically 10 to 20 milliseconds (ms)) are buffered and used by the encoder to extract parameters to be sent to the decoder.

[0008] During speech pauses, a "Silence Insertion Descriptor" (SID) frame encoding the background noise is sent, typically at a very low bit rate, to allow a comfort noise generator (CNG) system at the receiving end to fill the pause with background noise that has similar characteristics to the original noise. Notably, CNG makes the pause sound more natural (e.g., compared to a speech pause with complete silence) because the background noise is preserved rather than being turned on and off with the speech sound. Complete silence during speech pauses is often perceived as an annoyance and often leads to the misconception that the call has been disconnected.

[0009] DTX systems may rely on a voice activity detector (VAD) which indicates to the transmitting device whether to use i) active signal encoding or ii) low rate background noise encoding. In this regard, the transmitting device may be configured to distinguish between other source types by using a (generic) sound activity detector (GSAD or SAD) which not only distinguishes speech noise from background noise, but may also be configured to detect music or other signal types that may be considered relevant. Figure 1 A block diagram of a DTX system 100 is shown.

[0010] exist Figure 1 , input audio is received by VAD 102, speech / audio encoder 104, and CNG encoder 106. VAD 102 indicates whether to send a "high" bit rate from speech / audio encoder 104 or a "low" bit rate from CNG encoder 106.

[0011] Communication services can be further enhanced by supporting stereo or multi-channel audio transmission. In these cases, the DTX / CNG system may also take into account the spatial characteristics of the signal in order to provide comfort noise that sounds pleasing to the ear.

[0012] A common mechanism for generating comfort noise is to send information about the energy and spectral shape of the background noise in speech pauses. This can be achieved using a much smaller number of bits than conventional encoding of speech segments. Typically, this information is sent less frequently than Figure 2 The active segment shown in Figure 2 In , the activity segments are shown as activity coding (eg, see activity coding signal 202 ), and the information about the energy and spectral shape of the background noise in the speech pauses is shown as CN coding signaling 204 .

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

[0014] On the receiving side, comfort noise is generated by creating a pseudo-random signal and then shaping the spectrum of this signal using a filter based on information received from the transmitting device.Signal generation and spectrum shaping can be performed in the time domain or the frequency domain.

[0015] For stereo operation, additional parameters are sent to the receiving side. In a typical stereo signal, channel pairs show 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 encoded with high quality and supplemented with a parametric description that enables reconstruction of the complete stereo image. The process of reducing a channel pair to a single channel is called downmixing. Similarly, the resulting channels may be referred to as downmix channels or downmix channels. The downmix process typically attempts to maintain energy by aligning the inter-channel time difference (ITD) and inter-channel phase difference (IPD) before mixing the channels. In order to maintain the energy balance of the input signal, the inter-channel level difference (ILD) is also measured. The ITD, IPD and ILD are then encoded and used in the reverse upmixing process when the stereo channel pairs are reconstructed at the decoder. As described below, Figure 4 and Figure 5 A block diagram of a parametric stereo encoder 400 and a decoder 500 is depicted.

[0016] exist Figure 4 In the embodiment of the present invention, a time domain stereo input is received by a stereo processing and downmixing module 402. The stereo processing and downmixing module 402 processes the time domain stereo input signal and generates a mono downmix signal and stereo parameters (e.g., ITD, IPD and / or ILD). The mono downmix signal is received by a mono speech / audio encoder 404, which processes the mono downmix signal and generates an encoded mono signal. The encoded mono signal and stereo parameters are sent to a decoder such as a parametric stereo decoder 500 (e.g., Figure 5 shown).

[0017] exist Figure 5In the embodiment of the present invention, the encoded mono signal is received by a mono voice / audio decoder 502, which decodes the encoded mono signal and generates a mono downmix signal. The mono downmix signal and stereo parameters are received by a stereo processing and upmix decoder 504, which processes the mono downmix signal and stereo parameters and generates a time-domain stereo output. The time-domain stereo output can be stored or sent to an audio player for playback.

[0018] Figure 6 is a graphic representation of a real example of ITD occurring. Figure 6 As shown, if a stereo signal is captured by two microphones 602 to 604, the distance (L1) from the source (e.g., speaker source 601) to the left microphone 602 may be different from the distance (L2) to the right microphone 604. The distance difference will result in a time delay, or ITD, between the channels. If there are several audio sources, these sources may have different ITDs. Background noise (e.g., source 600) will typically be the sum of many sources and may not have one distinct ITD.

[0019] Conventional parametric methods for estimating ITD rely on the cross-correlation function (CCF) xy , CCF is a measure of the similarity between two waveforms x[n] and y[n], and is usually defined in the time domain as follows:

[0020] y xy [τ]=E{x[n]y[n+τ]},

[0021] where τ is the time lag parameter and E{·} is the expectation operator. For a signal frame of length N, the cross-correlation is usually estimated as:

[0022]

[0023] The inter-channel cross-correlation coefficient (ICC) is usually obtained as the maximum value of the CCF, normalized by the signal energy, as follows:

[0024]

[0025] The time lag τ corresponding to the ICC is determined as the ITD between channels x and y. By assuming that x[n] and y[n] are zero outside the signal frame, the cross-correlation function can be equivalently expressed as the cross-spectral function of spectra X[k] and Y[k] (with discrete frequency index k) as follows:

[0026] X corr [k]=X[k]Y * [k]

[0027] r xy [τ] = DFT -1 (X corr [k])

[0028] Where X[k] is the discrete Fourier transform (DFT) of the time domain signal x[n], that is

[0029]

[0030] And DFT -1 (·) or IDFT(·) represents inverse discrete Fourier transform.

[0031] For the case when y[n] is a purely delayed version of x[n], the cross-correlation function is given by:

[0032]

[0033] where * denotes convolution, and δ(τ-τ0) is the Kronecker delta function, i.e. it is equal to 1 at τ0 and 0 otherwise. This means that the cross-correlation function between x and y is a delta function that is expanded by convolution with the autocorrelation function of x[n]. This will make the delta peak wider. For a signal frame with several delayed components (e.g., several speakers / talkers), there will be a peak at each delay between the signals, and the cross-correlation becomes:

[0034]

[0035] The delta functions can then expand into each other and make it difficult to identify the several delays within the signal frame. However, there is a generalized cross-correlation (GCC) function without such expansion. GCC is usually defined as:

[0036]

[0037] where ψ[k] is the frequency weighting. Especially for spatial audio, phase transform (PHAT) has been exploited due to its robustness against reverberation in low noise environments. The phase transform is basically the absolute value of each frequency coefficient, i.e.

[0038]

[0039] Thus, this frequency weighting will whiten the cross-spectrum, making the power of each component equal. Due to the pure delay and uncorrelated noise in the signals x[n] and y[n], the phase-transformed GCC (GCC-PHAT) becomes the Kronecker increment function δ(τ-τ0), that is,

[0040]

[0041] 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 on a per-frame basis at the encoding side and sent to the decoder. If there is no significant gain in the encoding process using a parameter, this parameter is usually not sent either. In the case of ITD, this would be the case when the left and right signals are more or less uncorrelated. Summary of the invention

[0042] There are some challenges. When DTX is enabled, the CNG generated during speech pauses is encoded at a very low bit rate. There is no other part of the CNG encoding that can offset the effect of incorrect ITD. In speech pauses, the ITD will most likely be different compared to speech segments. For example, Figure 7 703). 704 is a signaling diagram showing an ITD delay according to some embodiments. In this case, when the low-pass filtering of the cross spectrum provided by the previous solution will result in a delay in the change from "speech ITD" (i.e., signal portion 702) to "background noise ITD" (i.e., signal portion 703). If the delay 704 in the active coded signal 701 is long enough, such as 1 second or longer, the listener will initially hear the background noise (e.g., the ITD signal portion 702 generated together with the speech ITD), and then hear the ITD suddenly change to the correct ITD (e.g., signal portion 703). This will be easily perceived as a significant change in the spatial characteristics of the background noise, and may annoy the listener.

[0043] If the smoothing of the cross-spectrum is based on spectral flatness, the problem will be more severe for background noise with large spectral tilt. Spectral flatness measures are often used to indicate tonal or periodic signal structures. However, some noise signals will also produce low spectral flatness measures due to large spectral tilt. This is often the case with car noise, which typically has a strong low-frequency component. If the smoothing of the cross-spectrum is based on spectral flatness, the smoothing will be stronger for such background noise. This can lead to delay shifts in the ITD, as described above.

[0044] Certain aspects of the present disclosure and embodiments thereof may provide solutions to these or other challenges. Various embodiments described herein relate to accelerating the low-pass filtering of the cross-correlation to allow for faster adjustment 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.

[0045] In some embodiments, the disclosed subject matter includes a method for estimating inter-channel time difference (ITD) in an encoder using discontinuous transmission (DTX). An example method includes receiving (1601) a time domain audio input including an audio input signal, and processing (1603) the audio input signal frame by frame to generate a mono downmix signal and one or more stereo parameters. The method further comprises encoding the mono downmix signal frame by frame by encoding (1605) active content of the mono downmix signal at a first bit rate until a pause period is detected in the audio input signal or the mono downmix signal; estimating ITD parameters during encoding of the active content based on low-pass filtering of a cross-spectrum of the audio input signal or an average of the cross-spectrum; switching (1607) encoding from the active encoded content to inactive encoding during the pause period so as to encode background noise at a second bit rate; and estimating (1609) ITD parameters during the pause period (or inactive encoding) based on low-pass filtering of a cross-spectrum of the audio input signal or an average of the cross-spectrum, wherein the estimation is configured to adapt the audio input signal faster than estimating the ITD parameters during encoding of the active content (e.g., speeding up the ITD estimation). The method further comprises encoding (1611) the ITD estimation parameters and other stereo parameters periodically during the pause period.

[0046] According to at least one embodiment of the disclosed subject matter, the method further comprises accelerating the smoothing of the cross-spectrum by increasing the low-pass filter coefficient during the DTX tail period and / or during the beginning of the pause period compared to before the beginning of the DTX tail period and / or the pause period.

[0047] According to at least one embodiment of the disclosed subject matter, the method further comprises: in a first coded frame after the activity coding, using a second low pass filter X spec_smooth The state of the first cross-spectral low-pass filter X is replaced by corr_smooth state, the second low-pass filter X spec_smooth The crossover spectrum is filtered but updated only during the tail and pause periods.

[0048] In accordance with at least one embodiment of the disclosed subject matter, the method further comprises starting to filter the second low-pass filter X during the DTX tail period. spec_smooth Updates.

[0049] According to at least one embodiment of the disclosed subject matter, the method further comprises: in response to slow filtering due to a low spectral flatness measure sfm, accelerating the second low-pass filter X spec_smooth Status update.

[0050] According to at least one embodiment of the disclosed subject matter, the method further comprises: wherein Xspec_smooth Determine according to the following formula:

[0051]

[0052] And X corr_smooth Determine according to the following formula:

[0053]

[0054] in, and is the low-pass coefficient.

[0055] According to at least one embodiment of the disclosed subject matter, the method further comprises: wherein and Determine according to the following formula:

[0056]

[0057] and

[0058]

[0059] Among them, A hangover and A cng is the upper threshold, and B hangover and B cng is the rate parameter.

[0060] According to at least one embodiment of the disclosed subject matter, the method further comprises: wherein and Determine according to the following formula:

[0061]

[0062] and

[0063]

[0064] Among them, A hangover and A cng is the upper threshold, B hangover and B cng is the rate parameter, N hangover corresponds to the number of trailing frames, and B0 is a variable.

[0065] In accordance with at least one embodiment of the disclosed subject matter, the method further comprises adjusting low pass filter coefficients during the DTX hangover period and / or during the beginning of the pause period.

[0066] According to at least one embodiment of the disclosed subject matter, the method further comprises: wherein adjusting the low pass filter coefficient comprises adjusting the low pass filter coefficient according to the following formula:

[0067]

[0068] X corr_smooth [k,m]=(1-sfm)·X corr_smooth [k,m-1]+sfm·X corr [k],cng counter ≥CNG_ITD_CNT

[0069]

[0070] cng counter =cng counter +1, if it is a CNG frame

[0071] cng counter =0, if it is a speech frame

[0072] Where α1 is the low-pass filter coefficient, k = frequency interval, m = frame number, X corr [k] is the cross spectrum, X corr_smooth [k,m] is the low pass filtering of the cross spectrum, CNG frames are inactive coding frames, and speech frames are active coding frames, and sfm is the spectrum flatness measure, and A is the upper threshold.

[0073] In accordance with at least one embodiment of the disclosed subject matter, the method further comprises accelerating smoothing of the cross-spectrum by low-pass filtering during the beginning of the pause period, including triggering accelerated filtering of the cross-spectrum after activity encoding of a plurality of consecutive activity frames has been reached.

[0074] According to at least one embodiment of the disclosed subject matter, the method further comprises performing a dedicated cross-correlation estimation and using the dedicated cross-correlation estimation for ITD estimation in pause periods, the dedicated cross-correlation estimation being updated only during pause periods and / or during DTX tail frames of the cross spectrum.

[0075] In accordance with at least one embodiment of the disclosed subject matter, the method further comprises resetting the cross-spectral low-pass filter state one of: before any update in the DTX hangover period, and before any update in the pause period.

[0076] In accordance with at least one embodiment of the disclosed subject matter, the method further comprises replacing the low pass filter state at the beginning of the hangover period or at the beginning of the pause period.

[0077] In accordance with at least one embodiment of the disclosed subject matter, the method further comprises: wherein replacing the low pass filtering during the start of the pause period comprises filtering the cross spectrum X over a plurality of CNG_ITD_CNT frames. corr[k] is averaged and the cross spectrum X on the multiple CNG_ITD_CNT frames is used corr The filter state X is replaced by the average value of [k] corr_smooth .

[0078] In accordance with at least one embodiment of the disclosed subject matter, the method further includes sending the encoded active content, the encoded background noise, and the encoded ITD parameters and other stereo parameters to a decoder.

[0079] Certain embodiments may provide one or more of the following technical advantages. Various embodiments allow comfort noise to sound more natural and avoid annoying effects associated with abrupt changes in spatial characteristics during CNG after changing from activity encoding. Specifically, DTX is avoided whereby DTX starts with a comfort noise segment that is colorized by the activity content and then suddenly changes to comfort noise that is closer to the original input noise after a certain period of time.

[0080] Adapting the comfort noise to the background noise faster may also improve the ITD estimate at the beginning of speech, since the influence in the ITD estimate from the previous speech segment is reduced. BRIEF DESCRIPTION OF THE DRAWINGS

[0081] The accompanying drawings illustrate certain non-limiting embodiments of the inventive concept, and are included to provide a further understanding of the present disclosure, and are incorporated in and constitute a part of this application. In the drawings:

[0082] Figure 1 is a block diagram of a discontinuous transmission (DTX) system;

[0083] Figure 2 is a flow chart showing comfort noise generator (CNG) parameter encoding and transmission;

[0084] Figure 3 is a flow chart showing a voice activity detector (VAD) (or DTX) hangover period;

[0085] Figure 4 is a block diagram of a parametric stereo encoder according to some embodiments;

[0086] Figure 5 is a block diagram of a parametric stereo decoder according to some embodiments;

[0087] Figure 6 is a graphical representation of inter-channel time difference (ITD) according to some embodiments;

[0088] Figure 7 is a flow chart illustrating ITD delay according to some embodiments;

[0089] Figure 8is a flow chart illustrating a filter acceleration period according to some embodiments;

[0090] Fig. 9 is a flow chart illustrating VAD voice / CNG switching according to some embodiments;

[0091] Fig.10 is a flow chart illustrating no filter acceleration after a short active period of filter acceleration according to some embodiments;

[0092] Fig.11 is a flow chart illustrating alternative cross-spectral filter states according to some embodiments;

[0093] Fig.12 is a flow chart illustrating potential filter state resets for a second cross-spectral filter state, accelerating filter state updates based on a gradually decreasing lower threshold for filter state updates, copying the filter state to a first cross-spectral filter state, and continuing to gradually decrease the lower threshold for filter state updates in accordance with some embodiments;

[0094] Fig.13 is a block diagram of an encoder according to some embodiments;

[0095] Fig.14 is a block diagram of a decoder according to some embodiments;

[0096] Fig.15 is a block diagram of a virtualization environment according to some embodiments; and

[0097] Figures 16 to 23 is a flow chart illustrating the operation of an encoder according to some embodiments. DETAILED DESCRIPTION

[0098] Some embodiments contemplated herein will now be described more fully with reference to the accompanying drawings. Embodiments are provided by way of example to convey the scope of the subject matter to those skilled in the art, wherein examples of embodiments of the inventive concept are shown. However, the inventive concept may be embodied in a variety of different forms and should not be construed as being limited to the embodiments set forth herein. On the contrary, these embodiments are provided so that the disclosure will be comprehensive and complete, and the scope of the inventive concept will be fully conveyed to those skilled in the art. It should also be noted that these embodiments are not mutually exclusive. A component from one embodiment may be assumed by default to be present in / used in another embodiment.

[0099] Embodiments of the disclosed subject matter relate to methods and techniques for implementing adaptive ITD estimation. Notably, accelerating the low-pass filtering of the cross-correlation estimate at the beginning of each CNG segment allows for faster adjustment of the ITD estimate. Notably, utilizing low-pass filtering in this manner can be implemented in several ways, such as by modifying the low-pass filter coefficients. In some embodiments, the ITD estimation process and / or technique disclosed herein can be performed via an encoder element and / or its ITD estimation engine (IEE) as described below.

[0100] For ITD, an ITD estimate without small frame-to-frame random variations is desired. One way to stabilize the estimate is to apply a low-pass filter to the cross-spectrum using a simple first-order filter such as:

[0101] X corr_smooth [k,m]=(1-α)*X corr_smooth [k,m-1]+α*X corr [k]

[0102] Where k = frequency bin, and m = frame number.

[0103] The filter coefficients α can be fixed, but can also be adaptive. One example is to use a spectral flatness measure (sfm) computed on the left or right input signal as filter coefficients.

[0104]

[0105] X corr_smooth [k,m]=(1-sfm)*X corr_smooth [k,m-1]+sfm*X corr [k]

[0106] This metric will have a range of 0.0 to 1.0, where higher values ​​will indicate a flatter spectrum. Using this coefficient can improve the robustness and accuracy of the ITD estimate.

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

[0108] Various embodiments make the ITD calculation adaptive and controlled by the DTX system. The switch from active content to CNG occurs when the encoding changes from active content to background content, which may have significantly different spatial properties (e.g., inter-channel time differences or coherence). For such changes in the signal characteristics of the encoded spatial audio, it may be beneficial to adapt faster to the changes in content.

[0109] The reason for the time difference between the signals in the left and right channels is due to the positioning of the sound source relative to the capture microphone. In a conversational speech scenario with one or several speakers and ambient noise in the background, this means that when the speaker stops talking (i.e., when the DTX system switches the encoding process to CNG), there may be a sudden change in ITD.

[0110] In many cases, the background noise will provide fairly uncorrelated signals in the left and right channels. This means that: ITD is not detected and the encoder may not send ITD parameters, i.e., it is basically assumed that ITD is zero. In cases where the background noise is mainly dominated by a single source (e.g., a fan or some kind of machine), the ITD present in the background noise may be different from the ITD of the speech. It can be assumed that in reasonable scenarios, the speech level will be significantly higher than the background noise level, and the ITD estimated during speech will be based on the speech signal.

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

[0112] Low pass filtering the cross spectrum is one way to smooth the ITD estimate to avoid frequent changes in the estimated ITD. If there are sudden changes in ITD, this smoothing will introduce a delay in the ITD estimate, so that there is a period of time before the ITD estimate has adapted 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.

[0113] In the case of using DTX, a decision needs to be made whether to use active coding or CNG coding for the current frame. It is possible that the ITD will be different between active coding, so the focus of the embodiments of the disclosed subject matter is to speed up the ITD estimation by adaptively filtering and updating the cross-spectral (or time-domain cross-correlation) estimate for the beginning of the CNG coding segment. This can be achieved by several techniques as described below.

[0114] Adjust the low pass filter coefficients

[0115] To speed up ITD estimation in the switch from active speech coding to CNG coding, the low pass filter coefficients are adjusted during the start of the CNG period. In the example below, the filter coefficients are changed during the first CNG_ITD_CNT frames. The processing depends on the current frame m and the previous frame m-1. To clarify this, the symbols are supplemented with the frame index.

[0116] X Corr_smooth [k, m] = (1-α1)·Xcorr_smooth [k,m-1]+α1·X corr [k],cng counter <CNG_ITD_CNT

[0117] X corr_smooth [k, m] = (1-sfm)·X corr_smooth [k,m-1]+sfm·X corr [k],cng counter ≥CNG_ITD_CNT

[0118]

[0119] Cng counter =cng counter +1, if it is a CNG frame

[0120] Cng counter =0, if it is a speech frame

[0121]

[0122] Typically in CNG encoding, the coded frames are not sent as frequently as in speech encoding. Figure 8 This is shown in Figure 8 An active coded signal 801 and a CNG coded signal 802 are depicted. Typically, a CNG coded frame is sent every 8th frame (e.g., SID frames 811 and 812 in CNG coded signal 802), and the 7 frames between CNG frames (e.g., Figure 8 The "acceleration interval" 803 in does not send anything.

[0123] If the running time interval of the ITD estimate is the same as the time interval of active coding, and CNG_IRD_CNT is set to "8", it means that during the time interval when the filter coefficients change and the estimate can be expected to be more unstable, only one ITD estimate will be sent to the decoder. For example, the upper threshold A can be set to "0.8" to ensure that the smoothing between frames is not too weak. However, when sfm exceeds A, α1 can also be set to allow higher filter coefficients, that is,

[0124]

[0125] Other alternatives for changing the filter coefficient may be to set the coefficient to a constant high value (e.g., 0.8) during the first CNG_ITD_CNT CNG frames, or to use another function that will increase the filter coefficient value during this limited period of time. The number of frames during which the modified filter coefficient is used (i.e., CNG_ITD_CNT) may also be made adaptive, for example, to allow longer periods if the sfm value is lower.

[0126] To avoid triggering acceleration for active encoding (see Fig.10 Cross-spectral filtering of short bursts of activity coded signals 1001 in the example may require activity segments of a certain length to trigger acceleration (e.g., see acceleration interval 1003). One example embodiment is to wait for cng counter until a certain number of consecutive active frames have been reached.

[0127] cng counter =0, if speech counter >SPEECH_ITD_COUNT

[0128] Here, SPEECH_ITD_COUNT may be, for example, "8". Fig.10 This process is also shown in Fig.10 In the case of a short speech burst when the second occurrence of 1005 active code 1001 before CNG code 1002 is too short to reset the CNG counter And the acceleration logic is activated at interval 1004, which is shown as a "no acceleration here" interval. The benefit of not applying acceleration in this case is to obtain a more stable and long-term ITD estimate.

[0129] Instead of specifying the time interval CNG_ITD_CNT for applying the adapted filter coefficients, there may be a default coefficient α default (e.g., based on sfm) and an adaptive lower threshold α threshold Preferably, the filter coefficients are adapted based on how many frames the cross-correlation estimate has been active and / or how many estimate updates can be expected before the estimate is to be used (eg, for estimating ITD) (as described in more detail below).

[0130] In this case, the filter coefficients can be determined as follows:

[0131] X corr_smooth [k,m]=(1-α lim )·X corr_smooth [k, m-1]+α lim ·X corr [k],

[0132] α lim =max(α default , α threshold )

[0133] The more frames involved in the cross-correlation estimation, the larger the adaptive lower threshold α allowed. thresholdHowever, as the smoothing coefficient is reduced, larger long-term estimates can be obtained. In order to ensure that the cross-correlation estimate is relevant in the transition between active and inactive coding (for example, the estimate should switch from tracking speech to tracking background spatial characteristics), additional techniques for updating the cross-spectrum can be used, as described in the following sections.

[0134] Split cross-spectral filtering between activity coding and CNG coding

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

[0136] Reset of cross-spectral filtering

[0137] In some embodiments, there may be benefits to resetting the filter state rather than reusing the state from the previous CNG period, particularly if some of the active signal spatial characteristics have already entered the filter state by the end of the CNG period (where the VAD may not have triggered active encoding). In other embodiments, it may be beneficial to reset the filter state not after just a few frames, but after a longer active encoding period (e.g., 20 frames) where the signal characteristics are more likely to have changed.

[0138] Therefore, in some embodiments, the performance of such a reset may be adjusted by specifying a certain number of active frames between CNG periods, otherwise the previous filter state is more likely to be an appropriate starting point. In any case, it is important that the update of the cross-correlation estimate (e.g., low-pass filtering of the cross-spectrum) is not too slow.

[0139] Replace the cross-spectrum low-pass filter state at the beginning of the CNG period

[0140] In some embodiments, the disclosed subject matter involves replacing the state of the cross-spectral low-pass filter at the beginning of a CNG period with a state that better reflects the background noise. Fig.11 As shown, one way to achieve this is to take the cross spectrum X of CNG_ITD_CNT frames. corr The average value of [k] is then used to replace the filter state X corr_smooth .For example, Fig.11An activity encoded signal 1101 and a CNG encoded signal 1102 are depicted. Fig.11 Also shown is an averaging period 1104 calculated by the encoder and used to determine an average filter state value 1103. Fig.11 As shown, the average filter state value 1103 is used to replace the "conventional filtering" portion of the cross-spectrum during one or more specific time periods (e.g., time period 1111) in the CNG encoded signal 1102. This means that, for example, for time period 1111, the average filter state value 1103 will be used for ITD estimation. The frame after replacing the filter is updated in a conventional manner. This technique can be mathematically represented as follows:

[0141] X corr_avg_sum [k, m] = X corr_avg_sum [k,m-1]+X corr [k],cng counter ≤CNG_ITD_CNTX corr_smooth [k, m]

[0142] =(1-sfm)*X corr_smooth [k,m-1]+sfm*X corr [k],cng counter

[0143] ≠CNG_ITD_CNT

[0144]

[0145] Cng counter =cng counter +1, if it is a CNG frame

[0146] cng counter =0, if it is a speech frame

[0147] In this case, the ITD estimate for the first CNG encoding in the inactive segment will not be affected. This means that it will likely reflect the ITD of the previous active encoding. An alternative to using the above average would be to replace the state of the cross-spectral low-pass filter with the state of the cross-spectral filter that is updated only during CNG.

[0148] In DTX Updates during tailing

[0149] In VAD for DTX systems, some measures are taken to avoid frequent switching between active speech and CNG, for example, adding a "tail" at the end of a speech segment where the active coding mode is selected even though the VAD has indicated no activity (i.e., background noise). However, perfect detection is not possible. During certain types of background noise, there will be brief spurious bursts of active coding, such as Fig. 9 The active coding segments 905 to 907 and the corresponding signaling segments 902 to 904 in the active coding signal line 901 in the diagram 900 are shown. In addition, a new speech segment may also start from a certain switch of the VAD decision.

[0150] To prepare the ITD estimate for the first SID frame (eg CN encoding), it is beneficial to initiate the update of the cross-correlation estimate during the tail period before entering the CNG period (or possibly another active period). This is especially beneficial if there has been a reset of the cross spectrum.

[0151] In some embodiments, ITD estimation involves: in the first CN coded (SID) frame after activity coding, using a second low pass filter X spec_smooth The state of the first cross-spectral low-pass filter X is replaced by corr_smooth The second low-pass filter also filters the cross spectrum, but is updated only during the tail period and the CNG period. It is worth noting that the first cross-spectrum low-pass filter is used for ITD estimation (eg, for regular active frames, tail active frames, and inactive frames).

[0152] The first adaptive low-pass filter coefficients (which is used to update the second cross-spectral low-pass filter during the tail period) can be determined based on how many frames the cross-correlation estimate has been active before the estimate is to be used and / or how many estimate updates can be expected. Similarly, the second adaptive low-pass filter coefficients (which is used to update the first cross-spectral low-pass filter during CN encoding (e.g., SID frames) can also be determined based on how many frames the cross-correlation estimate has been active before the estimate is to be used and / or how many estimate updates can be expected. The update performed in the first SID frame extending from the tail period to the CN encoding period can use or to complete.

[0153] In some embodiments, if nine (9) trailing frames are expected to be added before entering the CN encoding stage, then in the first trailing region, the accumulated expected number of frames N exp (until the estimate is to be used) can be set to "9" for example. If the second cross-spectral low-pass filter is reset according to the following equation, then N exp Will be reset to the expected number of trailing frames for the next update period Otherwise, if the second cross-spectral low-pass filter is not reset, N exp The expected number of frames after the corresponding active encoding segment will be increased

[0154] Similarly, the cumulative expected number of frames N exp The expected number of frames in the next update period can be increased For example, if a SID frame is sent every 8th frame, the expected number of frames is "8", but if there is a variable SID rate, then It can also change over time.

[0155] It should also be noted that and may not always correspond to the actual number of frames for an update period, but rather represents the expected length of these update periods. exp Typically results in faster updates of the cross-spectral low-pass filter, but a larger expected number of frames N exp This will result in a slower update of the cross-spectral low-pass filter, giving a more stable estimate of the cross-correlation and ITD.

[0156] In some embodiments, another frame counter N updates Indicates the number of frames that have previously been used to update the background cross-correlation estimate. This counter should be reset to "0" when resetting the second cross-spectral low-pass filter, which can be done during the tailing period. Resetting can only be done when a certain number of active frames (e.g., non-tailing frames) (e.g., 20 frames) have passed according to the section marked as "reset of cross-spectral filtering", i.e.

[0157] If N reset >NUM_RESET_FRAMES

[0158] Among them, N reset is a counter of active (non-trailing) frames, and the threshold NUM_RESET_FRAMES may be "20". In addition, when X spec_smooth When it has been reset and is in the CN encoding period, N reset is reset to "0". Since the VAD is run separately for each channel, it is possible that only one of the audio channels in a stereo pair has tailing (e.g., only the left channel of a stereo pair). To trigger an update or reset of the second cross-spectral low-pass filter, the tailing of both channels may be needed. This means that when there is tailing for one of the channels but not for the other channel, the counter N reset It is still possible to increase by 1. However, in other embodiments, whenever there is tailing in any channel, an update or reset of the second cross-spectral low-pass filter may be triggered.

[0159] During the CN coding period, a SID frame is sent and a new update period is entered, and the expected frame number increases by the expected frame number of the upcoming update period, i.e.

[0160]

[0161] Among them, N exp [prev] represents the expected number of frames accumulated before updating, and Indicates the expected number of frames in the upcoming update period. If the tail or CN coding period is interrupted by active coding, the accumulated expected number of frames N exp Can be reset to N updates .

[0162] In some embodiments, the low-pass filter coefficients Identified as:

[0163]

[0164] Similarly, the low-pass filter coefficients Can be determined as:

[0165]

[0166] Among them, the upper threshold A hangover and A cng For example, it can be "0.8", and the rate parameter B hangover and B cng For example, it may be set to “8”. Although the threshold and rate parameters are equal in the example, these values ​​may also be different from each other.

[0167] In other embodiments, the rate depends on the current number of trailing frames in the trailing period according to the following formula:

[0168]

[0169] Among them, N hangover corresponds to the number of tailing frames, and for example B0=1. In some embodiments, the number of tailing frames N hangover It can be determined based on the number of frames when the VAD of the two channels is in the tailing mode, or it can be determined as the average number of tailing frames in the tailing period of the channel. The default filter coefficient can be α default =sfm. This filter coefficient can generally be used to update the first cross-spectral low-pass filter during an active frame (ie, including the tail period):

[0170] X corr_smooth [k,m]=(1-sfm)·X corr_smooth [k,m-1]+sfm·X corr [k]

[0171] And for the first CN coded frame, the first cross-spectral low-pass filter state may be set to the state of the second cross-spectral low-pass filter:

[0172] X corr_smooth [k,m]=X spec_smooth [k,m-1].

[0173] In some embodiments, the CN encoded frame may then be represented as:

[0174]

[0175] It should be noted that when determining the When N exp The expected number of frames in the next update period may not be considered, but the update is performed only after the cross-correlation estimate is updated in the SID frame. In some embodiments, the first cross-spectral low-pass filter X corr_smooth [k,m] can be used to estimate ITD (eg, for regular active frames, trailing frames, and inactive frames).

[0176] During the tailing period, when using the default filter coefficient α default To update the first cross-spectrum low-pass filter, the second cross-spectrum low-pass filter is based on Adaptively update as follows:

[0177]

[0178] For CN coded frames, the second cross-spectral low-pass filter can use another filter coefficient To update, as follows:

[0179]

[0180] Among them, the filter coefficients For example, it can be signal-dependent or set to a fixed value of 1 / 32.

[0181] Fig.12 An example of a solution for ITD estimation utilizing two cross-spectral filter states, namely a first filter state 1204 and a second filter state 1205 is shown. Fig.12Also shown is 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 estimate was active before the estimate was to be used and / or how many estimate updates can be expected. Here, an important effect is that the second filter state 1205 can be reset 1206 and / or updated to capture the most recent signal characteristics for ITD estimation by being copied 1209 to the first filter state 1204 at the beginning of the CN coding period 1203, already during the tail period (if any), where the tail period is considered here as a period when the VAD 1201 does not indicate an active signal (being reduced) but there is still active coding 1202. In addition, as shown for both filtering using the second filter state 1205 and updating filtering using the first filter state 1204, an adaptive gradually decreasing lower threshold 1207 of the filter coefficient can be used based on how many frames the cross-correlation estimate was active before the estimate was to be used and / or how many estimate updates can be expected. This allows the estimate to be better adapted to the most recent signal characteristics while still obtaining a more stable ITD estimate at the point in time at which the ITD estimate is to be used. Since the first filter state is used to estimate the ITD during active coding, it cannot be replaced by the second filter state until active coding stops and there is inactive coding due to the CN coding mode. When the VAD 1201 indicates an active signal again and active coding 1202 is re-enabled, conventional filtering is applied.

[0182] Before describing the operation from the encoder's perspective, Fig.13 1 is a block diagram illustrating elements of an encoder 1300 configured to encode an audio frame according to various embodiments herein. It is noteworthy that the encoder 1300 is capable of performing at least Figure 4 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 a computer-readable program code that, when executed by the processing circuit 1301, causes the processing circuit to perform operations according to the embodiments disclosed herein (e.g., Figures 16 to 23 Processing 1600 to 2300 shown).

[0183] According to other embodiments, the processing circuit 1301 may be defined to include a memory, thereby eliminating the need for a separate memory circuit. As discussed herein, the operations of the encoder 1300 may be performed by the processing circuit 1301 and / or the network interface 1305. For example, the processing circuit 1301 may control the network interface 1305 to send communications to the decoder 500 and / or receive communications from one or more other network nodes / entities / servers (such as other encoder nodes, library servers, etc.) via the network interface 1305. In addition, modules may be stored in the memory 1303, and these modules may provide instructions so that when the instructions of the modules are executed by the processing circuit 1301, the processing circuit 1301 performs corresponding 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 used to perform the following Figures 16 to 23 In some embodiments, the ITD estimation engine 1320 may also be configured to perform the steps described in Figure 4 Modules 402 and 404 in the embodiment perform stereo processing and downmixing as well as mono / voice audio encoder functions.

[0184] Fig.14 1 is a block diagram illustrating elements of a decoder 1400 configured to decode audio frames according to 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. It is worth noting that the decoder 1400 is capable of performing at least Figure 5 The decoder 1400 may also include a processing circuit 1401 (also referred to as a processor or processor circuit) coupled to a 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 a computer-readable program code that, when executed by the processing circuit 1401, causes the processing circuit to perform operations according to the embodiments disclosed herein.

[0185] According to other embodiments, the processing circuit 1401 may be defined to include a memory, thereby eliminating the need for a separate memory circuit. As discussed 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. In addition, 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 the corresponding operations.

[0186] In some embodiments, virtualization of the encoder 1300 and the decoder 1400 may be achieved by distributing the encoder 1300 and / or the decoder 1400 across various components. Fig.15 1500 is a block diagram showing an example of a virtualized environment 1500 in which the functions implemented by some embodiments may be virtualized. In this context, virtualization means creating a virtual version of an apparatus or device that may include a virtualized hardware platform, storage device, and networking resources. As used herein, virtualization may be applied to any device or component thereof described herein, and relates to an implementation in which at least a portion of a function is implemented as one or more virtual components. Some or all of the functions described herein may be implemented as virtual components performed by one or more virtual machines (VMs), which are implemented in one or more virtual environments 1500 hosted by one or more of a hardware node (such as a hardware computing device operating as a network node, UE, core network node, or host). In addition, in embodiments where a virtual node does not require a radio connection (e.g., a core network node or host), the node may be fully virtualized.

[0187] 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.) runs in a virtualized environment 1500 to implement some features, functions and / or benefits of some embodiments disclosed herein.

[0188] Hardware 1504 includes processing circuitry, memory storing software and / or instructions that can be executed by the hardware processing circuitry, and / or other hardware devices described herein (such as network interfaces, input / output interfaces, etc.). Software can be 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 VMs 1508B (one or more of which may be generally referred to as VMs 1508), and / or perform any functions, features, and / or benefits described in connection with some embodiments described herein. Virtualization layer 1506 can present a virtual operating platform that looks like networked hardware to VMs 1508.

[0189] VM 1508 includes virtual processing, virtual memory, virtual networking or interfaces, and virtual storage, and can be run by a corresponding virtualization layer 1506. Different embodiments of instances of virtual devices 1502 can be implemented on one or more VMs 1508, and these implementations can be made in different ways. In some contexts, virtualization of hardware is referred to as network function virtualization (NFV). NFV can be used to unify numerous network device types onto industry standard high-capacity server hardware, physical switches, and physical storage that can be located in data centers and customer premises equipment (CPE).

[0190] In the context of NFV, VM 1508 can be a software implementation of a physical machine that runs programs just as if they were executed on a physical, non-virtualized machine. Each VM 1508 and the hardware portion of hardware 1504 that executes the VM (whether it is hardware dedicated to the VM and / or hardware shared by the VM with other VMs) form a separate virtual network element. Still in the context of NFV, a virtual network function is responsible for handling a specific network function that runs in one or more VMs 1508 on hardware 1504 and corresponds to an application 1502.

[0191] Hardware 1504 can be implemented in a standalone network node with general or specific components. Hardware 1504 can implement some functions via virtualization. Alternatively, hardware 1504 can be part of a larger hardware cluster (for example, in a data center or CPE), where many hardware nodes work together and are managed by management and coordination 1510, which especially supervises the life cycle management of application 1502. In some embodiments, hardware 1504 is coupled to one or more radio units, each of which includes one or more transmitters and one or more receivers that can be coupled to one or more antennas. The radio unit can communicate directly with other hardware nodes via one or more appropriate network interfaces, and can be used in conjunction with virtual components to provide radio capabilities to virtual nodes, such as radio access nodes or base stations. In some embodiments, some signaling can be provided by using a control system 1512, which can alternatively be used for communication between hardware nodes and radio units.

[0192] Reference will now be made to some embodiments according to the present inventive concept. Fig.16 The operation of encoder 1300 is discussed in detail with reference to the flowchart of Figure 4 and Fig.13 For example, the modules can be stored in Fig.13The modules are stored in the memory 1303, and these modules can provide instructions so that when the instructions of the modules are executed by the corresponding communication device processing circuit 1301, the encoder 1300 performs the corresponding operations of the flowchart.

[0193] Fig.16 1 shows the operations performed by the encoder 1300 in various embodiments. 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.

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

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

[0196] In block 1606 , the encoder 1300 is configured to estimate the ITD parameter during encoding of the active content based on low-pass filtering of a cross-spectrum of the audio input signal or an averaging of the cross-spectrum.

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

[0198] In block 1609, the encoder 1300 adapts the ITD estimate to the audio input signal faster than estimating the ITD parameters during active content encoding. In some embodiments, adapting the ITD estimate faster includes accelerating smoothing of the cross-spectrum by increasing low-pass filter coefficients during the DTX hangover period and / or during the beginning of the pause period compared to before the beginning of the DTX hangover period and / or the pause period.

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

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

[0201] Fig.17 Alternative and / or additional embodiments for estimating ITD parameters are shown. Fig.17 In some of the illustrated embodiments, when the ITD estimate is adapted to the audio input signal faster than estimating the ITD parameters during encoding of the active content, in block 1701 the encoder 1300 applies a second low pass filter X to the first encoded frame after the active content encoding. spec_smooth The state of the first cross-spectral low-pass filter X is replaced by corr_smooth state, the second low-pass filter X spec_smooth The cross-spectrum is filtered but updated only during the tail and pause periods.In other embodiments, block 1701 includes accelerating the smoothing of the cross-spectrum of the audio input signal.

[0202] In block 1703, the encoder 1300 begins to filter the second low-pass filter X during the DTX hangover period. spec_smooth In some of these embodiments, in block 1705, in response to slow filtering due to a low spectral flatness metric (sfm), the encoder 1300 accelerates the second low-pass filter X spec_smooth In some embodiments, the encoder 1300 is configured to determine X as follows: spec_smooth :

[0203]

[0204] And X corr_smooth is determined as follows:

[0205]

[0206] in, and is the low-pass coefficient.

[0207] In some embodiments, encoder 1300 determines according to the following formula and

[0208]

[0209] and

[0210]

[0211] Among them, A hangover and A cng is the upper threshold, and B hangoverand B cng is the rate parameter.

[0212] In other embodiments, the encoder 1300 determines according to the following formula and

[0213]

[0214] and

[0215]

[0216] Among them, A hangover and A cng is the upper threshold, B hangover and B cng is the rate parameter, N hangover corresponds to the number of trailing frames, and B0 is a variable.

[0217] Fig.18 An embodiment using low-pass filtering to speed up the smoothing of the crossover spectrum is shown. Fig.18 , in block 1801, the encoder 1300 may be configured to adjust low pass filter coefficients during a DTX hangover period and / or during the beginning of a pause period.

[0218] In some embodiments, encoder 1300 is configured to adjust the low pass filter coefficients according to the following equation:

[0219]

[0220]

[0221] cng counter =cng counter +1, if it is a CNG frame

[0222] cng counter =0, if it is a speech frame

[0223] Where α1 is the low-pass filter coefficient, k = frequency interval, m = frame number, X corr [k] is the cross spectrum, X corr_smooth [k,m] is the low pass filtering of the cross spectrum, CNG frames are inactive coding frames, and speech frames are active coding frames, and sfm is the spectrum flatness measure, and A is the upper threshold.

[0224] In such Fig.19In some other embodiments shown in box 1901, the encoder 1300 accelerates the smoothing of the cross-spectrum by low-pass filtering during the beginning of the pause period in the following way: triggering the accelerated filtering of the cross-spectrum after activity encoding of multiple consecutive activity frames has been achieved.

[0225] In other embodiments, acceleration may be assisted by dedicated cross-correlation estimation. Fig. 20 In box 2001, the encoder 1300 performs a dedicated cross-correlation estimation and uses the dedicated cross-correlation estimation for ITD estimation in the pause period. The dedicated cross-correlation estimation is updated only during the pause period and / or during the DTX tail frame of the cross spectrum.

[0226] In such Fig.21 In another embodiment shown in box 2101 of , the encoder 1300 accelerates smoothing of the cross spectrum by low pass filtering by resetting the cross spectrum low pass filter state as follows: before any update in the DTX tail period, and before any update in the pause period.

[0227] In such Fig. 22 In other embodiments shown in block 2201 of , the encoder 1300 accelerates smoothing of the crossover spectrum through low-pass filtering by replacing the low-pass filter state at the beginning of the hangover period or at the beginning of the pause period.

[0228] exist Fig.23 In another embodiment shown in block 2301 of FIG. 1 , the encoder 1300 replaces the low pass filtering at the beginning of the pause period by performing a cross spectrum X on the multiple CNG_ITD_CNT frames. corr [k] is averaged and the cross spectrum X on the multiple CNG_ITD_CNT frames is used corr The filter state X is replaced by the average value of [k] corr_smooth .

[0229] Although the computing devices described herein (e.g., encoders, decoders, UEs, network nodes) may include combinations of the hardware components shown, other embodiments may include computing devices with different combinations of components. It should be understood that these computing devices may include any suitable combination of hardware and / or software required to perform the tasks, features, functions, and methods disclosed herein. The determination, calculation, acquisition, or similar operations described herein may be performed by a processing circuit, which may process information by, for example, converting the obtained information to other information, comparing the obtained information or the converted information with the information stored in the network node, and / or performing one or more operations based on the obtained information or the converted information, and making a determination based on the result of the processing. In addition, although the components are depicted as being located within a larger box or nested within a plurality of boxes, in reality, the computing device may include a plurality of different physical components constituting a single illustrated component, and the functions may be divided between separate components. For example, a communication interface may be configured to include any component described herein, and / or the functions of the components may be divided between a processing circuit and a communication interface. In another example, the non-computationally intensive functions of any such component may be implemented in software or firmware, and the computationally intensive functions may be implemented in hardware.

[0230] In some embodiments, some or all of the functions described herein may be provided by a processing circuit that executes 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 functions may be provided by a processing circuit, for example, in a hardwired manner, without executing instructions stored on a separate or discrete device-readable storage medium. In any of these specific embodiments, the processing circuit may be configured to perform the described functions, regardless of whether instructions stored on a non-transitory computer-readable storage medium are executed. The benefits provided by such functionality are not limited to separate processing circuits or to other components of a computing device, but are enjoyed by the computing device as a whole and / or are generally enjoyed by end users and wireless networks.

[0231] Example

[0232] 1. A method for adjusting inter-channel time difference (ITD) in an encoder (400, 1608A, 1608B) using discontinuous transmission (DTX), the method comprising:

[0233] Receiving (1701) a time domain audio input comprising an audio input signal;

[0234] processing (1703) the audio input signal frame by frame to generate a mono downmix signal and one or more stereo parameters;

[0235] The mono downmix signal is encoded frame by frame in the following manner:

[0236] encoding (1705) the active content of the mono downmix signal at a first bit rate until a pause period is detected in the audio input signal or the mono downmix signal;

[0237] During the pause period, the encoding is switched (1707) from the active encoding content to the inactive

[0238] encoding so as to encode the background noise at a second bit rate;

[0239] estimating (1709) ITD parameters during the pause period based on low pass filtering of the cross spectra or averaging of the cross spectra, wherein estimating the ITD parameters comprises accelerating smoothing of the cross spectra by low pass filtering during the DTX tail period and / or during the beginning of the pause period; and

[0240] During the pause period, the estimated ITD parameters and other stereo parameters are periodically

[0241] row code (1711); and

[0242] The encoded active content, the encoded background noise, and the encoded ITD parameters and other stereo parameters are sent (1713) to the decoder (500, 1508A, 1508B).

[0243] 2. The method of embodiment 1, wherein estimating the ITD parameter comprises:

[0244] In the first coded frame after the activity coding, the second low-pass filter X spec_smooth The state of the first cross-spectral low-pass filter X is replaced (1801) corr_smooth state, the second low-pass filter X spec_smooth The cross-spectrum is filtered but updated only during the tail and pause periods.

[0245] 3. The method according to embodiment 2 further comprises:

[0246] During the DTX tail period, the second low pass filter X is started (1803). spec_smooth Updates.

[0247] 4. The method of embodiment 2 further comprises: in response to the filtering being slow due to the low spectral flatness measure sfm, accelerating (1805) the second low pass filter X spec_smooth Status update.

[0248] 4. The method according to any one of embodiments 2 to 3, wherein X spec_smooth Determine according to the following formula:

[0249]

[0250] And X corr_smooth Determine according to the following formula:

[0251]

[0252] in, and is the low-pass coefficient.

[0253] 5. The method according to embodiment 4, wherein: and Determine according to the following formula:

[0254]

[0255] and

[0256]

[0257] Among them, Ahangover and Acng are upper thresholds, and Bhangover and Bcng are rate parameters.

[0258] 6. The method of embodiment 4, wherein: and Determine according to the following formula:

[0259]

[0260] and

[0261]

[0262] Among them, A hangover and A cng is the upper threshold, B hangover and B cng is the rate parameter, N hangover corresponds to the number of trailing frames, and B0 is a variable.

[0263] 7. The method of any one of embodiments 1 to 6, wherein accelerating (1901) smoothing of the cross-spectrum by low-pass filtering comprises:

[0264] Low pass filter coefficients are adjusted (1901) during the DTX tail period and / or during the beginning of the pause period.

[0265] 8. The method of embodiment 7, wherein adjusting the low-pass filter coefficients comprises adjusting the low-pass filter coefficients according to the following formula:

[0266]

[0267] X corr_smooth [k,m]=(1-sfm)·X corr_smooth [k,m-1]+sfm·X corr [k],cng counter ≥CNG_ITD_CNT

[0268]

[0269] cng counter =cng counter +1, if it is a CNG frame

[0270] cng counter =0, if it is a speech frame

[0271] Where α1 is the low-pass filter coefficient, k = frequency interval, m = frame number, X corr [k] is the cross spectrum, X corr_smooth [k,m] is the low pass filtering of the cross spectrum, CNG frames are inactive coding frames, and speech frames are active coding frames, and sfm is the spectrum flatness measure, and A is the upper threshold.

[0272] 9. A method according to any one of embodiments 1 to 8, wherein accelerating the smoothing of the cross-spectrum by low-pass filtering during the beginning of the pause period includes: triggering (2001) accelerating the filtering of the cross-spectrum after activity encoding of multiple consecutive activity frames has been achieved.

[0273] 10. The method according to any one of embodiments 1 to 9, further comprising:

[0274] A dedicated cross-correlation estimation is performed (2101) and used for the ITD estimation in the pause period, the dedicated cross-correlation estimation being updated only during the pause period and / or during DTX tail frames of the cross spectrum.

[0275] 11. The method according to any one of embodiments 1 to 10, further comprising:

[0276] The cross-spectral low-pass filter state is reset (2201) one of: before any update in the DTX tail period, and before any update in the pause period.

[0277] 12. The method according to any one of embodiments 1 to 11, further comprising:

[0278] The low pass filter state is replaced (2301) at the beginning of the tail period or at the beginning of the pause period.

[0279] 13. The method of embodiment 12, wherein replacing the low pass filtering at the beginning of the pause period comprises: performing a cross-spectrum filtering operation on the cross-spectrum X over a plurality of CNG_ITD_CNT frames. corr [k] is averaged (2401), and the cross spectrum X on the multiple CNG_ITD_CNT frames is used corr The filter state X is replaced by the average value of [k] corr_smooth .

[0280] 14. A method for adjusting at least one stereo parameter in a decoder (500, 1608A, 1608B), the method comprising:

[0281] Receiving (2501) and decoding an encoded mono downmix signal and at least one stereo parameter;

[0282] determining (2503) the at least one stereo parameter based on an indicator indicating whether the foreground signal and the background signal are effectively separated; and

[0283] A stereo signal is synthesized (2505) frame by frame based on the determined at least one stereo parameter and the mono downmix signal.

[0284] 15. The method of embodiment 14, wherein the at least one stereo parameter comprises an inter-channel time difference (ITD), and estimating the ITD comprises:

[0285] In response to the indicator indicating that the foreground signal and the background signal are effectively separated, the ITD ITD for stereo upmixing is obtained (2601) directly from the target ITD syn , the target ITD is obtained from the encoder according to the following formula:

[0286] ITD syn =ITD target

[0287] 16. The method of embodiment 15, wherein estimating the ITD further comprises:

[0288] In response to the indicator indicating that the foreground signal and the background signal are not effectively separated, the ITDITD for stereo upmixing is calculated according to the following formula: syn From the previous ITD to ITD target Gradually fade:

[0289] ITD syn =ITD prev +ITDstep If itd_xfade_counter <L xfade

[0290] where itd_xfade_counter is a frame counter that increases by 1 for each frame during the pause period in the mono downmix signal, L xfade Corresponding to the total fade length, ITD prev Tracking to ITD target The latest ITD value gradually fades, and ITD step is set at the beginning of the pause period when the fade starts, and is updated whenever a new target ITD is received according to the following formula:

[0291]

[0292] 18. An encoder (400, 1608A, 1608B), adapted to perform operations, the operations comprising:

[0293] Receiving (1701) a time domain audio input comprising an audio input signal;

[0294] processing (1703) the audio input signal frame by frame to generate a mono downmix signal and one or more stereo parameters;

[0295] The mono downmix signal is encoded frame by frame in the following manner:

[0296] encoding (1705) the active content of the mono downmix signal at a first bit rate until a pause period is detected in the audio input signal or the mono downmix signal;

[0297] During the pause period, switching (1707) encoding from active encoding content to inactive encoding to encode background noise at a second bit rate;

[0298] estimating (1709) ITD parameters during the pause period based on low pass filtering of the cross spectra or averaging of the cross spectra, wherein estimating the ITD parameters comprises accelerating smoothing of the cross spectra by low pass filtering during the DTX tail period and / or during the beginning of the pause period; and

[0299] During the pause period, the estimated ITD parameters and other stereo parameters are periodically

[0300] row code (1711); and

[0301] The encoded active content, the encoded background noise, and the encoded ITD parameters and other stereo parameters are sent (1713) to the decoder (500, 1508A, 1508B).

[0302] 19. The encoder (400, 1608A, 1608B) of embodiment 18, wherein the encoder (400, 1608A, 1608B) performs the operations of any one of embodiments 2 to 13.

[0303] 20. An encoder (400, 1608A, 1608B), comprising:

[0304] processing circuit (1401); and

[0305] A memory (1403) coupled to the processing circuit, wherein the memory includes instructions that, when executed by the processing circuit, cause the encoder (400, 1608A, 1608B) to perform operations, including:

[0306] Receiving (1701) a time domain audio input comprising an audio input signal;

[0307] The audio input signal is frame processed (1703) to generate a mono downmix signal and one or

[0308] Multiple stereo parameters;

[0309] The mono downmix signal is encoded frame by frame in the following manner:

[0310] encoding (1705) the active content of the mono downmix signal at a first bit rate until a pause period is detected in the audio input signal or the mono downmix signal;

[0311] During the pause period, switching (1707) encoding from active encoding content to inactive encoding to encode background noise at a second bit rate;

[0312] Based on low-pass filtering of the cross-spectrum or averaging of the cross-spectrum, an ITD parameter is estimated (1709) during the pause period, wherein the estimated ITD parameter includes during the DTX tail period and

[0313] / or accelerating the smoothing of the crossover spectrum by low-pass filtering during the beginning of the pause period; and

[0314] During the pause period, the estimated ITD parameters and other stereo parameters are periodically encoded (1711); and

[0315] The encoded active content, the encoded background noise, and the encoded ITD parameters and other stereo parameters are sent (1713) to the decoder (500, 1508A, 1508B).

[0316] 21. The encoder (400, 1608A, 1608B) of embodiment 20, wherein the memory further comprises instructions which, when executed by the processing circuit, cause the encoder (400, 1608A, 1608B) to perform the operations of any one of embodiments 2 to 13.

[0317] 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 operations comprising:

[0318] Receiving (1701) a time domain audio input comprising an audio input signal;

[0319] processing (1703) the audio input signal frame by frame to generate a mono downmix signal and one or more stereo parameters;

[0320] The mono downmix signal is encoded frame by frame in the following manner:

[0321] encoding (1705) the active content of the mono downmix signal at a first bit rate until a pause period is detected in the audio input signal or the mono downmix signal;

[0322] During the pause period, the encoding is switched (1707) from the active encoding content to the inactive

[0323] encoding so as to encode the background noise at a second bit rate;

[0324] estimating (1709) ITD parameters during the pause period based on low pass filtering of the cross spectra or averaging of the cross spectra, wherein estimating the ITD parameters comprises accelerating smoothing of the cross spectra by low pass filtering during the DTX tail period and / or during the beginning of the pause period; and

[0325] During the pause period, the estimated ITD parameters and other stereo parameters are periodically

[0326] row code (1711); and

[0327] The encoded active content, the encoded background noise, and the encoded ITD parameters and other stereo parameters are sent (1713) to the decoder (500, 1508A, 1508B).

[0328] 23. The computer program according to embodiment 22, further comprising program code, whereby execution of the program code causes the encoder (400, 1608A, 1608B) to perform the operations according to any one of embodiments 2 to 13.

[0329] 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 comprising:

[0330] Receiving (1701) a time domain audio input comprising an audio input signal;

[0331] processing (1703) the audio input signal frame by frame to generate a mono downmix signal and one or more stereo parameters;

[0332] The mono downmix signal is encoded frame by frame in the following manner:

[0333] encoding (1705) the active content of the mono downmix signal at a first bit rate until a pause period is detected in the audio input signal or the mono downmix signal;

[0334] During the pause period, the encoding is switched (1707) from the active encoding content to the inactive

[0335] encoding so as to encode the background noise at a second bit rate;

[0336] estimating (1709) ITD parameters during the pause period based on low pass filtering of the cross spectra or averaging of the cross spectra, wherein estimating the ITD parameters comprises accelerating smoothing of the cross spectra by low pass filtering during the DTX tail period and / or during the beginning of the pause period; and

[0337] During the pause period, the estimated ITD parameters and other stereo parameters are periodically

[0338] row code (1711); and

[0339] The encoded active content, the encoded background noise, and the encoded ITD parameters and other stereo parameters are sent (1713) to the decoder (500, 1508A, 1508B).

[0340] 25. A computer program product according to embodiment 24, wherein the non-transitory computer-readable storage medium also has a program code to be executed by the processing circuit (1403) of the encoder (400, 1608A, 1608B), whereby the execution of the program code causes the encoder (400, 1608A, 1608B) to perform the operations described in any one of embodiments 2 to 13.

[0341] 26. A decoder (500, 1608A, 1608B) adapted to perform operations comprising:

[0342] Receiving (2501) and decoding an encoded mono downmix signal and at least one stereo parameter;

[0343] determining (2503) the at least one stereo parameter based on an indicator indicating whether the foreground signal and the background signal are effectively separated; and

[0344] A stereo signal is synthesized (2505) frame by frame based on the determined at least one stereo parameter and the mono downmix signal.

[0345] 27. The decoder (500, 1608A, 1608B) of embodiment 26, wherein the decoder (500, 1608A, 1608B) performs the operations of any one of embodiments 15-16.

[0346] 28. A decoder (500, 1608A, 1608B), comprising:

[0347] processing circuit (1501); and

[0348] A memory (1503) coupled to the processing circuit, wherein the memory includes instructions that, when executed by the processing circuit, cause the decoder (500, 1608A, 1608B) to perform operations, including:

[0349] Receiving (2501) and decoding an encoded mono downmix signal and at least one stereo parameter;

[0350] The at least one stereo parameter is determined (2503) based on an indicator, the indicator indicating the previous

[0351] Whether the background signal and the background signal are effectively separated; and

[0352] A stereo signal is synthesized (2505) frame by frame based on the determined at least one stereo parameter and the mono downmix signal.

[0353] 29. The decoder (500, 1608A, 1608B) of embodiment 28, wherein the memory further comprises instructions that, when executed by the processing circuit, cause the decoder (500, 1608A, 1608B) to perform the operations of any one of embodiments 15 to 16.

[0354] 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 operations comprising:

[0355] Receiving (2501) and decoding an encoded mono downmix signal and at least one stereo parameter;

[0356] determining (2503) the at least one stereo parameter based on an indicator indicating whether the foreground signal and the background signal are effectively separated; and

[0357] A stereo signal is synthesized (2505) frame by frame based on the determined at least one stereo parameter and the mono downmix signal.

[0358] 31. The computer program according to embodiment 30, further comprising program code, whereby execution of the program code causes the decoder (500, 1608A, 1608B) to perform the operations according to any one of embodiments 15-16.

[0359] 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 comprising:

[0360] Receiving (2501) and decoding an encoded mono downmix signal and at least one stereo parameter;

[0361] determining (2503) the at least one stereo parameter based on an indicator indicating whether the foreground signal and the background signal are effectively separated; and

[0362] A stereo signal is synthesized (2505) frame by frame based on the determined at least one stereo parameter and the mono downmix signal.

[0363] 33. A computer program product according to embodiment 32, wherein the non-transitory computer-readable storage medium also has a program code to be executed by the processing circuit (1503) of the decoder (500, 1608A, 1608B), whereby the execution of the program code causes the decoder (500, 1608A, 1608B) to perform the operation described in any one of embodiments 15 to 16.

Claims

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

2. The method according to claim 1, wherein: The estimating is configured to adapt the audio input signal faster than estimating the ITD parameters during encoding of active content comprises: The smoothing of the cross-spectrum is accelerated by increasing the low-pass filter coefficient during the DTX tail period and / or during the beginning of the pause period compared to before the beginning of the DTX tail period and / or the pause period.

3. The method according to claim 1, wherein: The estimating is configured to adapt the audio input signal faster than estimating the ITD parameters during encoding of active content comprises: In the first coded frame after the activity coding, the second low-pass filter X spec_smooth The state of the first cross-spectral low-pass filter X is replaced (1701) corr_smooth state, the second low-pass filter X spec_smooth The cross-spectrum is filtered but updated only during the tail and pause periods.

4. The method according to claim 3, further comprising: The second low pass filter X is started (1703) during the DTX tail period. spec_smooth Updates.

5. The method according to claims 2 to 4, further comprising: In response to the filtering being slow due to the low spectral flatness measure sfm, the second low pass filter X is accelerated (1705). spec_smooth Status update.

6. The method according to any one of claims 3 to 5, wherein: X spec_smooth Determine according to the following formula: And X corr_smooth Determine according to the following formula: in, and is the low-pass coefficient.

7. The method according to claim 6, wherein: and Determine according to the following formula: and Among them, A hangover and A cng is the upper threshold, and B hangover and B cng is the rate parameter.

8. The method according to claim 6, wherein: and Determine according to the following formula: and Among them, A hangover and A cng is the upper threshold, B hangover and B cng is the rate parameter, N hangover corresponds to the number of trailing frames, and B0 is a variable.

9. The method according to any one of claims 1 to 8, wherein: The estimating is configured to adapt the audio input signal faster than estimating the ITD parameters during encoding of active content comprises: Low pass filter coefficients are adjusted (1801) during the DTX tail period and / or during the beginning of the pause period.

10. The method according to claim 9, wherein: Adjusting the low-pass filter coefficients includes adjusting the low-pass filter coefficients according to the following formula: X corr_smooth [k,m]=(1-sfm)·X corr_smooth [k,m-1]+sfm·X corr [k],cng counter __ ≥CNG_ITD_CNT cng counter =cng counter +1, if it is a CNG frame cng counter =0, if it is a speech frame Where α1 is the low-pass filter coefficient, k = frequency interval, m = frame number, X corr [k] is the cross spectrum, X corr_smooth [k,m] is the low pass filtering of the cross spectrum, CNG frames are inactive coding frames, and speech frames are active coding frames, and sfm is the spectrum flatness measure, and A is the upper threshold.

11. The method according to any one of claims 1, 2 or 5, wherein: Estimating the ITD parameters further comprises accelerating smoothing of the cross-spectrum by the low-pass filtering during the beginning of the pause period, including triggering (1901) accelerating filtering of the cross-spectrum after activity encoding for a plurality of consecutive activity frames has been reached.

12. The method according to any one of claims 1 to 11, further comprising: A dedicated cross-correlation estimation is performed (2001) and used for the ITD estimation in the pause period, the dedicated cross-correlation estimation being updated only during the pause period and / or during DTX tail frames of the cross spectrum.

13. The method according to any one of claims 1 to 12, further comprising: The cross-spectral low-pass filter state is reset (2101) one of: before any update in the DTX tail period, and before any update in the pause period.

14. The method according to any one of claims 1 to 13, further comprising: The low pass filter state is replaced (2201) at the beginning of the tail period or at the beginning of the pause period.

15. The method according to claim 14, wherein: Replacing the low-pass filtering at the beginning of the pause period includes: performing cross-spectrum filtering on the cross-spectrum X over a plurality of CNG_ITD_CNT frames. corr [k] is averaged (2301), and the cross spectrum X on the multiple CNG_ITD_CNT frames is used corr [k] replaces the filter state X corr_smooth .

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

17. An encoder (1300, 1508A, 1508B) adapted to perform operations comprising: Receiving (1601) a time domain audio input comprising an audio input signal; processing (1603) the audio input signal frame by frame to generate a mono downmix signal and one or more stereo parameters; The mono downmix signal is encoded frame by frame in the following manner: encoding (1605) the active content of the mono downmix signal at a first bit rate until a pause period is detected in the audio input signal or the mono downmix signal; estimating (1606) ITD parameters during encoding of active content based on low pass filtering of a cross spectrum of the audio input signal or an averaging of the cross spectrum; During the pause period, switching (1607) encoding from active encoding content to inactive encoding to encode background noise at a second bit rate; estimating (1609) ITD parameters during the pause period based on low pass filtering of a cross-spectrum of the audio input signal or an averaging of the cross-spectrum, wherein the estimation is configured to adapt the audio input signal faster than estimating the ITD parameters during encoding of active content; as well as During the pause period, the estimated ITD parameters and other stereo parameters are periodically encoded (1611).

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

19. An encoder (1300, 1508A, 1508B), comprising: Processing circuit (1301); as well as A memory (1303) coupled to the processing circuit, wherein the memory includes instructions that, when executed by the processing circuit, cause the encoder (400, 1508A, 1508B) to perform operations, the operations comprising: Receiving (1601) a time domain audio input comprising an audio input signal; processing (1603) the audio input signal frame by frame to generate a mono downmix signal and one or more stereo parameters; The mono downmix signal is encoded frame by frame in the following manner: encoding (1605) the active content of the mono downmix signal at a first bit rate until a pause period is detected in the audio input signal or the mono downmix signal; estimating (1606) ITD parameters during encoding of active content based on low pass filtering of a cross spectrum of the audio input signal or an averaging of the cross spectrum; During the pause period, switching (1607) encoding from active encoding content to inactive encoding to encode background noise at a second bit rate; estimating (1609) ITD parameters during the pause period based on low pass filtering of a cross-spectrum of the audio input signal or an averaging of the cross-spectrums, wherein the estimation is configured to adapt the audio input signal faster than estimating the ITD parameters during encoding of active content; and During the pause period, the estimated ITD parameters and other stereo parameters are periodically encoded (1611).

20. The encoder (1300, 1508A, 1508B) of claim 19, wherein: The memory further comprises instructions which, when executed by the processing circuit, cause the encoder (1300, 1508A, 1508B) to perform operations according to 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 the program code causes the encoder (400, 1508A, 1508B) to perform operations comprising: Receiving (1601) a time domain audio input comprising an audio input signal; processing (1603) the audio input signal frame by frame to generate a mono downmix signal and one or more stereo parameters; The mono downmix signal is encoded frame by frame in the following manner: encoding (1605) the active content of the mono downmix signal at a first bit rate until a pause period is detected in the audio input signal or the mono downmix signal; estimating (1606) ITD parameters during encoding of active content based on low pass filtering of a cross spectrum of the audio input signal or an averaging of the cross spectrum; During the pause period, switching (1607) encoding from active encoding content to inactive encoding to encode background noise at a second bit rate; estimating (1609) ITD parameters during the pause period based on low pass filtering of a cross-spectrum of the audio input signal or an averaging of the cross-spectrum, wherein the estimation is configured to adapt the audio input signal faster than estimating the ITD parameters during encoding of active content; as well as During the pause period, the estimated ITD parameters and other stereo parameters are periodically encoded (1611).

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

23. 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 comprising: Receiving (1601) a time domain audio input comprising an audio input signal; processing (1603) the audio input signal frame by frame to generate a mono downmix signal and one or more stereo parameters; The mono downmix signal is encoded frame by frame in the following manner: encoding (1605) the active content of the mono downmix signal at a first bit rate until a pause period is detected in the audio input signal or the mono downmix signal; estimating (1606) ITD parameters during encoding of active content based on low pass filtering of a cross spectrum of the audio input signal or an averaging of the cross spectrum; During the pause period, switching (1607) encoding from active encoding content to inactive encoding to encode background noise at a second bit rate; estimating (1609) ITD parameters during the pause period based on low pass filtering of a cross-spectrum of the audio input signal or an averaging of the cross-spectrum, wherein the estimation is configured to adapt the audio input signal faster than estimating the ITD parameters during encoding of active content; as well as During the pause period, the estimated ITD parameters and other stereo parameters are periodically encoded (1611).

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 operations according to any one of claims 2 to 15.

Citation Information

Cited By

  • Voice interaction optimization method and device based on cross positioning

    CN120279900A