Parametric audio decoding

By using a windowing scheme and a stereo parameter adjuster to adjust the stereo parameter values ​​on the decoder side, the audio artifact problem caused by the mismatch between the encoder and decoder windowing schemes is solved, improving the quality of stereo audio decoding, especially the spectral leakage artifacts in the low frequency range.

CN116453528BActive Publication Date: 2026-03-03QUALCOMM INC
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2017-09-20
Publication Date
2026-03-03

AI Technical Summary

Technical Problem

Existing technologies for stereo audio decoding suffer from latency and audio artifacts due to the use of different windowing schemes by the encoder and decoder, especially spectral leakage artifacts caused by changes in stereo parameter values ​​in the low-frequency range.

Method used

A decoder-side windowing scheme is used to transform the coded intermediate signal, and the stereo parameter values ​​are adjusted through a stereo parameter adjuster to ensure the quality of the frequency domain output signal. This includes using estimation functions such as averaging functions, adjustment functions, or curve fitting functions to adjust the stereo parameter values.

Benefits of technology

It effectively reduces audio artifacts and improves the quality of stereo audio decoding, especially by improving the problem of spectral leakage artifacts in the low frequency range.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116453528B_ABST
    Figure CN116453528B_ABST
Patent Text Reader

Abstract

A stereo parameter adjuster performs adjustment operations on a first value and a second value of the stereo parameter to produce an adjusted value for the stereo parameter. The first value is associated with a first frequency range, and the second value is associated with a second frequency range. The adjusted value is associated with a specific frequency range, which is a subset of either the first or the second frequency range.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of Chinese patent application No. 201780062070.1.

[0002] This application claims priority to U.S. Provisional Patent Application No. 62 / 407,843, filed October 13, 2016, entitled “Parametric Audio Decoding,” and U.S. Non-Provisional Patent Application No. 15 / 708,717, filed September 19, 2017, entitled “Parametric Audio Decoding,” the contents of which are expressly incorporated herein by reference in their entirety. Technical Field

[0003] This invention generally relates to parametric audio decoding. Background Technology

[0004] Technological advancements have led to smaller yet more powerful computing devices. For example, a variety of portable personal computing devices exist today, including cordless phones such as mobile and smartphone phones, tablets, and laptops, which are small, lightweight, and easy for users to carry. These devices can transmit voice and data packets via wireless networks. Furthermore, many of these devices have additional functionalities, such as digital still cameras, digital camcorders, digital recorders, and audio file players. Moreover, these devices can process executable instructions, including software applications that can access the Internet, such as web browser applications. Therefore, these devices can contain significant computing power.

[0005] The computing device may include multiple microphones to receive audio signals. When recording stereo audio, the encoder of the computing device may generate stereo parameters based on the audio signals. The encoder may generate a bitstream that encodes the audio signals and the values ​​of the stereo parameters. The computing device may transmit the bitstream to other computing devices.

[0006] The second computing device can receive and decode a bitstream to generate an output signal based on the bitstream. The decoder can generate the output signal by adjusting the decoded audio based on the values ​​of stereo parameters. In some cases, using the values ​​of stereo parameters to adjust the decoded audio may not faithfully reproduce the audio signal. For example, the output signal may contain sound artifacts caused by applying the values ​​of stereo parameters to the decoded audio signal. Summary of the Invention

[0007] According to one embodiment of the technology disclosed herein, a device includes a receiver configured to receive a bitstream comprising an encoded intermediate signal and encoded stereo parameter information. The encoded stereo parameter information represents a first value and a second value of the stereo parameter. The first value is associated with a first frequency range and is determined using an encoder-side windowing scheme. The second value is associated with a second frequency range and is determined using the encoder-side windowing scheme. The device further includes an intermediate signal decoder configured to decode the encoded intermediate signal to generate a decoded intermediate signal. The device further includes a transformation unit configured to perform a transformation operation on the decoded intermediate signal using a decoder-side windowing scheme to generate a frequency-domain decoded intermediate signal.

[0008] The device further includes a stereo decoder configured to decode the encoded stereo parameter information to determine the first value and the second value. The device also includes a stereo parameter adjuster configured to perform an adjustment operation on the first value and the second value to produce an adjusted value for the stereo parameter. The adjusted value is associated with a specific frequency range, which is a subset of the first frequency range or a subset of the second frequency range. The device further includes an upconversion mixer configured to perform an upconversion mixing operation on the frequency-domain decoded intermediate signal to produce a first frequency-domain output signal and a second frequency-domain output signal. The adjusted value is applied to the frequency-domain decoded intermediate signal during the upconversion mixing operation. The device also includes an output device configured to output a first output signal and a second output signal. The first output signal is based on the first frequency-domain output signal, and the second output signal is based on the second frequency-domain output signal.

[0009] According to another embodiment of the technology disclosed herein, a method includes receiving a bitstream at a decoder comprising an encoded intermediate signal and encoded stereo parameter information. The encoded stereo parameter information represents a first value and a second value of the stereo parameters. The first value is associated with a first frequency range and is determined using an encoder-side windowing scheme. The second value is associated with a second frequency range and is determined using the encoder-side windowing scheme. The method further includes decoding the encoded intermediate signal to generate a decoded intermediate signal. The method further includes performing a transform operation on the decoded intermediate signal using a decoder-side windowing scheme to generate a frequency-domain decoded intermediate signal.

[0010] The method further includes decoding the encoded stereo parameter information to determine the first value and the second value. The method further includes performing an adjustment operation on the first value and the second value to generate an adjusted value for the stereo parameter. The adjusted value is associated with a specific frequency range, which is a subset of the first frequency range or a subset of the second frequency range. The method further includes performing an up-conversion mixing operation on the frequency-domain decoded intermediate signal to generate a first frequency-domain output signal and a second frequency-domain output signal. The adjusted value is applied to the frequency-domain decoded intermediate signal during the up-conversion mixing operation. The method further includes outputting a first output signal and a second output signal. The first output signal is based on the first frequency-domain output signal, and the second output signal is based on the second frequency-domain output signal.

[0011] According to another embodiment of the technology disclosed herein, a computer-readable storage device stores instructions that, when executed by a processor within a decoder, cause the processor to perform operations including receiving a bitstream comprising an encoded intermediate signal and encoded stereo parameter information. The encoded stereo parameter information represents a first value and a second value of the stereo parameter. The first value is associated with a first frequency range and is determined using an encoder-side windowing scheme. The second value is associated with a second frequency range and is determined using the encoder-side windowing scheme. The operation further includes decoding the encoded intermediate signal to generate a decoded intermediate signal.

[0012] The operation further includes performing a transformation operation on the decoded intermediate signal using a decoder side-windowing scheme to generate a frequency-domain decoded intermediate signal. The operation further includes decoding the encoded stereo parameter information to determine the first value and the second value. The operation further includes performing an adjustment operation on the first value and the second value to generate an adjusted value for the stereo parameter. The adjusted value is associated with a specific frequency range, which is a subset of either the first frequency range or the second frequency range.

[0013] The operation further includes performing an up-conversion mixing operation on the frequency-domain decoded intermediate signal to generate a first frequency-domain output signal and a second frequency-domain output signal. The adjusted value is applied to the frequency-domain decoded intermediate signal during the up-conversion mixing operation. The operation further includes outputting a first output signal and a second output signal. The first output signal is based on the first frequency-domain output signal, and the second output signal is based on the second frequency-domain output signal.

[0014] According to another embodiment of the technology disclosed herein, an apparatus includes means for receiving a bitstream comprising an encoded intermediate signal and encoded stereo parameter information. The encoded stereo parameter information represents a first value and a second value of the stereo parameter. The first value is associated with a first frequency range and is determined using an encoder-side windowing scheme. The second value is associated with a second frequency range and is determined using the encoder-side windowing scheme. The apparatus further includes means for decoding the encoded intermediate signal to generate a decoded intermediate signal.

[0015] The device further includes means for performing a transformation operation on the decoded intermediate signal using a decoder side-windowing scheme to generate a frequency-domain decoded intermediate signal. The device further includes means for decoding the encoded stereo parameter information to determine the first value and the second value. The device further includes means for performing an adjustment operation on the first value and the second value to generate adjusted values ​​of the stereo parameters. The adjusted values ​​are associated with a specific frequency range, which is a subset of the first frequency range or a subset of the second frequency range.

[0016] The device further includes means for performing an up-conversion mixing operation on the frequency-domain decoded intermediate signal to generate a first frequency-domain output signal and a second frequency-domain output signal. The adjusted value is applied to the frequency-domain decoded intermediate signal during the up-conversion mixing operation. The device further includes means for outputting the first output signal and the second output signal. The first output signal is based on the first frequency-domain output signal, and the second output signal is based on the second frequency-domain output signal. Attached Figure Description

[0017] Figure 1 A block diagram of a specific illustrative example of a system containing means operable to perform parametric audio decoding;

[0018] Figure 2 To explain by Figure 1 A diagram illustrating instances of parameter values ​​generated by the system;

[0019] Figure 3 To explain by Figure 1 A diagram illustrating another example of parameter values ​​generated by the system;

[0020] Figure 4 To explain by Figure 1 A diagram illustrating another example of parameter values ​​generated by the system;

[0021] Figure 5 To explain by Figure 1 A diagram illustrating another example of parameter values ​​generated by the system;

[0022] Figure 6 To explain Figure 1 A diagram of an instance of the system's decoder;

[0023] Figure 7 A flowchart illustrating a specific method for parametric audio decoding;

[0024] Figure 8 To be operable to perform about Figures 1 to 7 A block diagram of a specific illustrative example of the apparatus of the described technology; and

[0025] Figure 9 To be operable to perform about Figures 1 to 8 A block diagram of a specific illustrative example of a base station for the described technology. Detailed Implementation

[0026] This invention discloses systems and apparatus operable to perform parametric audio encoding and decoding. In some embodiments, encoder / decoder windowing can be mismatched for multi-channel signal decoding to reduce decoding latency, as further described herein.

[0027] An apparatus may include an encoder configured to encode multiple audio signals, a decoder configured to decode multiple audio signals, or both. Multiple audio signals can be retrieved simultaneously using multiple recording devices, such as multiple microphones. In some instances, multiple audio signals (or multichannel audio) can be synthesized (e.g., artificially) by multiplexing several audio channels recorded at the same time or at different times. As illustrative examples, simultaneous recording or multiplexing of audio channels can result in 2-channel configurations (i.e., stereo: left and right), 5.1-channel configurations (left, right, center, left surround, right surround, and low frequency emphasis (LFE) channels), 7.1-channel configurations, 7.1+4-channel configurations, 22.2-channel configurations, or N-channel configurations.

[0028] In some systems, encoders and decoders can operate as a pair. An encoder can perform one or more operations to encode an audio signal, and a decoder can perform one or more operations (in reverse order) to produce a decoded audio output. For illustration, each of the encoder and decoder can be configured to perform transform operations (e.g., Discrete Fourier Transform (DFT) operations) and inverse transform operations (e.g., Inverse Discrete Fourier Transform (IDFT) operations). For example, an encoder can transform an audio signal from the time domain to the transform domain to estimate the values ​​of one or more parameters (e.g., inter-channel stereo parameters) in the transform domain band, such as the DFT band. The encoder can also waveform-decode one or more audio signals based on the estimated parameters. As another example, a decoder can transform a received audio signal from the time domain to the transform domain before applying one or more received parameters to the received audio signal.

[0029] Before each transform operation and after each inverse transform operation, the signal (e.g., an audio signal) is "windowed" to produce windowed samples. The windowed samples are used to perform the transform operation, and the windowed samples are superimposed and added after the inverse transform operation. As used herein, applying a window to a signal or windowing a signal involves scaling a portion of the signal over a time range to produce samples of the signal. The scaling portion may involve multiplying a portion of the signal by a value corresponding to the shape of the window.

[0030] In some implementations, the encoder and decoder may implement different windowing schemes. For example, the encoder may apply a first window with a first set of features (e.g., a first set of parameters), and the decoder may apply a second window with a second set of features (e.g., a second set of parameters). One or more features in the first set of features may differ from the second set of features. For example, the first set of features may differ from the second set of features in terms of the size or shape of the window overlap portion. For illustrative purposes, when the first and second windows mismatch (e.g., the preview portion of the decoder's second window is shorter than the preview portion of the encoder's first window), the latency can be reduced compared to a system where the encoder and decoder process and overlap the summed windows closely matched and applied to samples corresponding to the same time range of the samples.

[0031] When the window used by the encoder and the window used by the decoder are mismatched, using the value of the stereo parameter provided by the encoder can cause lower audio quality at the decoder. For example, when the processing at the encoder and the overlapping window are different from the window used at the decoder (e.g., of different sizes), the change from a first value of the stereo parameter corresponding to a first frequency range to a second value of the stereo parameter corresponding to a second frequency range can cause audio artifacts.

[0032] An encoder can divide a frequency range into multiple frequency bins. A group of frequency bins can be considered a single frequency band (or range). For example, a first frequency range (e.g., a first frequency band) may contain a set of frequency bins. The encoder can determine the values ​​of the stereo parameters at a first resolution. For example, the encoder can determine the values ​​of the stereo parameters by frequency band (or range). The decoder can apply the values ​​of the stereo parameters at a second resolution that is coarser (or finer-grained) than the first resolution. For example, the decoder can apply a first value of the stereo parameters corresponding to the first frequency range (e.g., a first frequency band value) to each frequency bin in the set of frequency bins. In particular, shorter frequency bands (with fewer frequency bins) where the values ​​of the stereo parameters at lower frequencies (e.g., less than 1 kHz) vary significantly with different frequency bands can cause artifacts. For example, applying the values ​​of the stereo parameters during stereo upconversion mixing can introduce spectral leakage artifacts between frequency bins due to poor passband-stopband rejection ratios corresponding to shorter overlap windows.

[0033] The decoder can generate a second value for the stereo parameter by performing an adjustment operation on a first value (e.g., a band value) to reduce artifacts. As used herein, an "adjustment operation" may include limiting, smoothing, adjusting, interpolating, extrapolating, setting different values ​​of the stereo parameter to constant values ​​across bands, setting different values ​​of the stereo parameter to constant values ​​across frames, setting different values ​​of the stereo parameter to zero (or a relatively small value), or combinations thereof. The decoder can change the value of the stereo parameter applied to at least one interval from a band value to an interval value between the band value and adjacent band values. For illustration, the decoder may determine a first band value (e.g., -10 dB) for the stereo parameter corresponding to a first frequency range (e.g., 200 Hz to 400 Hz). The decoder may determine a second band value (e.g., 5 dB) for the stereo parameter corresponding to a second frequency range (e.g., 400 Hz to 600 Hz). The first frequency range may include a first frequency interval (e.g., 200Hz to 300Hz) and a second frequency interval (e.g., 300Hz to 400Hz). The decoder may change (or adjust) the value applied to the second frequency interval from the first frequency band value (e.g., -10dB) to the modified first interval value (e.g., -5dB) based on the first and second frequency band values ​​(e.g., 5dB). For example, the decoder may determine the first interval value by applying an estimation function to the first and second frequency band values. In another instance, the decoder may adjust the value of a stereo parameter corresponding to a selected frequency interval within the first, second, or both frequency bands based on the degree of parameter variation from the first to the second frequency range. For example, the decoder may adjust the value of a stereo parameter corresponding to a specific frequency interval of the first band, a specific frequency interval of the second band, or both, based on the difference between the first and second frequency band values. In another embodiment, the decoder may also adjust the value of the stereo parameter based on specific frequency interval values ​​in the first and second bands of the previous frame.

[0034] Similarly, the second frequency range (e.g., 400Hz to 600Hz) may include a first specific frequency range (e.g., 400Hz to 500Hz) and a second specific frequency range (e.g., 500Hz to 600Hz). The decoder may change the value applied to the first specific frequency range from the second frequency range value (e.g., 5dB) to the second range value (e.g., 0dB) based on the first frequency band value (e.g., -10dB) and the second frequency band value.

[0035] The decoder can generate a first output signal and a second output signal based at least in part on a second value of the stereo parameter. The difference between the second values ​​corresponding to a continuous frequency range can be low (compared to the first value) and therefore less perceptible. For example, the difference between a first interval value (e.g., -5dB) and a second interval value (e.g., 0dB) may be less perceptible at the boundary between the first and second frequency ranges (e.g., 400Hz) compared to the difference from a first frequency band value (e.g., -10dB) to a second frequency band value (e.g., 5dB). The decoder can provide the first output signal to a first speaker and the second output signal to a second speaker.

[0036] As mentioned in this document, “generate,” “calculate,” “use,” “select,” “access,” and “determine” can be used interchangeably. For example, “generate,” “calculate,” or “determine” a parameter (or signal) can refer to actively generating, calculating, or determining a parameter (or signal), or it can refer to, for example, the use, selection, or access of a parameter (or signal) that has already been generated by another component or device.

[0037] See Figure 1 This describes a specific illustrative instance of the system and designates it as 100. System 100 includes a first device 104, which is communicatively coupled to a second device 106 via a network 120. The network 120 may include one or more wireless networks, one or more wired networks, or a combination thereof.

[0038] The first device 104 includes an encoder 114, a transmitter 110, and one or more input interfaces 112 or a combination thereof. A first input interface of the input interfaces 112 is coupled to a first microphone 146. A second input interface of the input interfaces 112 is coupled to a second microphone 148. The encoder 114 is configured to perform frequency conversion mixing and encoding of multiple audio signals and stereo parameter values, as described herein.

[0039] During operation, the first device 104 may receive a first audio signal 130 from a first microphone 146 via a first input interface, and may receive a second audio signal 132 from a second microphone 148 via a second input interface. The first audio signal 130 may correspond to either a right channel signal or a left channel signal. The second audio signal 132 may correspond to the other of the right channel signal or the left channel signal.

[0040] Encoder 114 can apply a first window (based on first window parameters) to at least a portion of an audio signal to generate windowed samples. The windowed samples can be generated in the time domain. Encoder 114 (e.g., a frequency-domain stereo decoder) can transform one or more time-domain signals, such as windowed samples (e.g., first audio signal 130 and second audio signal 132), into frequency-domain signals. The frequency-domain signals can be used to estimate the values ​​of stereo parameters. For example, encoder 114 can estimate stereo parameter values ​​151, 155 and encode stereo parameter values ​​151, 155 as encoded stereo parameter information 158. The stereo parameters can realize the representation of spatial attributes associated with the left and right channels. Although the estimation of stereo parameter values ​​151, 155 corresponding to one stereo parameter is described, it should be understood that encoder 114 can determine stereo parameter values ​​corresponding to multiple stereo parameters. For example, encoder 114 can determine a first stereo parameter value corresponding to a first stereo parameter, a second stereo parameter value corresponding to a second stereo parameter, and so on. According to some implementation schemes, as illustrative and non-limiting examples, stereo parameters include inter-channel intensity difference (IID) parameters, inter-channel sound level difference (ILD) parameters, inter-channel time difference (ITD) parameters, inter-channel phase difference (IPD) parameters, inter-channel correlation (ICC) parameters, non-causal shift parameters, spectral slope parameters, inter-channel phonation parameters, inter-channel pitch parameters, inter-channel gain parameters, etc.

[0041] The stereo parameter values ​​151 and 155 include a first parameter value 151 corresponding to a first frequency range 152 (e.g., 200Hz to 400Hz) and a second parameter value 155 corresponding to a second frequency range 156 (e.g., 400Hz to 800Hz). In one aspect, the first frequency range 152 may correspond to a frequency band comprising multiple frequency intervals. Each frequency interval may correspond to a specific resolution or length of the frequency range (e.g., 50Hz or 40Hz). In one aspect, the frequency range may comprise frequency intervals of non-uniform size. For example, the first frequency interval of the frequency range may have a first length, which is different from the second length of the second frequency interval of the frequency range. The length of the frequency range (e.g., 400Hz to 600Hz) (e.g., 200Hz) may correspond to the difference between the highest and lowest frequency values ​​in the frequency range (e.g., 600Hz to 400Hz). The length of the frequency interval may be less than or equal to the size of the frequency range containing the frequency interval. The frequency interval and frequency range structure may be based on human auditory psychoacoustics, such that each frequency interval and frequency range corresponds to a varying frequency resolution. Generally, lower frequency bands result in higher resolution compared to higher frequency bands.

[0042] In one particular aspect, encoder 114 may determine parameter values ​​(e.g., IPD, ILD, or gain values) corresponding to each frequency interval of a first frequency range 152. For illustrative purposes, encoder 114 may determine a first parameter value 151 based on parameter values ​​from one or more frequency intervals of the first frequency range 152. For example, the first parameter value 151 may correspond to a weighted average of parameter values ​​from one or more frequency intervals. Encoder 114 may similarly determine a second parameter value 155 based on parameter values ​​from one or more frequency intervals of a second frequency range 156. The first frequency range 152 may have the same or different size as the second frequency range 156. For example, the first frequency range 152 may contain a first number of frequency intervals, and the second frequency range 156 may contain a second number of frequency intervals that are the same as or different from the first number.

[0043] Encoder 114 encodes the intermediate signal to produce the encoded intermediate signal 102. Encoder 114 also encodes the side signal to produce the encoded side signal 103. For illustrative purposes, unless otherwise stated, it is assumed that the first audio signal 130 is the left channel signal (l or L) and the second audio signal 132 is the right channel signal (r or R). The frequency domain representation of the first audio signal 130 can be labeled as L. fr (b) and the frequency domain representation of the second audio signal 132 can be labeled as R fr (b), where b represents the frequency band in the frequency domain. According to one embodiment, the side signal (e.g., the sideband signal S) fr (b) can be generated in the frequency domain from the frequency domain representation of the first audio signal 130 and the second audio signal 132. For example, side signal 103 (e.g., sideband signal S) fr (b) can be expressed as (L) fr (b)-R fr (b)) / 2. Side signals (e.g., sideband signals S) can be used. fr (b) The signal is provided to a sideband encoder to generate a sideband bitstream. According to one embodiment, an intermediate signal (e.g., an intermediate band signal m(t)) can be generated in the time domain and transformed into the frequency domain. For example, the intermediate signal (e.g., the intermediate band signal m(t)) can be expressed as (l(t) + r(t)) / 2. The time-domain / frequency-domain intermediate band signal (e.g., the intermediate signal) can be provided to the intermediate band encoder to generate an encoded intermediate signal 102.

[0044] A variety of techniques can be used to encode sideband signals S fr (b) and the intermediate frequency band signal m(t) or M fr(b) According to one embodiment, a time-domain technique, such as Algebraically Enhanced Linear Prediction (ACELP), can be used to encode the time-domain intermediate frequency band signal m(t), where bandwidth extension is used for higher frequency band decoding. Prior to sideband decoding, the intermediate frequency band signal m(t) (decoded or undecoded) can be converted to the frequency domain (e.g., the converted domain) to generate the intermediate frequency band signal M. fr (b) Bit stream 101 includes an encoded intermediate signal 102, an encoded side signal 103, and encoded stereo parameter information 158. Transmitter 110 transmits bit stream 101 to second device 106 via network 120.

[0045] The second device 106 includes a decoder 118 coupled to a receiver 111 and a memory 153. The decoder 118 includes an intermediate signal decoder 604, a conversion unit 606, an upconversion mixer 610, a side signal decoder 612, a conversion unit 614, a stereo decoder 616, a stereo parameter adjuster 618, an inverse conversion unit 622, and an inverse conversion unit 624. The decoder 118 is configured to upconvert and mix based on at least one adjusted parameter value and to present multiple channels. The second device 106 may be coupled to a first speaker 142, a second speaker 144, or both. The second device 106 may also include a memory 153 configured to store analysis data.

[0046] The receiver 111 of the second device 106 can receive bit stream 101. An intermediate signal decoder is configured to decode the encoded intermediate signal 102 to generate a decoded intermediate signal, for example... Figure 6 The decoded intermediate signal 630 (e.g., intermediate frequency band signal (m) CODED (t))). The transformation unit 606 is configured to perform a transformation operation on the decoded intermediate signal to generate a frequency domain decoded intermediate signal, for example Figure 6 The frequency domain is decoded by the intermediate signal (M) CODED (b) 632. The transformation unit 606 can apply a second window (e.g., an analysis window based on second window parameters) to the decoded intermediate signal to generate windowed samples. The windowed samples can be generated in the time domain. The side signal decoder 612 is configured to decode the encoded side signal 103 to generate the decoded side signal, for example... Figure 6 The decoded-side signal 634. The transformation unit 614 is configured to perform a transformation operation on the decoded-side signal to generate a frequency-domain decoded-side signal, for example... Figure 6 The frequency domain of the decoded signal 636. The transform unit 614 can apply a second window (e.g., an analysis window based on the second window parameters) to the decoded signal to generate windowed samples. The windowed samples can be generated in the time domain.

[0047] Stereo parameter decoder 616 is configured to decode encoded stereo parameter information 158 to determine a first value 151, a second value 155, and additional stereo parameter values ​​158. The first value 151 is associated with a first frequency range 152 and is determined using an encoder-side windowing scheme of encoder 114, which uses a first window with a first overlap size. The second value 155 is associated with a second frequency range 156 and is also determined using an encoder-side windowing scheme. Additionally, stereo decoder 638 can determine additional stereo parameter values ​​encoded into each stereo parameter in bitstream 101 in response to decoding encoded stereo parameter information 158.

[0048] A stereoparameter regulator 618 is configured to perform adjustment operations on a first value 151 and a second value 155 to produce an adjusted value 640 of the stereoparameter. The adjusted value 640 may be associated with a specific frequency range 170, which is a subset of either a first frequency range 152 or a second frequency range 156. As a non-limiting example, the stereoparameter regulator 618 may apply an estimation function to the first value 151 and the second value 155. The estimation function may include an averaging function, an adjustment function, or a curve-fitting function. In other embodiments, the stereoparameter regulator 618 may be configured to perform further adjustment operations on values ​​151 and 155 to produce the adjusted value 640. For example, the stereo parameter adjuster 618 can perform limiting operations, smoothing operations, adjustment operations, interpolation operations, extrapolation operations, operations including setting values ​​151 and 155 to constant values ​​across frequency bands, operations including setting values ​​151 and 155 to constant values ​​across frames, operations including setting values ​​151 and 155 to zero (or relatively small values), or combinations thereof. If a specific frequency range 170 is a subset of a first frequency range 152, then the adjusted value 640 differs from the first value 151. If a specific frequency range 170 is a subset of a second frequency range 156, then the adjusted value 640 differs from the second value 155. The stereo parameter adjuster 618 can also be configured to generate one or more additional conditional values ​​(not shown) for the stereo parameters based on the adjustment operation. Each of the one or more additional conditional values ​​is associated with a corresponding frequency range that is a subset of the first frequency range 152 or a subset of the second frequency range 156.

[0049] The stereo parameter adjuster 618 can determine whether to apply an estimation function based on an overlap window size, a decoding bit rate, changes in the values ​​of one or more stereo parameters, or combinations thereof. For example, bit stream 101 can indicate the stereo parameter values ​​of one or more stereo parameters. The stereo parameter adjuster 618 can determine the stereo parameter values ​​to be applied to a subset of one or more stereo parameters in response to determining that the overlap window size fails to meet (e.g., is less than) a threshold window size, the decoding bit rate meets (e.g., is greater than or equal to) a threshold decoding bit rate, the changes in the values ​​of the stereo parameters meet a change threshold, or combinations thereof. In one particular aspect, the stereo parameter adjuster 618 can determine one or more thresholds associated with the estimation function based on various parameters. The one or more thresholds may include a threshold window size, a threshold decoding bit rate, a change threshold, or combinations thereof. The various parameters may include a decoding bit rate, DFT window characteristics, stereo parameter values, underlying intermediate signal characteristics, or combinations thereof.

[0050] In a particular aspect, the estimation function applied to the stereo parameter value 158 of the first stereo parameter may be based on the second stereo parameter value of the second stereo parameter. For example, bit stream 101 may include the stereo parameter value 158 of the first stereo parameter (e.g., ILD), a specific parameter value of the second stereo parameter (e.g., IPD), or a combination thereof. Stereo parameter regulator 618 may determine whether to apply the estimation function to the stereo parameter value 158 based on the stereo parameter value 158, the specific parameter value of the second stereo parameter, or a combination thereof. For example, stereo parameter regulator 618 may determine a first change in the stereo parameter value 158, a second change in the specific parameter value, or both. Stereo parameter regulator 618 may determine to apply the estimation function to the stereo parameter value 158, the specific parameter value, or a combination thereof in response to determining that the first change satisfies (e.g., is greater than) a first change threshold (e.g., an intermediate change threshold) and the second change satisfies (e.g., is greater than) a change threshold (e.g., an intermediate change threshold). In one particular embodiment, the stereo parameter adjuster 618 may determine, in response to determining that a first change satisfies (e.g., less than) a first change threshold (e.g., a very low change threshold) and a second change satisfies (e.g., greater than) a second change threshold (e.g., an intermediate change threshold), a specific value of a stereo parameter 158, a specific value of a second stereo parameter (e.g., an IPD), or a combination thereof, that does not apply the estimation function to the first stereo parameter (e.g., ILD). The decoder 118 may adaptively set the first change threshold, the second change threshold, or both to reduce (e.g., minimize) artifacts.

[0051] The stereo parameter adjuster 618 can generate a second stereo parameter value 159 based on the stereo parameter value 158, as shown in the reference. Figures 2 to 5As further described. For example, the stereo parameter adjuster 618 can generate a second stereo parameter value 159 containing one or more adjusted values ​​(e.g., adjusted parameter values) by applying an estimation function (e.g., an averaging function, an adjustment function, a curve fitting function) to one or more of the stereo parameter values ​​158. The stereo parameter values ​​158 may include a first parameter value 151 corresponding to a first frequency range 152 (e.g., 200Hz to 400Hz), a second parameter value 155 corresponding to a second frequency range 156 (e.g., 400Hz to 600Hz), or both.

[0052] Stereo parameter adjuster 618 can determine one or more adjusted parameter values ​​corresponding to a set of frequency ranges. The set of frequency ranges may include one or more subsets of a first frequency range 152, one or more subsets of a second frequency range 156, or a combination thereof. For example, stereo parameter adjuster 618 can determine an adjusted parameter value 640 of the adjusted parameter values ​​640 based at least on a first parameter value 151 and a second parameter value 155. The first parameter value 151 and the second parameter value 155 may correspond to values ​​from the current frame (or subframe) or from the previous frame (or subframe). The adjusted parameter value 640 may correspond to a frequency range 170 that is at least a subset (e.g., a subrange) of the first frequency range 152 or the second frequency range 156. For example, a portion of frequency range 170 may correspond to a subset of the first frequency range 152, and the remaining portion of frequency range 170 may correspond to a subset of the second frequency range 156.

[0053] The set of frequency ranges may include frequency ranges 170 corresponding to the adjusted parameter value 640. As mentioned herein, "adjusted parameter value" refers to a parameter value used by or determined by the decoder for a specific frequency range, which is different from the parameter value corresponding to a specific frequency range as indicated in bit stream 101.

[0054] The stereo parameter adjuster 618 can use an estimation function to locally or globally adjust the stereo parameter value 158 to produce a second stereo parameter value 159. For example, the stereo parameter adjuster 618 can locally adjust the stereo parameter value 158 by adjusting the parameter value 640 of a frequency range 170 that is determined as a subset (e.g., a frequency sub-range or frequency interval) of the first frequency range 152 (e.g., a frequency band) based on the first parameter value 151 of the first frequency range 152 and the parameter values ​​of adjacent frequency ranges. Therefore, local modification can adjust (e.g., smooth) parameter values ​​across two directly adjacent frequency ranges (e.g., a first frequency band from 200 Hz to 400 Hz and a second frequency band from 400 Hz to 600 Hz). In this example, the adjusted parameter value 640 of the frequency range 170 (e.g., a frequency sub-range or frequency interval) can be independent of the parameter values ​​of one or more other (e.g., non-adjacent) frequency ranges. For illustrative purposes, at least one value of the stereo parameter value 158 can correspond to one or more frequency ranges that are not adjacent to the first frequency range 152. The parameter value 640 can be adjusted independently of at least one value. As mentioned herein, a “non-adjacent frequency range” of a frequency subrange is a frequency range that is not directly adjacent to a specific frequency range containing the frequency subrange.

[0055] In one particular embodiment, a portion of frequency range 170 may be a subset of a first frequency range 152, and another portion of frequency range 170 may be a subset of a second frequency range 156. For example, a first portion of frequency range 170 may correspond to a first subset of the first frequency range 152, and the remaining portion of frequency range 170 may correspond to a second subset of the second frequency range 156. Stereo parameter adjuster 618 can locally adjust stereo parameter value 158 by determining an adjusted parameter value 640 for frequency range 170 based on one or more parameter values ​​(e.g., first parameter value 151) for the first frequency range 152 and one or more parameter values ​​(e.g., second parameter value 155) for the second frequency range 156. The adjusted parameter value 640 may be independent of parameter values ​​corresponding to frequency ranges other than the first frequency range 152 and the second frequency range 156.

[0056] In one particular aspect, the stereo parameter adjuster 618 can adjust the stereo parameter values ​​158 holistically by curve fitting some or all of them. The adjusted parameter value 640 of the frequency range 170 (e.g., a frequency subrange or frequency interval) may depend on parameter values ​​of one or more non-adjacent frequency ranges, parameter values ​​of adjacent frequency ranges below the frequency range 170, or a combination thereof.

[0057] In one particular aspect, the stereo parameter adjuster 618 can adjust the stereo parameter value 158 by setting it to a specific (e.g., fixed, constant, or predetermined) value across frequency bands. For example, the stereo parameter adjuster 618 can generate a second stereo parameter value 159 having the same value (e.g., a specific value) for each frequency interval of a first frequency range 152 and each frequency interval of a second frequency range 156. The specific value may be based on the stereo parameter value 158, underlying signal characteristics such as energy, slope, spectral variation, overlap window length, or a combination thereof.

[0058] In one particular aspect, the stereo parameter adjuster 618 can generate a second stereo parameter value 159 by adjusting the stereo parameter value 158 based on fundamental signal characteristics (e.g., mid-band energy, power, slop, etc.). In some cases, the stereo parameter adjuster 618 can use fundamental signal characteristics to determine whether to adjust the stereo parameter value 158 (or a subset of the stereo parameter value 158). For example, the stereo parameter adjuster 618 can prevent adjustment of the stereo parameter values ​​158 corresponding to a first subset of the first frequency range and a second subset of the second frequency range in response to determining that one or more fundamental signal characteristics (e.g., mid-band energy, power, slop, or combinations thereof) satisfy (e.g., greater than, less than, or equal to) a threshold at approximately the boundary (e.g., 400 Hz) between a first frequency range 152 (e.g., 200 Hz to 400 Hz) and a second frequency range 156 (e.g., 400 Hz) and a second frequency range 156 (e.g., 400 Hz). In the example described, the first subset of the first frequency range and the second subset of the second frequency range may be immediately adjacent to the boundary. When the intermediate signal energy meets an energy threshold, the intermediate signal energy can reduce the perceptibility of the difference at the boundary between the first parameter value 151 corresponding to the first frequency range 152 and the second parameter value 155 corresponding to the second frequency range 156. In the example described, the stereo parameter value 159 may indicate an unadjusted parameter value corresponding to the frequency range. For example, the second stereo parameter value 159 may indicate that the first parameter value 151 (e.g., an unadjusted parameter value) corresponds to a first subset of the first frequency range 152, the second parameter value 155 corresponds to a second subset of the second frequency range 156, or both.

[0059] According to one embodiment, stereo parameter regulator 618 can determine whether a change in a specific stereo parameter meets (e.g., exceeds) a threshold. If the change in a specific stereo parameter meets the threshold, then stereo parameter regulator 618 adjusts the different stereo parameters. As a non-limiting example, stereo parameter regulator 618 can determine whether a change in the value of ITD (e.g., a first stereo parameter) meets a threshold. If stereo parameter regulator 618 determines that a change in the value of ITD meets the threshold, then stereo parameter regulator 618 adjusts (e.g., regulates) the value associated with IPD (e.g., a second stereo parameter). Upconversion mixer 610 is configured to perform upconversion mixing on a frequency domain decoded intermediate signal (and optionally, a frequency domain decoded side signal) to produce a first frequency domain output signal (e.g., ...). Figure 6 The first frequency domain output signal 642 and the second frequency domain output signal (e.g., as described) are... Figure 6 The second frequency domain output signal 644 is described. During upconversion mixing operation, upconverter mixer 610 can apply stereo parameter value 158 to the frequency domain decoded intermediate signal (and optionally, the frequency domain decoded side signal). Additionally, during upconversion mixing operation, stereo processor 630 can apply a second stereo parameter value (including adjusted value 640) to the frequency domain decoded intermediate signal (and optionally, the frequency domain decoded side signal). The adjusted value 640 can be applied using a decoder-side windowing scheme that uses a second window with a second overlap size smaller than the first overlap size. The second overlap size associated with the decoder-side windowing scheme is different from the first overlap size associated with the encoder-side windowing scheme. For example, the second overlap size is smaller than the first overlap size. Furthermore, a first zero-filling operation can be performed at encoder 114 in conjunction with an encoder-side windowing scheme, and a second zero-filling operation (different from the first zero-filling operation) can be performed at decoder 118 in conjunction with a decoder-side windowing scheme.

[0060] Inverse conversion unit 622 is configured to perform an inverse conversion operation on the first frequency domain output signal to generate a first output signal 126. Second inverse conversion unit 624 is configured to perform an inverse conversion operation on the second frequency domain output signal to generate a second output signal 128. Second device 106 can output the first output signal 126 via a first speaker 142. Second device 106 can output the second output signal 128 via a second speaker 144. In an alternative embodiment, the first output signal 126 and the second output signal 128 can be transmitted as a stereo signal pair to a single output speaker.

[0061] Although the first device 104 and the second device 106 have been described as separate devices, in other embodiments, the first device 104 may include one or more components described with reference to the second device 106. Alternatively or additionally, the second device 106 may include one or more components described with reference to the first device 104. For example, a single device may include an encoder 114, a decoder 118, a transmitter 110, a receiver 111, one or more input interfaces 112, a memory 153, or a combination thereof. The memory 153 stores analysis data. The analysis data may include stereo parameter values ​​158, second stereo parameter values ​​159, first window parameters defining a first window to be applied by the encoder 114, second window parameters defining a second window to be applied by the decoder 118, or a combination thereof.

[0062] System 100 enables decoder 118 to generate a second stereo parameter value 159 based on stereo parameter values ​​158 indicated in the received bit stream 101. The second stereo parameter value 159 may include one or more adjusted parameter values. Compared to the values ​​of stereo parameter values ​​158 corresponding to a continuous frequency range, at least some of the second stereo parameter values ​​159 corresponding to the same frequency range may have low or equal differences between them. Smaller changes (or smaller differences) in the values ​​of the second stereo parameter values ​​159 corresponding to a continuous frequency range can produce output signals (e.g., first output signal 126 and second output signal 128) with less perceptible artifacts, thereby improving the audio quality of the output signals.

[0063] Figures 2 to 5 This section describes various non-limiting instances of the second solid parameter value 159 generated by applying the estimation function to the parameter value 158. Figure 2 This illustrates an example of a second stereo parameter value 159 generated by applying an adjustment function to stereo parameter value 158. Figure 3 This illustrates an example of how a second stereo parameter value 159 is generated by applying a curve fitting function to the stereo parameter value 158. Figure 4 This illustrates an example of a second stereo parameter value 159 generated by applying a linear adjustment function to the stereo parameter value 158. Figure 5 This section describes an example of how a second solid parameter value 159 is generated by applying a piecewise linear adjustment function to the solid parameter value 158.

[0064] See Figure 2This describes an example of stereo parameter value 158 and an example of second stereo parameter value 159. Stereo parameter value 158 includes parameter value 202 corresponding to frequency band 0, parameter value 204 corresponding to frequency band 1, parameter value 206 corresponding to frequency band 2, and parameter value 208 corresponding to frequency band 3. One of frequency bands 0 to 2 may correspond to a first frequency range 152, and an adjacent frequency band may correspond to a second frequency range 156. Frequency band 0 may correspond to a frequency band with a frequency band index of 0. Continuous frequency bands may have continuous frequency band indices.

[0065] Each of frequency bands 0 through 3 may contain one or more frequency ranges. For example, frequency band 0 may contain a single frequency range (e.g., frequency range 0), frequency band 1 may contain frequency ranges 1 and 2, frequency band 2 may contain frequency ranges 3 through 6, and frequency band 3 may contain frequency ranges 7 through 14. Frequency range 0 may correspond to a frequency range with a frequency range index of 0. Consecutive frequency ranges may have consecutive frequency range indices.

[0066] Figure 1 The stereo parameter adjuster 618 can generate a second stereo parameter value 159 by modifying at least some stereo parameter values ​​158 corresponding to the inter-band transition. For example, the stereo parameter adjuster 618 can perform linear adjustment, piecewise linear adjustment, or nonlinear adjustment.

[0067] The stereo parameter adjuster 618 can determine whether to perform an adjustment for one or more frequency band boundaries corresponding to the stereo parameter value 158. For example, the stereo parameter adjuster 618 can determine that an adjustment will be performed for the boundary between frequency band 0 and frequency band 1, and for the boundary between frequency band 1 and frequency band 2. The stereo parameter adjuster 618 can determine that no adjustment will be performed for the boundary between frequency band 2 and frequency band 3. In one particular aspect, the stereo parameter adjuster 618 determines that an adjustment will be performed for the boundary between the first frequency range 152 and the second frequency range 156 in response to determining that the difference between parameter value 204 and parameter value 206 satisfies a parameter value difference threshold.

[0068] The stereo parameter adjuster 618 can determine a parameter value 210 (e.g., an adjusted parameter value) for frequency range 1 between the parameter value 202 for frequency band 0 and the parameter value 204 for frequency band 1, in response to determining that an adjustment will be performed for the boundary between frequency band 0 and frequency band 1. The second stereo parameter value 159 may include the parameter value 202 corresponding to frequency range 0, the parameter value 210 corresponding to frequency range 1, and the parameter value 204 corresponding to frequency range 2. The difference between parameter value 202 and parameter value 210 is lower than the difference between parameter value 202 and parameter value 204, thereby... Figure 1 The decoder 118 produces an output signal that causes fewer artifacts at the boundary between frequency band 0 and frequency band 1.

[0069] The stereo parameter adjuster 618 can determine one or more adjusted parameter values ​​between parameter value 204 corresponding to frequency range 2 and parameter value 206 corresponding to frequency range 2 in response to determining that an adjustment is to be performed for the boundary between frequency band 1 and frequency band 2. The one or more adjusted parameter values ​​may correspond to frequency ranges 3 to 5. For example, the one or more adjusted parameter values ​​may include parameter value 212 (e.g., an adjusted parameter value) corresponding to frequency range 4. The stereo parameter adjuster 618 can determine that parameter value 206 corresponds to frequency range 6.

[0070] The stereo parameter adjuster 618 may update the second stereo parameter value 159 to include parameter values ​​206 corresponding to each frequency range of frequency band 3 in response to determining that no adjustment will be performed for the boundary between frequency band 2 and frequency band 3.

[0071] The stereo parameter adjuster 618 can therefore adjust two or more of the stereo parameter values ​​158 to produce a second stereo parameter value 159. Adjusting the parameter values ​​across some frequency band boundaries can reduce the... Figure 1 The artifacts in the output signal generated by the decoder 118.

[0072] See Figure 3 This section describes an example of stereo parameter value 158 and an example of second stereo parameter value 159. Stereo parameter value 158 includes parameter value 302 corresponding to frequency band 0, parameter value 304 corresponding to frequency band 1, parameter value 306 corresponding to frequency band 2, and parameter value 308 corresponding to frequency band 3.

[0073] Figure 1 The stereo parameter adjuster 618 can generate a second stereo parameter value 159 by curve fitting at least some stereo parameter values ​​158. For example, the stereo parameter adjuster 618 can perform nonlocal adjustments to the stereo parameter values ​​158 to generate the second stereo parameter value 159. For illustration, the parameter value of the second stereo parameter value 159 corresponding to a frequency range can be determined based on the parameter values ​​of the stereo parameter values ​​158 corresponding to one or more non-adjacent frequency bands. For example, the stereo parameter adjuster 618 can determine the parameter value 310 of frequency range 2 in frequency band 1 based on the parameter value 302 of frequency band 0, the parameter value 306 of frequency band 2, the parameter value 308 of frequency band 3, or a combination thereof. Frequency bands 0 and 2 can be considered adjacent frequency bands of frequency range 2 because frequency band 1 is adjacent to frequency bands 0 and 2. Frequency band 3 can be considered a non-adjacent frequency band because frequency band 1 is not adjacent to frequency band 3.

[0074] The second stereo parameter value 159 includes parameter value 302 corresponding to frequency range 0. The second stereo parameter value 159 also includes adjusted parameter values ​​corresponding to each of frequency ranges 1 to 14. For example, the second stereo parameter value 159 includes parameter value 310 (e.g., an adjusted parameter value) corresponding to frequency range 2. Parameter value 310 may be based on curve fitting of parameter values ​​302, 308, 304, and 306. For example, the stereo parameter adjuster 618 may determine a line (e.g., a curve) intersecting the middle range of each frequency band at the corresponding parameter value. The stereo parameter adjuster 618 may determine the second stereo parameter value 159 to approximate said line. Parameter value 310 may approximate the value corresponding to the line in frequency range 2. Parameter value 310 may therefore be based on stereo parameter values ​​158 corresponding to adjacent and non-adjacent frequency bands.

[0075] See Figure 4 This section describes an example of stereo parameter value 158 and an example of second stereo parameter value 159. Stereo parameter value 158 includes parameter value 402 corresponding to frequency band 0, parameter value 404 corresponding to frequency band 1, parameter value 406 corresponding to frequency band 2, and parameter value 408 corresponding to frequency band 3.

[0076] Generating a second stereo parameter value 159 may involve setting parameter values ​​for frequency ranges corresponding to some frequency bands to the same parameter value. For example, stereo parameter adjuster 618 may determine that parameter values ​​corresponding to frequency bands below (or above) a frequency threshold (e.g., band 2) do not contribute significant spatial information. Stereo parameter adjuster 618 may generate a second stereo parameter value 159 to include constant parameter values ​​corresponding to frequency ranges of lower (or higher) frequency bands. For example, stereo parameter adjuster 618 may generate a second stereo parameter value 159 to include parameter values ​​406 corresponding to frequency band 2 in response to determining that stereo parameter value 158 includes parameter values ​​406 corresponding to frequency band 2. As another example, stereo parameter adjuster 618 may generate a second stereo parameter value 159 to include parameter values ​​408 corresponding to frequency ranges above frequency band 3. Stereo parameter adjuster 618 may determine parameter values ​​corresponding to the remaining frequency ranges based on an estimated (e.g., averaging, adjustment, curve fitting) function.

[0077] The stereo parameter adjuster 618 can perform linear adjustments based on parameter values ​​406 and 408 to determine parameter values ​​corresponding to at least some frequency ranges of frequency bands 2 and 3. The stereo parameter adjuster 618 can generate (or update) a second stereo parameter value 159 to include parameter value 406 corresponding to each of frequency ranges 3 to 6 of frequency band 2 and parameter value 408 corresponding to each of frequency ranges 10 to 14 of frequency band 3. The stereo parameter adjuster 618 can perform linear adjustments based on parameter values ​​406 and 408 to determine parameter values ​​corresponding to frequency ranges 7 to 9 of frequency band 3, and can generate (or update) a second stereo parameter value 159 to include parameter values ​​corresponding to frequency ranges 7 to 9.

[0078] exist Figure 4 In one aspect, the stereo parameter adjuster 618 performs linear adjustment to determine parameter values ​​for frequency ranges 7 to 9 corresponding to band 3. In another aspect, the stereo parameter adjuster 618 can perform linear adjustment to determine parameter values ​​for at least some frequency ranges corresponding to band 2. In an alternative aspect, the stereo parameter adjuster 618 can perform adjustments (e.g., linear or nonlinear adjustments) to determine parameter values ​​for at least some frequency ranges corresponding to band 2 and at least some frequency ranges corresponding to band 3. In another aspect, the stereo parameter adjuster 618 can determine whether to perform linear adjustment to determine parameter values ​​for at least some frequency ranges corresponding to band 2, band 3, or both based on fundamental signal characteristics (e.g., energy). For example, the stereo parameter adjuster 618 can perform linear adjustment to determine parameter values ​​for frequency ranges corresponding to bands (e.g., band 2 or band 3) in response to determining that the energy difference (or average energy) of a band meets (e.g., is greater than) a threshold.

[0079] like Figure 4As explained, parameter value 406, corresponding to stereo parameter value 158 in band 2, is assigned to bands 0 and 1 in the second stereo parameter value 159. The same parameter value (e.g., parameter value 406) can be assigned to one or more neighboring bands in the second stereo parameter value 159 to reduce parameter shifts in response to determining that neighboring bands have little impact on perceived quality. Assigning parameter value 406 to bands 0 and 1 can reduce (e.g., avoid) the value shifts of the stereo parameter (corresponding to stereo parameter value 158) between bands 0 and 1, and between bands 1 and 2. In an alternative embodiment, stereo parameter adjuster 618 can assign one or more other parameter values ​​to bands 0, 1, and 2 in the second stereo parameter value 159 based on stereo parameter value 158. For example, stereo parameter adjuster 618 can determine that band 0 has higher perceived significance compared to bands 1 and 2 based on a fundamental intermediate signal. For illustrative purposes, the stereo parameter adjuster 618 may determine that band 0 has higher perceived significance than another band (e.g., band 1 or band 2) in response to determining that the frequency range of band 0 has higher energy compared to one or more (e.g., all) frequency ranges of other bands. The stereo parameter adjuster 618 may assign parameter value 402 (corresponding to band 0) to bands 1 and 2 in the second stereo parameter value 159 in response to determining that band 0 has higher perceived significance compared to bands 1 and 2. As another example, the stereo parameter adjuster 618 may assign a weighted average of one or more of the stereo parameter values ​​158 (e.g., parameter values ​​402, 404, and 406) to bands 0, 1, and 2 in the second stereo parameter value 159.

[0080] In one particular aspect, the stereo parameter adjuster 618 can adaptively determine the stereo parameter value 159. This adaptive determination can be based on the relative energy distribution of frequency bands in the intermediate signal. For example, the stereo parameter adjuster 618 can adaptively determine whether to enable or disable replacement of one or more of the stereo parameter values ​​158 received via bitstream 101 in the second stereo parameter value 159. For illustrative purposes, the stereo parameter adjuster 618 can adaptively determine whether to use a single parameter value corresponding to frequency bands 0, 1, and 2 in the second stereo parameter value 159 to replace parameter values ​​402, 404, and 406 of the stereo parameter value 158 based on the relative energy distribution of frequency bands 0, 1, and 2 in the intermediate signal. As another example, the stereo parameter adjuster 618 can adaptively determine the number of frequency bands (e.g., 2 or 3 bands) to which the corresponding parameter value of the stereo parameter value 158 is replaced by a single parameter value in the second stereo parameter value 159. For illustrative purposes, the stereo parameter adjuster 618 may adaptively determine to replace parameter values ​​402, 404, and 406 of stereo parameter value 158 with a single parameter value corresponding to frequency bands 0, 1, and 2 (e.g., three frequency bands) in the second stereo parameter value 159. Alternatively, the stereo parameter adjuster 618 may adaptively determine to replace parameter values ​​402 and 404 with a single parameter value corresponding to frequency bands 0 and 1 (e.g., two frequency bands) in the second stereo parameter value 159, where parameter value 406 corresponds to frequency band 2 in the second stereo parameter value 159. It should be noted that specific frequency bands (e.g., frequency bands 0, 1, or 2) are for illustrative purposes and not limiting. Any combination of frequency bands may be used in various embodiments.

[0081] In one particular aspect, the stereo parameter adjuster 618 can perform local adjustments to the stereo parameter values ​​158 of a stereo parameter (e.g., IPD) to determine a first subset of second stereo parameter values ​​159, and can perform global adjustments to the stereo parameter values ​​158 to determine a second subset of second stereo parameter values ​​159. For example, such as Figure 4 As explained, assigning parameter value 406 of frequency band 2 to frequency band 0 corresponds to a global (e.g., worldwide) adjustment of stereo parameter value 158 because frequency band 2 is not adjacent to frequency band 0. Assigning one or more parameter values ​​of the second stereo parameter value 159 to frequency band 3 corresponds to a local adjustment of stereo parameter value 158 because one or more parameter values ​​are based on parameter values ​​corresponding to stereo parameter values ​​158 of frequency bands 2 and 3, where frequency band 2 is adjacent to frequency band 3.

[0082] See Figure 5This section describes an example of stereo parameter value 158 and an example of second stereo parameter value 159. Stereo parameter value 158 includes parameter value 502 corresponding to frequency band 0, parameter value 504 corresponding to frequency band 1, parameter value 506 corresponding to frequency band 2, and parameter value 508 corresponding to frequency band 3.

[0083] Figure 1 The stereo parameter adjuster 618 can generate a second stereo parameter value 159 by adjusting the parameter values ​​of the frequency band. For example, the stereo parameter adjuster 618 can determine the parameter value of a frequency range of the frequency band based on the difference between the parameter value of the frequency band and the parameter values ​​of adjacent frequency bands. For illustration, the stereo parameter adjuster 618 can determine the parameter value 510 corresponding to frequency range 7 based on the difference between the parameter value 508 of frequency band 3 and the parameter value 506 of frequency band 2, where frequency band 2 is adjacent to frequency band 3. The amount (e.g., a portion) of the difference (e.g., parameter value 506 - parameter value 508) corresponding to a specific frequency range (e.g., frequency range 7) can be based on fundamental signal characteristics (e.g., intermediate signal energy), as described herein. More specifically, Figure 1 The stereo parameter adjuster 618 generates a second stereo parameter value 159 by performing piecewise linear adjustments to the parameter values ​​of the frequency band. For example, the stereo parameter adjuster 618 can determine the parameter values ​​of a frequency range of the frequency band based on the difference between the parameter values ​​of the frequency band and those of adjacent frequency bands. The amount of difference corresponding to a specific frequency range can be proportional to the fundamental signal characteristics (e.g., intermediate signal energy).

[0084] In one particular aspect, the overall (e.g., global) adjustment of the stereo parameter value 158 may be based on the characteristics of the underlying signal. For example, the stereo parameter adjuster 618 may perform curve fitting to determine a curve (e.g., the best-fit curve) by reducing (e.g., minimizing) the weighted error. In this example, the weighted error may be determined using weights corresponding to the energy of a frequency range corresponding to the underlying intermediate signal, and the error value may be determined based on the difference between the second stereo parameter value 159 and the stereo parameter value 158 received by the device 106.

[0085] In one particular aspect, the stereo parameter adjuster 618 can perform piecewise linear adjustment for frequency bands above (or below) a specific frequency band (e.g., band 2). For example, the stereo parameter adjuster 618 can prevent piecewise linear adjustment from being performed to determine parameter values ​​corresponding to the frequency range between frequency ranges 0 and 2, in response to determining that frequency bands 0 and 1 are below frequency band 2. The stereo parameter adjuster 618 can, as Figure 5The second stereo parameter value 159 is generated to include a parameter value 502 corresponding to frequency range 0 and a parameter value 504 corresponding to each of frequency ranges 1 to 2. In an alternative aspect, the stereo parameter adjuster 618 may generate the second stereo parameter value 159 to include a parameter value 506 corresponding to frequency ranges 0 to 2.

[0086] In one particular aspect, the stereo parameter adjuster 618 can perform piecewise linear adjustment on a frequency band comprising at least a threshold number (e.g., 5) frequency intervals. The stereo parameter adjuster 618 can prevent the piecewise linear adjustment from being performed to determine parameter values ​​corresponding to the frequency intervals of frequency band 2 in response to determining that frequency band 2 comprises fewer than the threshold number (e.g., 5) frequency intervals (e.g., 4). The stereo parameter adjuster 618 can generate (or update) a second stereo parameter value 159 to include parameter values ​​506 corresponding to each of the frequency intervals 3 to 6 of frequency band 2.

[0087] The stereo parameter adjuster 618 can determine the parameter value corresponding to frequency ranges 7 to 10 by performing piecewise linear adjustment based on parameter values ​​506 and 508 in response to determining that the count (e.g., 8) of frequency ranges above frequency bands 3 and 3 exceeds a threshold number (e.g., 5) or both. For example, the stereo parameter adjuster 618 can extend the difference between parameter values ​​506 and 508 across frequency ranges 7 to 10. The stereo parameter adjuster 618 can determine the proportion of the difference corresponding to a specific range based on the underlying signal characteristics (e.g., intermediate signal energy) corresponding to that specific range. The difference between the parameter value corresponding to frequency range 7 and the parameter value corresponding to frequency range 8 can be the same as or different from the difference between the parameter value corresponding to frequency range 8 and the parameter value corresponding to frequency range 9. For example, the first slope of line 512 (e.g., a straight line) between the parameter values ​​corresponding to frequency range 7 and the parameter values ​​corresponding to frequency range 8 may be the same as or different from the second slope of line 514 (e.g., a straight line) between the parameter values ​​corresponding to frequency range 8 and the parameter values ​​corresponding to frequency range 9. The first slope and the second slope may be based on the fundamental signal characteristics (e.g., intermediate signal energy) corresponding to frequency ranges 7 to 9.

[0088] The stereo parameter adjuster 618 can therefore determine at least some second stereo parameter values ​​159 by performing piecewise linear adjustments based on the fundamental signal characteristics of the corresponding frequency range. The fundamental signal characteristics of the frequency range can indicate that the difference between the parameter values ​​of the frequency range and the parameter values ​​of neighboring ranges is likely due to... Figure 1 The output signal produced by the decoder 118 is more or less perceptible. Performing piecewise linear adjustments based on the characteristics of the underlying signal can reduce (e.g., minimize) the perceptible artifacts in the output signal.

[0089] See Figure 6The diagram illustrates a specific implementation of decoder 118. Decoder 118 includes a demultiplexer (DEMUX) 602, an intermediate signal decoder 604, a conversion unit 606, an upconversion mixer 610, a side signal decoder 612, a conversion unit 614, a stereo decoder 616, a stereo parameter adjuster 618, an inverse conversion unit 622, and an inverse conversion unit 624. The upconversion mixer 610 includes a stereo processor 620.

[0090] Bit stream 101 is provided to demultiplexer 602. Bit stream 101 includes encoded intermediate signal 102, encoded side signal 103, and encoded stereo parameter information 158. Demultiplexer 602 is configured to extract encoded intermediate signal 102 from bit stream 101 and provide encoded intermediate signal 102 to intermediate signal decoder 604. Demultiplexer 602 can also be configured to extract encoded side signal 103 from bit stream 101 and provide encoded side signal 103 to side signal decoder 612. Demultiplexer 602 can also be configured to extract encoded stereo parameter information 158 from bit stream 101 and provide encoded stereo parameter information 158 to stereo decoder 616.

[0091] Intermediate signal decoder 604 is configured to decode encoded intermediate signal 102 to produce decoded intermediate signal 630 (e.g., intermediate frequency band signal (m)). CODED (t))). The decoded intermediate signal 630 is provided to the transformation unit 606. The transformation unit 606 is configured to perform a transformation operation on the decoded intermediate signal 630 to generate a frequency domain decoded intermediate signal (M). CODED (b) 632. For example, the transform unit 602 may perform a Discrete Fourier Transform (DFT) operation on the decoded intermediate signal 630 to generate a frequency domain decoded intermediate signal 632. The transform unit 606 may implement a decoder-side windowing scheme using a second window with a second overlap size smaller than the first overlap size. The frequency domain decoded intermediate signal 632 is provided to the upconversion mixer 610.

[0092] Side signal decoder 612 is configured to decode encoded side signal 103 to generate decoded side signal 634. Decoded side signal 634 is provided to conversion unit 614. Conversion unit 614 is configured to perform a conversion operation on decoded side signal 634 to generate frequency domain decoded side signal 636. For example, conversion unit 602 may perform a DFT operation on decoded side signal 634 to generate frequency domain side signal 636. Conversion unit 614 may implement a decoder-side windowing scheme using a second window with a second overlap size smaller than the first overlap size. Frequency domain side signal 636 is provided to upconverter mixer 610.

[0093] Stereo decoder 616 is configured to decode encoded stereo parameter information 158 to determine a first value 151 and a second value 155 of the stereo parameters. The first value 151 is associated with a first frequency range 152, and the first value 151 uses ( Figure 1 The encoder side-windowing scheme of encoder 114 is determined, the encoder side-windowing scheme using a first window with a first overlap size. A second value 155 is associated with a second frequency range 156, and the second value 155 is also determined using the encoder side-windowing scheme. A first value 151 and a second value 155 of the stereo parameter are provided to stereo parameter adjuster 618.

[0094] Additionally, the stereo decoder 638 can determine a stereo parameter value 638 (including a first value 151 and a second value 155) for each stereo parameter encoded in the bitstream 101 in response to decoding the encoded stereo parameter information 158. The stereo parameter value 638 is provided to the upconverter mixer 610. According to one embodiment, the stereo parameter value 638 is also provided to the stereo parameter regulator 618.

[0095] A stereo parameter regulator 618 is configured to perform regulation operations on a first value 151 and a second value 155 to produce a regulated value 640 for the stereo parameters. The regulated value 640 may be associated with a specific frequency range 170, which is a subset of either a first frequency range 152 or a second frequency range 156. For example, the stereo parameter regulator 618 may apply an estimation function to the first value 151 and the second value 155. The estimation function may include an averaging function, an adjustment function, or a curve fitting function. If the specific frequency range 170 is a subset of the first frequency range 152, then the regulated value 640 differs from the first value 151. If the specific frequency range 170 is a subset of the second frequency range 156, then the regulated value 640 differs from the second value 155. The regulated value 640 is provided to the upconverter mixer 610. The stereo parameter regulator 618 may also be configured to generate one or more additional conditional values ​​(not shown) for the stereo parameters based on the regulation operation. Each of the one or more additional condition values ​​is associated with a corresponding frequency range that is a subset of the first frequency range 152 or a subset of the second frequency range 156.

[0096] Upconversion mixer 610 is configured to perform upconversion mixing on frequency-domain decoded intermediate signal 632 (and optionally, frequency-domain decoded side signal 636) to generate a first frequency-domain output signal 642 and a second frequency-domain output signal 644. During the upconversion mixing operation, stereo processor 620 of upconversion mixer 610 can apply stereo parameter value 638 to frequency-domain decoded intermediate signal 632 (and optionally, frequency-domain decoded side signal 636). Additionally, during the upconversion mixing operation, stereo processor 630 can apply adjusted value 640 to frequency-domain decoded intermediate signal 632 (and optionally, frequency-domain decoded side signal 636). The first frequency-domain output signal 642 is provided to inverse conversion unit 622, and the second frequency-domain output signal 644 is provided to inverse conversion unit 624.

[0097] Inverse transform unit 622 is configured to perform an inverse transform operation on the first frequency domain output signal 642 to generate a first output signal 126. For example, inverse transform unit 622 may perform an inverse DFT (IDFT) operation on the first frequency domain output signal 642 to generate the first output signal 126. Second inverse transform unit 624 is configured to perform an inverse transform operation on the second frequency domain output signal 644 to generate a second output signal 128. For example, second inverse transform unit 624 may perform an IDFT operation on the second frequency domain output signal 644 to generate the output signal 128.

[0098] For example Figure 1 The encoder 114 is configured to apply a first windowing scheme (e.g., an encoder-side windowing scheme) associated with a first window parameter. Transformation units 606 and 614 are configured to apply a second windowing scheme (e.g., a decoder-side windowing scheme) associated with a second window parameter. The second windowing parameter associated with the second windowing scheme used by transformation units 606 and 614 may differ from the first windowing parameter associated with the first windowing scheme used by encoder 114. Transformation units 606 and 614 may use the second windowing scheme to reduce decoding latency. For example, the second windowing scheme (applied by decoder 118) may include windows of the same size as those used in the first windowing scheme (applied by encoder 114), such that the transform produces the same frequency band, but reduces the amount of window overlap. For illustrative purposes, decoder 118 may apply a second window overlap size to produce a first output signal 126, a second output signal 128, or both, which differs from the first window overlap size used by encoder 114 to encode a first audio signal 130, a second audio signal 132, or both. Reducing the amount of window overlap reduces the decoding latency for processing overlapping samples from previous windows. Because the first value 151 and the second value 155 can be generated based on the first windowing scheme (applied by encoder 114), decoder 118 can generate an adjusted value 640 to account for the differences in the windowing scheme, as referenced... Figures 1 to 5 As described. For example, decoder 118 (e.g., stereo parameter adjuster 618) can generate stereo parameter values ​​via interpolation (e.g., weighted summation) of received stereo parameter values. Similarly, inverse transform units 622, 624 are configured to perform an inverse transform to return the frequency domain signal to an overlapped windowed time domain signal.

[0099] Despite about Figure 6 The described stereo down-conversion and up-conversion mixing techniques are associated with a single channel, but similar techniques can be used to perform down-conversion and up-conversion mixing for multiple channels. For example, regarding... Figure 6 The described stereo parameter adjuster technology can be extended to multi-channel systems, where the stereo parameter adjuster is based on spatial side information (e.g., gain, phase, time mismatch, etc.) from one or more channels.

[0100] See Figure 7 The flowchart of method 700 is shown. Method 700 can be derived from... Figure 1 The second device 106, decoder 118, stereo parameter adjuster 618, or a combination thereof are executed.

[0101] Method 700 includes: at 702, receiving a bitstream at a decoder containing an encoded intermediate signal and encoded stereo parameter information. The encoded stereo parameter information may represent a first value and a second value of a stereo parameter. The first value may be associated with a first frequency range and may be determined using an encoder-side windowing scheme. The second value may be associated with a second frequency range and may be determined using an encoder-side windowing scheme. For example, see... Figure 6 The demultiplexer 602 of the decoder 118 can receive a bit stream 101 containing an encoded intermediate signal 102, an encoded side signal 103, and encoded stereo parameter information 158. The encoder-side windowing scheme can use a first window with a first overlap size.

[0102] Method 700 also includes: at 704, decoding the encoded intermediate signal to generate a decoded intermediate signal. For example, see... Figure 6 The intermediate signal decoder 604 can decode the encoded intermediate signal 102 to generate the decoded intermediate signal 630.

[0103] Method 700 further includes, at 706, performing a transform operation on the decoded intermediate signal using a decoder-side windowing scheme to generate a frequency-domain decoded intermediate signal. For example, see... Figure 6The transformation unit 606 can perform a transformation operation on the decoded intermediate signal 630 to generate a frequency-domain decoded intermediate signal 632. The decoder-side windowing scheme can use a second window with a second overlap size. The second overlap size associated with the decoder-side windowing scheme is different from the first overlap size associated with the encoder-side windowing scheme. For example, the second overlap size is smaller than the first overlap size. Additionally, a first zero-padding operation can be performed at the encoder 114 in conjunction with the encoder-side windowing scheme, and a second zero-padding operation can be performed at the decoder 118 in conjunction with the decoder-side windowing scheme.

[0104] Method 700 further includes: at 708, decoding the encoded stereo parameter information to determine the first and second values. For example, see... Figure 6 The stereo decoder 616 can decode the encoded stereo parameter information 158 to determine the first value 151 and the second value 155.

[0105] Method 700 further includes, at 710, performing an adjustment operation on the first and second values ​​to produce adjusted values ​​of the stereo parameter values. The adjusted values ​​may be associated with a specific frequency range, which is a subset of either the first or the second frequency range. For example, see... Figure 6 The stereo parameter adjuster 618 can perform adjustment operations on the first value 151 and the second value 155 to produce the adjusted value 640.

[0106] Method 700 further includes: at 712, performing an up-conversion mixing operation on the frequency-domain decoded intermediate signal to generate a first frequency-domain output signal and a second frequency-domain output signal. An adjusted value can be applied to the frequency-domain decoded intermediate signal during the up-conversion mixing operation. For example, see... Figure 6 The upconversion mixer 610 can perform upconversion mixing operation on the frequency domain decoded intermediate signal 632 to generate a first frequency domain output signal 642 and a second frequency domain output signal 642.

[0107] According to one embodiment, method 700 may include performing a first inverse transform operation on a first frequency domain output signal to generate a first output signal. For example, see... Figure 6 The inverse transform unit 622 can perform an inverse transform operation on the first frequency domain output signal 642 to generate a first output signal 126. According to one embodiment, method 700 may include performing a second inverse transform operation on a second frequency domain output signal to generate a second output signal. For example, see... Figure 6 The inverse transformation unit 624 can perform an inverse transformation operation on the second frequency domain output signal 644 to generate the second output signal 128.

[0108] Method 700 further includes: at 714, outputting a first output signal and a second output signal. The first output signal may be output based on a first frequency domain, and the second output signal may be output based on a second frequency domain. For example, see... Figure 1 The first speaker 142 can output a first output signal 126, and the second speaker 144 can output a second output signal 128.

[0109] Method 700 thus enables decoder 118 to generate a first output signal 126 based on the adjusted value 640. The difference between the adjusted parameter value 640 and parameter values ​​applied to one or more adjacent frequency ranges (e.g., frequency intervals) can be lower than the difference between the first parameter value 151 and the second parameter value 155. The lower difference between parameter values ​​applied to adjacent frequency ranges can cause lower artifacts in the first output signal 126.

[0110] See Figure 8 This is a block diagram depicting a specific illustrative example of a device (e.g., a wireless communication device) and is generally designated as 800. In various embodiments, device 800 is compared to... Figure 8 The illustrated scenario may have fewer or more components. In one illustrative embodiment, device 800 may correspond to... Figure 1 The first device 104 or the second device 106. In one illustrative embodiment, device 800 can perform the reference... Figures 1 to 7 The system and methods described one or more operations.

[0111] In one particular embodiment, device 800 includes a processor 806 (e.g., a central processing unit (CPU)). Device 800 includes one or more additional processors 810 (e.g., one or more digital signal processors (DSPs)). Processor 810 includes a media (e.g., speech and music) decoder-decoder (CODEC) 808 and an echo canceller 812. Media CODEC 808 includes a decoder 118, an encoder 114, or both.

[0112] Device 800 includes memory 853 and CODEC 834. Although media CODEC 808 is described as a component of processor 810 (e.g., dedicated circuitry and / or executable programmable code), in other embodiments, such as decoder 118, encoder 114, or both, one or more components of media CODEC 808 may be included in processor 806, CODEC 834, another processing component, or a combination thereof.

[0113] Device 800 includes a transceiver 811 coupled to antenna 842. Transceiver 811 may include... Figure 1 transmitter 110 Figure 1The receiver 111, or both. The device 800 includes a display 828 coupled to a display controller 826. One or more speakers 848 may be coupled to a CODEC 834. One or more microphones 846 may be coupled to a CODEC 834 via an input interface 112. In one particular aspect, the speaker 848 may include... Figure 1 The first loudspeaker 142 Figure 1 The second speaker 144, or both. In one particular embodiment, the microphone 846 may include... Figure 1 The first microphone 146 Figure 1 The second microphone 148, or both. The CODEC 834 includes a digital-to-analog converter (DAC) 802 and an analog-to-digital converter (ADC) 804.

[0114] Memory 853 includes a processing unit that can be executed by processor 806, processor 810, CODEC 834, device 800, or a combination thereof to perform reference operations. Figures 1 to 7 Instructions 860 describe one or more operations. Memory 853 can store analysis data 190.

[0115] One or more components of device 800 may be implemented via dedicated hardware (e.g., a circuit system), a processor, or a combination thereof, executing instructions for performing one or more tasks. As an example, memory 853 or one or more components of processor 806, processor 810, and / or CODEC 834 may be memory devices, such as random access memory (RAM), magnetoresistive random access memory (MRAM), spin torque transfer MRAM (STT-MRAM), flash memory, read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, hard disks, removable disks, or compact optical disc read-only memory (CD-ROM). The memory device may be included when executed by a computer (e.g., the processor, processor 806, and / or processor 810 in CODEC 834) to cause the computer to perform reference... Figures 1 to 7 Instructions (e.g., instruction 860) describing one or more operations. As an example, memory 853 or processor 806, processor 810, and / or one or more components of CODEC 834 may be non-transitory computer-readable media containing instructions that, when executed by a computer (e.g., the processor, processor 806, and / or processor 810 in CODEC 834), cause the computer to perform reference... Figures 1 to 7 Instructions (e.g., instruction 860) describing one or more operations.

[0116] In one particular embodiment, device 800 may be included in a system-in-package or system-on-a-chip device (e.g., a mobile station modem (MSM)) 822. In one particular embodiment, processor 806, processor 810, display controller 826, memory 853, CODEC 834, and transceiver 811 are included in the system-in-package or system-on-a-chip device 822. In one particular embodiment, input devices 830, such as a touchscreen and / or keypad, and a power supply 844 are coupled to the system-on-a-chip device 822. Furthermore, in one particular embodiment, such as... Figure 8 As described, the display 828, input device 830, speaker 848, microphone 846, antenna 842, and power supply 844 are external to the system-on-a-chip device 822. However, each of the display 828, input device 830, speaker 848, microphone 846, antenna 842, and power supply 844 may be coupled to components of the system-on-a-chip device 822, such as an interface or controller.

[0117] Device 800 may include a wireless telephone, mobile device, mobile phone, smartphone, cellular telephone, laptop computer, desktop computer, computer, tablet computer, set-top box, personal digital assistant (PDA), display device, television, game console, music player, radio, video player, entertainment unit, communication device, fixed location data unit, personal media player, digital video player, digital video disc (DVD) player, tuner, camera, navigation device, decoder system, encoder system, base station, vehicle, or any combination thereof.

[0118] In one particular embodiment, one or more components and devices 800 of the system described herein may be integrated into a decoding system or device (e.g., an electronic device, a CODEC, or a processor therein), integrated into an encoding system or device, or both. In other embodiments, one or more components and devices 800 of the system described herein may be integrated into: a wireless communication device (e.g., a cordless phone), a tablet computer, a desktop computer, a laptop computer, a set-top box, a music player, a video player, an entertainment unit, a television, a game console, a navigation device, a communication device, a personal digital assistant (PDA), a fixed-location data unit, a personal media player, a base station, a vehicle, or another type of device.

[0119] It should be noted that the various functions performed by one or more components and devices 800 of the system described herein are described as being performed by certain components or modules. This division of components and modules is for illustrative purposes only. In an alternative embodiment, functions performed by a particular component or module may be divided among multiple components or modules. Furthermore, in an alternative embodiment, two or more components or modules of the system described herein may be integrated into a single component or module. Each component or module described in the system described herein may be implemented using hardware (e.g., field-programmable gate array (FPGA) devices, application-specific integrated circuits (ASICs), DSPs, controllers, etc.), software (e.g., instructions executable by a processor), or any combination thereof.

[0120] In conjunction with the described aspects, an apparatus includes means for receiving a bit stream comprising an encoded intermediate signal and encoded stereo parameter information. The encoded stereo parameter information represents a first value and a second value of a stereo parameter. The first value is associated with a first frequency range and is determined using an encoder-side windowing scheme. The second value is associated with a second frequency range and is determined using an encoder-side windowing scheme. For example, the means for receiving may include... Figure 1 Receiver 111 Figure 6 Distributor 602, Figure 8 Transceiver 811 Figure 8 Antenna 842, one or more other devices, circuits or modules.

[0121] The device may further include means for decoding the encoded intermediate signal to generate a decoded intermediate signal. For example, the means for decoding the encoded intermediate signal may include... Figure 1 Decoder 118 Figure 6 Intermediate signal decoder 630 Figure 8 Media CODEC 808 Figure 8 processor 810, Figure 8 CODEC 834 Figure 8 The processor 806, one or more other devices, circuits or modules.

[0122] The device may further include means for performing a transformation operation on the decoded intermediate signal using a decoder-side windowing scheme to generate a frequency-domain decoded intermediate signal. For example, the means for performing the transformation operation may include... Figure 1 Decoder 118 Figure 6 Transformation unit 606, Figure 8 Media CODEC 808 Figure 8 processor 810, Figure 8 CODEC834, Figure 8The processor 806, one or more other devices, circuits or modules.

[0123] The device may further include means for decoding the encoded stereo parameter information to determine the first value and the second value. For example, the means for decoding the encoded stereo parameter information may include... Figure 1 Decoder 118 Figure 6 616 stereo decoder Figure 8 Media CODEC 808 Figure 8 processor 810, Figure 8 CODEC 834 and Figure 8 The processor 806, one or more other devices, circuits or modules.

[0124] The device may further include means for performing adjustment operations on the first and second values ​​to generate adjusted values ​​of stereo parameters. The adjusted values ​​are associated with a specific frequency range, which is a subset of either the first or the second frequency range. For example, the means for performing the adjustment operation may include... Figure 1 Decoder 118 Figure 6 618 stereo parameter adjuster Figure 8 Media CODEC 808 Figure 8 processor 810, Figure 8 CODEC834, Figure 8 The processor 806, one or more other devices, circuits or modules.

[0125] The device may further include means for performing an up-conversion mixing operation on the frequency-domain decoded intermediate signal to generate a first frequency-domain output signal and a second frequency-domain output signal. An adjusted value is applied to the frequency-domain decoded intermediate signal during the up-conversion mixing. For example, the means for performing the up-conversion mixing operation may include... Figure 1 Decoder 118 Figure 6 Upconverter mixer 610, Figure 6 620 stereo processor Figure 8 Media CODEC 808 Figure 8 processor 810, Figure 8 CODEC834 and Figure 8 The processor 806, one or more other devices, circuits or modules.

[0126] The device may further include means for outputting a first output signal and a second output signal. The first output signal is an output signal based on a first frequency domain, and the second output signal is an output signal based on a second frequency domain. For example, the means for outputting may include... Figure 1 The loudspeakers 142, 144 Figure 8The speaker 848, one or more other devices, circuits or modules.

[0127] See Figure 9 This is a block diagram depicting a specific illustrative example of a base station 900. In various implementations, the base station 900 is compared to... Figure 9 The illustrated scenario may have more or fewer components. In an illustrative example, base station 900 may include... Figure 1 First device 104 Figure 1 The second device 106, or both. In an illustrative example, the base station 900 may be based on... Figure 7 It is operated using the method.

[0128] Base station 900 may be part of a wireless communication system. The wireless communication system may include multiple base stations and multiple wireless devices. The wireless communication system may be a Long Term Evolution (LTE) system, a Code Division Multiple Access (CDMA) system, a Global System for Mobile Communications (GSM) system, a Wireless Local Area Network (WLAN) system, or some other wireless system. The CDMA system may implement Wideband CDMA (WCDMA), CDMA 1X, Evolved Data Optimized (EVDO), Time Division Synchronous CDMA (TD-SCDMA), or some other version of CDMA.

[0129] Wireless devices can also be referred to as user equipment (UE), mobile station, terminal, access terminal, user unit, station, etc. Wireless devices may include cellular phones, smartphones, tablet computers, wireless modems, personal digital assistants (PDAs), handheld devices, laptop computers, smart notebook computers, mini-notebook computers, tablet computers, cordless phones, wireless local loop (WLL) stations, Bluetooth devices, etc. Wireless devices may include or correspond to... Figure 8 Device 800.

[0130] Various functions, such as sending and receiving messages and data (e.g., audio data), can be performed by one or more components (and / or other components not shown) of base station 900. In a particular instance, base station 900 includes processor 906 (e.g., CPU). Base station 900 may include transcoder 910. Transcoder 910 may include audio CODEC 908 (e.g., speech and music CODEC). For example, transcoder 910 may include one or more components (e.g., circuitry) configured to perform operations on audio CODEC 908. As another example, transcoder 910 is configured to execute one or more computer-readable instructions for performing operations on audio CODEC 908. Although audio CODEC 908 is described as a component of transcoder 910, in other instances, one or more components of audio CODEC 908 may be included in processor 906, another processing component, or a combination thereof. For example, decoder 114 (e.g., vocoder decoder) may be included in receiver data processor 964. As another example, encoder 114 (e.g., vocoder encoder) may be included in transmit data processor 982.

[0131] Transcoder 910 can be used to transcode messages and data between two or more networks. Transcoder 910 is configured to convert message and audio data from a first format (e.g., digital format) to a second format. For illustration, decoder 114 can decode an encoded signal having the first format, and encoder 114 can encode the decoded signal into an encoded signal having the second format. Alternatively or additionally, transcoder 910 is configured to perform data rate adaptation. For example, transcoder 910 can down-convert or up-convert the data rate without changing the format of the audio data. For illustration, transcoder 910 can down-convert a 64 kilobits per second signal to a 16 kilobits per second signal. Audio CODEC 908 may include encoder 114 and decoder 114. Decoder 114 may include stereo parameter adjuster 618.

[0132] Base station 900 may include memory 932. For example, memory 932 of a computer-readable storage device may contain instructions. Instructions may include instructions that can be executed by processor 906, transcoder 910, or a combination thereof. Figure 7 The method includes one or more instructions. Base station 900 may include multiple transmitters and receivers (e.g., transceivers) coupled to an antenna array, such as a first transceiver 952 and a second transceiver 954. The antenna array may include a first antenna 942 and a second antenna 944. The antenna array is configured to interact with, for example... Figure 8 One or more wireless devices of device 800 communicate wirelessly. For example, second antenna 944 may receive data stream 914 (e.g., bit stream) from the wireless devices. Data stream 914 may contain messages, data (e.g., encoded speech data), or a combination thereof.

[0133] Base station 900 may include network connection 960, such as a backhaul connection. Network connection 960 is configured to communicate with the core network of a wireless communication network or one or more base stations. For example, base station 900 may receive a second data stream (e.g., message or audio data) from the core network via network connection 960. Base station 900 may process the second data stream to generate message or audio data and provide the message or audio data to one or more wireless devices via one or more antennas in an antenna array or to another base station via network connection 960. In a particular embodiment, as an illustrative and non-limiting example, network connection 960 may be a wide area network (WAN) connection. In some embodiments, the core network may include or correspond to a public switched telephone network (PSTN), a packet backbone, or both.

[0134] Base station 900 may include media gateway 970 coupled to network connection 960 and processor 906. Media gateway 970 is configured to convert media streams between different telecommunications technologies. For example, media gateway 970 may convert between different transmission protocols, different decoding schemes, or both. For illustrative purposes, as a non-limiting example, media gateway 970 may convert from PCM signals to Real-Time Transport Protocol (RTP) signals. Media gateway 970 may convert data between packet-switched networks (e.g., Voice over Internet Protocol (VoIP) networks, IP Multimedia Subsystem (IMS), fourth-generation (4G) wireless networks such as LTE, WiMax, and UMB, etc.), circuit-switched networks (e.g., PSTN), and hybrid networks (e.g., second-generation (2G) wireless networks such as GSM, GPRS, and EDGE, third-generation (3G) wireless networks such as WCDMA, EV-DO, and HSPA, etc.).

[0135] Additionally, media gateway 970 may include a transcoder, such as transcoder 910, configured to transcode data when codecs are incompatible. For example, as an illustrative and non-limiting example, media gateway 970 may transcode between an Adaptive Multi-Rate (AMR) codec and a G.711 codec. Media gateway 970 may include a router and multiple physical interfaces. In some embodiments, media gateway 970 may also include a controller (not shown). In a particular embodiment, the media gateway controller may be external to media gateway 970, external to base station 900, or both. The media gateway controller can control and coordinate the operation of multiple media gateways. Media gateway 970 may receive control signals from the media gateway controller and can be used to bridge different transmission technologies and add services to end-user capabilities and connectivity.

[0136] Base station 900 may include demodulator 962, which is coupled to transceivers 952 and 954, receiver data processor 964, and processor 906, and receiver data processor 964 may be coupled to processor 906. Demodulator 962 is configured to demodulate modulated signals received from transceivers 952 and 954 and provide the demodulated data to receiver data processor 964. Receiver data processor 964 is configured to extract message or audio data from the demodulated data and send the message or audio data to processor 906.

[0137] Base station 900 may include transmit data processor 982 and transmit multiple-input multiple-output (MIMO) processor 984. Transmit data processor 982 may be coupled to processor 906 and transmit MIMO processor 984. Transmit MIMO processor 984 may be coupled to transceivers 952, 954 and processor 906. In some embodiments, transmit MIMO processor 984 may be coupled to media gateway 970. As an illustrative and non-limiting example, transmit data processor 982 is configured to receive message or audio data from processor 906 and decode the message or audio data based on a decoding scheme such as CDMA or Orthogonal Frequency Division Multiplexing (OFDM). Transmit data processor 982 may provide the decoded data to transmit MIMO processor 984.

[0138] CDMA or OFDM technologies can be used to multiplex decoded data with other data, such as pilot data, to produce multiplexed data. The transmit data processor 982 can then modulate (i.e., symbol map) the multiplexed data to produce modulated symbols based on a specific modulation scheme (e.g., binary phase shift keying (“BPSK”), quadrature phase shift keying (“QSPK”), M-ary phase shift keying (“M-PSK”), M-ary quadrature amplitude modulation (“M-QAM”), etc.). In one particular embodiment, different modulation schemes can be used to modulate the decoded data and other data. The data rate, decoding, and modulation for each data stream can be determined by instructions executed by the processor 906.

[0139] The transmit MIMO processor 984 is configured to receive modulation symbols from the transmit data processor 982, and can further process the modulation symbols and perform beamforming on the data. For example, the transmit MIMO processor 984 can apply beamforming weights to the modulation symbols. The beamforming weights may correspond to one or more antennas in the antenna array used to transmit the modulation symbols.

[0140] During operation, the second antenna 944 of base station 900 can receive data stream 914. The second transceiver 954 can receive data stream 914 from the second antenna 944 and provide data stream 914 to demodulator 962. Demodulator 962 can demodulate the modulated signal of data stream 914 and provide the demodulated data to receiver data processor 964. Receiver data processor 964 can extract audio data from the demodulated data and provide the extracted audio data to processor 906.

[0141] Processor 906 may provide audio data to transcoder 910 for transcoding. Transcoder 910's decoder 118 may decode the audio data from a first format into decoded audio data, and encoder 114 may encode the decoded audio data into a second format. In some embodiments, encoder 114 may use a higher data rate (e.g., up-conversion) or a lower data rate (e.g., down-conversion) to encode the audio data compared to data received from a wireless device. In other embodiments, audio data may not be transcoded. Although transcoding (e.g., decoding and encoding) is described as being performed by transcoder 910, transcoding operations (e.g., decoding and encoding) may be performed by multiple components of base station 900. For example, decoding may be performed by receiver data processor 964, and encoding may be performed by transmit data processor 982. In other embodiments, processor 906 may provide audio data to media gateway 970 for conversion to another transmission protocol, decoding scheme, or both. Media gateway 970 may provide the converted data to another base station or core network via network connection 960.

[0142] Encoded audio data, such as transcoded data, generated at encoder 114 can be provided to transmit data processor 982 or network connection 960 via processor 906. Transcoded audio data from transcoder 910 can be provided to transmit data processor 982 for decoding according to a modulation scheme such as OFDM to generate modulation symbols. Transmit data processor 982 can provide the modulation symbols to transmit MIMO processor 984 for further processing and beamforming. Transmit MIMO processor 984 can apply beamforming weights and can provide the modulation symbols to one or more antennas in an antenna array, such as first antenna 942, via first transceiver 952. Therefore, base station 900 can provide transcoded data stream 916, corresponding to data stream 914 received from a wireless device, to another wireless device. Transcoded data stream 916 may have a different encoding format, data rate, or both than data stream 914. In other embodiments, transcoded data stream 916 can be provided to network connection 960 for transmission to another base station or core network.

[0143] Those skilled in the art will further understand that the various illustrative logic blocks, configurations, modules, circuits, and algorithmic steps described in conjunction with the embodiments disclosed herein can be implemented as electronic hardware, computer software executed by a processing device such as a hardware processor, or a combination of both. The various illustrative components, blocks, configurations, modules, circuits, and steps have been described above generally in terms of their functionality. Whether this functionality is implemented as hardware or executable software depends on the specific application and design constraints imposed on the system as a whole. Those skilled in the art can implement the described functionality in variations for each specific application, but these implementation decisions should not be interpreted as departing from the scope of the invention.

[0144] The steps of the methods or algorithms described in conjunction with the embodiments disclosed herein can be embodied directly in hardware, as a software module executed by a processor, or a combination of both. The software module can reside in memory devices such as: random access memory (RAM), magnetoresistive random access memory (MRAM), spin torque transfer MRAM (STT-MRAM), flash memory, read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, hard disks, removable disks, or compressed optical disc read-only memory (CD-ROM). An exemplary memory device is coupled to a processor such that the processor can read information from and write information to the memory device. Alternatively, the memory device can be integrated with the processor. The processor and storage medium can reside in an application-specific integrated circuit (ASIC). The ASIC can reside in a computing device or user terminal. Alternatively, the processor and storage medium can reside as discrete components in a computing device or user terminal.

[0145] The foregoing description of the disclosed embodiments is provided to enable those skilled in the art to make or use the disclosed embodiments. Various modifications to these embodiments will be readily apparent to those skilled in the art without departing from the scope of the invention, and the principles defined herein can be applied to other embodiments. Therefore, the invention is not intended to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features defined in the following claims.

Claims

1. An apparatus comprising: A receiver configured to receive a bitstream comprising an encoded intermediate signal and encoded stereo parameter information, the encoded stereo parameter information representing a first value and a second value of a stereo parameter, wherein the first value is associated with a first frequency range, and wherein the second value is associated with a second frequency range different from the first frequency range; and An upconversion mixer configured to perform an upconversion mixing operation on a frequency domain decoded intermediate signal generated from the encoded intermediate signal, wherein a specific value based on the first value and the second value is applied to the frequency domain decoded intermediate signal during the upconversion mixing operation.

2. The device according to claim 1, wherein the first value and the second value are determined using an encoder side-window scheme.

3. The device according to claim 2, further comprising: An intermediate signal decoder, configured to decode the encoded intermediate signal to produce a decoded intermediate signal; and A transformation circuit configured to perform a transformation operation on the decoded intermediate signal using a decoder-side windowing scheme to generate the frequency-domain decoded intermediate signal.

4. The device of claim 3, wherein the encoder side-windowing scheme uses a first window with a first overlap size, and wherein the decoder side-windowing scheme uses a second window with a second overlap size.

5. The device of claim 4, wherein the first overlap size is different from the second overlap size.

6. The device of claim 5, wherein the second overlap size is smaller than the first overlap size.

7. The device of claim 1, wherein the specific value is associated with a specific frequency range, the specific frequency range being a subset of the first frequency range or a subset of the second frequency range.

8. The device according to claim 1, wherein the first frequency domain output signal and the second frequency domain output signal are generated based on the upconversion mixing operation.

9. The device of claim 8, further comprising an output device configured to output a first output signal and a second output signal, the first output signal being based on the first frequency domain output signal and the second output signal being based on the second frequency domain output signal.

10. The device according to claim 9, further comprising: A first inverse transform circuit is configured to perform a first inverse transform operation on the first frequency domain output signal to generate the first output signal; and A second inverse transform circuit is configured to perform a second inverse transform operation on the second frequency domain output signal to generate the second output signal.

11. The device of claim 1, further comprising a stereo parameter adjustment circuit configured to perform an adjustment operation on the first value and the second value to produce the specific value, the adjustment operation being based on an overlap window size satisfying an overlap window size threshold, a decoding bit rate satisfying a decoding bit rate threshold, a change in the value of one or more stereo parameters satisfying a change threshold, or a combination thereof.

12. The device of claim 1, further comprising a stereo parameter adjustment circuit configured to apply an estimation function to the first value and the second value to produce the specific value.

13. The device of claim 12, wherein the estimation function comprises an averaging function, an adjustment function, or a curve fitting function.

14. The apparatus of claim 1, wherein the bit stream further comprises an encoded side signal, and the apparatus further comprises: A side signal decoder, configured to decode the encoded side signal to generate a decoded side signal; and A second transformation circuit is configured to perform a second transformation operation on the decoded-side signal to generate a frequency-domain decoded-side signal.

15. The device of claim 14, wherein the specific value is further applied to the frequency domain decoded side signal during the upconversion mixing operation.

16. The device of claim 1, wherein the receiver and the upconversion mixer are integrated into a mobile device.

17. The device of claim 1, wherein the receiver and the upconversion mixer are integrated into the base station.

18. A method comprising: At the decoder, a bitstream containing an encoded intermediate signal and encoded stereo parameter information is received, the encoded stereo parameter information representing a first value and a second value of the stereo parameter, wherein the first value is associated with a first frequency range, and wherein the second value is associated with a second frequency range different from the first frequency range; and An upconversion mixing operation is performed on a frequency domain decoded intermediate signal generated from the encoded intermediate signal, wherein a specific value based on the first value and the second value is applied to the frequency domain decoded intermediate signal during the upconversion mixing operation.

19. The method of claim 18, wherein the first value and the second value are determined using an encoder side-window scheme.

20. The method of claim 19, further comprising: Decode the encoded intermediate signal to generate a decoded intermediate signal; and The decoded intermediate signal is transformed using a decoder side-windowing scheme to generate the frequency domain decoded intermediate signal.

21. The method of claim 20, wherein the encoder side-windowing scheme uses a first window with a first overlap size, and wherein the decoder side-windowing scheme uses a second window with a second overlap size.

22. The method of claim 21, wherein the first overlap size is different from the second overlap size.

23. The method of claim 22, wherein the second overlap size is smaller than the first overlap size.

24. The method of claim 18, wherein the specific value is associated with a specific frequency range, the specific frequency range being a subset of the first frequency range or a subset of the second frequency range.

25. A non-transitory computer-readable medium comprising instructions that, when executed by a processor within a decoder, cause the processor to perform operations, the operations comprising: Receive a bitstream comprising an encoded intermediate signal and encoded stereo parameter information, wherein the encoded stereo parameter information represents a first value and a second value of a stereo parameter, wherein the first value is associated with a first frequency range, and wherein the second value is associated with a second frequency range different from the first frequency range; and An upconversion mixing operation is performed on a frequency domain decoded intermediate signal generated from the encoded intermediate signal, wherein a specific value based on the first value and the second value is applied to the frequency domain decoded intermediate signal during the upconversion mixing operation.

26. The non-transitory computer-readable medium of claim 25, wherein the first value and the second value are determined using an encoder side-windowing scheme.

27. The non-transitory computer-readable medium of claim 26, wherein the operation further comprises: Decode the encoded intermediate signal to generate a decoded intermediate signal; and The decoded intermediate signal is transformed using a decoder side-windowing scheme to generate the frequency domain decoded intermediate signal.

28. An apparatus comprising: A means for receiving a bit stream comprising an encoded intermediate signal and encoded stereo parameter information, the encoded stereo parameter information representing a first value and a second value of a stereo parameter, wherein the first value is associated with a first frequency range, and wherein the second value is associated with a second frequency range different from the first frequency range; and A means for performing an upconversion mixing operation on a frequency-domain decoded intermediate signal generated from the encoded intermediate signal, wherein a specific value based on the first value and the second value is applied to the frequency-domain decoded intermediate signal during the upconversion mixing operation.

29. The device of claim 28, wherein the means for receiving the bit stream and the means for performing the upconversion mixing operation are integrated into a mobile device.

30. The apparatus of claim 28, wherein the means for receiving the bit stream and the means for performing the upconversion mixing operation are integrated into a base station.

Citation Information

Patent Citations

  • Multichannel audio coding

    CN102169693A

  • Systems and methods of performing noise modulation and gain adjustment

    CN104956438A