Allpass network system for constrained colorless decorrelation

The method employs an all-pass filter with coefficients determined by a target amplitude response to upmix mono audio to stereo, addressing the failure of existing techniques by ensuring the sum of channels meets quality requirements and preventing infinite decay.

JP7659643B2Active Publication Date: 2025-04-09BOOMCLOUD 360 INC
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2023550040
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-02-19
Filing Date
2022-02-17
Publication Date
2025-04-09
Estimated Expiration
2042-02-17

AI Technical Summary

Technical Problem

Existing decorrelation techniques for upmixing mono audio to stereo fail when the endpoint device cannot provide two independent channels, leading to potential infinite decay of the output.

Method used

A method and system that use a single input multiple output all-pass filter to generate multiple channels from a mono channel, with the filter's coefficients determined based on a target amplitude response that constrains the sum of the channels to meet minimum quality requirements.

Benefits of technology

The solution effectively constrains the worst-case outcome of upmixing, ensuring the sum of upmixed channels meets or exceeds minimum quality requirements, thereby preventing infinite decay and improving audio quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007659643000026
    Figure 0007659643000026
  • Figure 0007659643000027
    Figure 0007659643000027
  • Figure 0007659643000028
    Figure 0007659643000028
Patent Text Reader

Abstract

The system includes one or more computing devices that decorrelate a mono channel into multiple channels. The computing device determines a target magnitude response that defines one or more constraints on a sum of the multiple channels. The target magnitude response is defined by a relationship between an amplitude value of the sum and a frequency value of the sum. The computing device determines a transfer function of a single-input multiple-output all-pass filter based on the target magnitude response, and determines coefficients of the all-pass filter based on the transfer function. The computing device processes the mono channel with the coefficients of the all-pass filter to generate the multiple channels.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates generally to audio processing, and more particularly, to decorrelation of audio content. [Background technology]

[0002] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit of priority to U.S. patent application Ser. No. 17 / 180,643, filed on February 19, 2021, and entitled ALL-PASS NETWORK SYSTEM FOR CONSTRAINED COLORLESS DECORRELATION, which is incorporated herein by reference

[0001] .

[0003] Channels of audio data may be upmixed to multiple channels. For example, a content provider may want to upmix from mono to stereo, but an endpoint device may not be able to provide two independent channels and may instead add the stereo channels together. If the summation occurs at the endpoint, decorrelation techniques such as phase inversion or reverberation-based effects may fail. A possible failure condition when using phase inversion may result in an infinitely attenuated output. Therefore, it is desirable to constrain the worst-case outcome of upmixing such that the sum of the upmixed channels exceeds a minimum quality requirement. Summary of the Invention

[0004] Some embodiments include a method of generating multiple channels from a mono channel. The method includes determining, by a processing circuit, a target amplitude response that defines one or more constraints on a sum of the multiple channels. The target amplitude response is defined by a relationship between an amplitude value of the sum and a frequency value of the sum. The method further includes determining a transfer function of a single-input multiple-output all-pass filter based on the target amplitude response, and determining coefficients of the all-pass filter based on the transfer function. The method further includes processing the mono channel with the coefficients of the all-pass filter to generate the multiple channels.

[0005] Some embodiments include a system for generating multiple channels from a mono channel. The system includes one or more computing devices configured to determine a target amplitude response that defines one or more constraints on a sum of the multiple channels. The target amplitude response is defined by a relationship between an amplitude value of the sum and a frequency value of the sum. The one or more computers determine a transfer function of a single-input multiple-output all-pass filter based on the target amplitude response. The one or more computers determine coefficients of the all-pass filter based on the transfer function, and process the mono channel with the coefficients of the all-pass filter to generate the multiple channels.

[0006] Some embodiments include a non-transitory computer-readable medium having stored thereon instructions for generating multiple channels from a mono channel, the instructions, when executed by at least one processor, configuring the processor to: determine a target magnitude response that defines one or more constraints on a sum of the multiple channels, the target magnitude response being defined by a relationship between an amplitude value of the sum and a frequency value of the sum; determine a transfer function of a single-input multiple-output all-pass filter based on the target magnitude response; determine coefficients of the all-pass filter based on the transfer function; and process the mono channel with the coefficients of the all-pass filter to generate the multiple channels. [Brief description of the drawings]

[0007] [Figure 1] FIG. 1 is a block diagram of an audio system according to some embodiments. [Diagram 2] FIG. 2 is a block diagram of a computing system environment in accordance with some embodiments. [Diagram 3] FIG. 3 is a flow chart of a process for generating multiple channels from a mono channel according to some embodiments.

[0008] . [Figure 4A] FIG. 4A is a diagram illustrating an example of a target amplitude response including a target broadband attenuation according to some embodiments.

[0009] . [Figure 4B] FIG. 4B illustrates an example of a target amplitude response including a critical point according to some embodiments.

[0010] . [Figure 4C] FIG. 4C illustrates an example of a target amplitude response including a critical point according to some embodiments.

[0011] . [Figure 4D] FIG. 4D illustrates an example of a target amplitude response including critical points and high pass filter characteristics according to some embodiments.

[0012] . [Figure 4E] FIG. 4E illustrates an example of a target amplitude response including critical points and low pass filter characteristics according to some embodiments.

[0013] . [Diagram 5] FIG. 5 is a block diagram of a computer according to some embodiments.

[0014] .

[0008] The drawings depict various embodiments for illustrative purposes only. Those skilled in the art will readily recognize from the following description that alternative embodiments of the structures and methods illustrated herein may be employed without departing from the principles disclosed herein.

[0015] . DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0009] It should be noted that the drawings and the following description relate to preferred embodiments for illustrative purposes only. From the following description, alternative embodiments of the structures and methods disclosed herein will be readily recognized as viable alternatives that may be employed without departing from the principles of the claims.

[0016] .

[0010] Reference will now be made in detail to several embodiments, examples of which are illustrated in the accompanying drawings. It is noted that wherever possible, similar or similar reference numbers may be used in the drawings and may indicate similar or similar functionality. The drawings depict embodiments of the disclosed systems (or methods) for illustrative purposes only. Those skilled in the art will readily recognize from the following description that alternative embodiments of the structures and methods shown herein may be employed without departing from the principles described herein.

[0017] .

[0011] An embodiment relates to an audio system that provides mono presentation compatibility for decorrelating a mono channel to multiple channels. The audio system achieves mono presentation compatibility using colorless decorrelation of audio according to constraints. The audio system constrains the worst case result of upmixing such that the sum of the upmixed channels meets or exceeds minimum quality requirements. These quality requirements or constraints may be specified by a target magnitude response as a function of frequency. Decorrelation refers to modifying the channels of audio data such that the psychoacoustic range (or "spread") of the audio data may be increased when played on two or more speakers. Colorless refers to the spectral intensity of the input audio data in the individual output channels being preserved. The audio system uses decorrelation for upmixing. The audio system configures an all-pass filter according to the target magnitude response and applies the all-pass filter to the mono channel to generate multiple output channels. The filter used for decorrelation is colorless and perceptually expands the range of the mono audio sound field. These filters allow the user to specify constraints on the attenuation and coloration that may occur due to the unexpected summation of decorrelated versions of two or more mono signals.

[0018] .

[0012] Advantages of constrained colorless decorrelation include the ability to tailor the type and degree of perceptual transformation of the sum output. The tailoring may be defined by a target amplitude response, taking into account the characteristics of the presentation device, the expected content of the audio data, the perceptual capabilities of the listener depending on the situation, or minimum quality requirements for mono presentation compatibility.

[0019] .

[0013] Audio system 1 is a block diagram of an audio system 100 according to some embodiments. The audio system 100 provides decorrelation of a mono channel into multiple channels. The system 100 includes a magnitude response module 102, an all-pass filter configuration module 104, and an all-pass filter module 106. The system 100 processes a mono input channel x(t) to generate multiple output channels, e.g., channel y provided to a speaker 110a. a (t), and channel y provided to speaker 110b. b Although two output channels are shown, system 100 may generate any number of output channels, each designated channel y(t). System 100 may be a computing device such as a music player, a speaker, a smart speaker, a smartphone, a wearable device, a tablet, a laptop, a desktop, etc.

[0020] .

[0014] The amplitude response module 102 determines a target amplitude response that defines one or more constraints on the sum of the output channels y(t). The target amplitude response is defined by a relationship between the amplitude value of the sum of the channels and the frequency value of the sum of the channels, such as amplitude as a function of frequency. The one or more constraints on the sum of the channels may include a target broadband attenuation, a target subband attenuation, a critical point, or a filter characteristic. The amplitude response module 102 may receive the data 114 and the mono channel x(t) and use those inputs to determine the target amplitude response. The data 114 may include information such as characteristics of the presentation device (e.g., one or more speakers), the expected content of the audio data, the perceptual capabilities of a listener depending on the situation, or minimum quality requirements for mono presentation compatibility.

[0021] .

[0015] The target broadband attenuation is a constraint on the maximum attenuation of the total amplitude for all frequencies. The target subband attenuation is a constraint on the maximum attenuation of the total amplitude for the frequency range defined by the subband. The target amplitude response may include one or more target subband attenuation values ​​for each of the different subbands of the sum.

[0022] .

[0016] A critical point is a constraint on the curvature of the target magnitude response of a filter, described as the frequency value where the sum gain is a predefined value, such as -3 dB or -∞ dB. The placement of this point can have an overall effect on the curvature of the target magnitude response. One example of a critical point corresponds to the frequency where the target magnitude response is -∞ dB. A critical point is a null point, since the behavior of the target magnitude response is to nullify the signal at frequencies close to this point. Another example of a critical point corresponds to the frequency where the target magnitude response is -3 dB. This critical point is a crossing point, since the behavior of the target magnitude response for the sum and difference of the channels cross at this point.

[0023] .

[0017] A filter characteristic is a constraint on how the sum is filtered. Examples of filter characteristics include a high-pass filter characteristic, a low-pass filter characteristic, a band-pass filter characteristic, or a band-reject characteristic. A filter characteristic describes the shape of the resulting sum as if it were the result of equalization filtering. Equalization filtering can be described in terms of which frequencies may pass the filter or which frequencies are rejected. Thus, a low-pass characteristic allows frequencies below an inflection point to pass and attenuates frequencies above the inflection point. A high-pass characteristic is the opposite, allowing frequencies above the inflection point to pass and attenuating frequencies below the inflection point. A band-pass characteristic allows frequencies in a band around the inflection point to pass and attenuates other frequencies. A band-reject characteristic rejects frequencies in a band around the inflection point and allows other frequencies to pass.

[0024] .

[0018] The target magnitude response may define more than a single constraint on the sum. For example, the target magnitude response may define constraints on the critical points and the filter characteristics of the sum output of an all-pass filter. In other examples, the target magnitude response may define constraints on the target broadband attenuation, the critical points, and the filter characteristics. Although described as independent constraints, in most regions of the parameter space the constraints may be interdependent. This result may result due to the system being nonlinear in phase. To address this, additional higher level descriptors of the target magnitude response may be devised that are nonlinear functions of the target magnitude response parameters.

[0025] .

[0019] The filter construction module 104 determines the characteristics of a single-input multiple-output all-pass filter based on the target amplitude response received from the amplitude response module 102. In particular, the filter construction module determines a transfer function of the all-pass filter based on the target amplitude response, and determines coefficients of the all-pass filter based on the transfer function. The all-pass filter is a decorrelation filter that is constrained by the target amplitude response and is applied to the mono input channel x(t) to produce an output channel y a (t) and y b Generate (t)

[0026] .

[0020] The all-pass filters may have different configurations and parameters based on the constraints defined by the target amplitude response. A decorrelation filter that constrains the target broadband attenuation of the channel sum has the advantage of preserving (e.g., completely) the spectral content. Such filters may be useful when no assumptions are made about the input channels or the audio presentation device regarding the prioritization of particular spectral bands. The transfer function of the all-pass filter is defined as a constant function of the levels specified by the value θ for each of the output channels:

[0027] .

[0021] To configure or create a filter, the filter configuration module 104 determines a pair of orthogonal all-pass filters using a continuous-time prototype according to Equation 1.

[0022]

number

[0023] The all-pass filter provides constraints on the 90 degree phase relationship between the two output signals and the composite amplitude relationship between the input signal and both output signals, but does not guarantee the phase relationship between the input (mono) signal and either of the two (stereo) output signals.

[0024] The discrete form of H(x(t)) is denoted by H(x(t)) and is defined by operating on the mono signal x(t). The result is a two-dimensional vector, as defined by Equation 2.

[0025]

number

[0026] The filter construction module 104 determines a 2×2 orthogonal rotation matrix according to Equation 3.

[0027]

number

[0028] Here, θ defines the rotation angle

[0031] .

[0029] The filter construction module 104 determines the projection into one dimension, as defined by Equation 4.

[0030]

number

[0031] Their product is then concatenated to the right of the second 2×1 dimensional projection, as defined by Equation 5.

[0032]

number

[0033] The filter constructed by the filter construction module 104 may therefore be defined by Equation 6:

[0034]

number

[0035] As defined by Equation 6, the all-pass filter allows for phase angle rotation of one output channel relative to the other channel

[0034] .

[0036] The multiple outputs of the all-pass filter are not limited to two output channels. In some embodiments, the system 100 generates more than two output channels from a mono input channel. The all-pass filter performs the rotation and projection operations O according to Equation 7. N This can be generalized to N channels by defining (θ).

[0037]

number

[0038] where θ is an (N-1)-dimensional vector of rotation angles. This operation can then be substituted into the equation, resulting in an N-dimensional output vector containing each decorrelated version of the input. The all-pass filter allows for constraints on the broadband attenuation of the sum, unlike, for example, when using phase-reversal decorrelation, which is essentially unconstrained since the broadband attenuation of the sum is +∞ dB.

[0035]

[0039] Here, α b The sum broadband attenuation in the case N=2, expressed as:

[0040]

number

[0041] The channels used for the summation differ only in phase terms, resulting in a damping constraint α b is exact. To define the target magnitude response including the broadband damping constant, Equation 9 can be solved for θ.

[0042]

number

[0043] Using Equation 9, the all-pass filter A b (x(t),θ) can be parameterized by a constraint on the broadband attenuation of the sum. In a presentation situation, the parameters θ obtained from this equation will maximize the perceptual spatial extent of the output. α b Since θ is dictated by the minimum allowable sum gain factor, if the perceived width exceeds the requirements for a particular use case, a value of θ that results in a larger gain factor may be selected

[0038] .

[0044] For N>2, a more generalized form of Equation 8 is defined by Equation 10.

[0045]

number

[0046] Equation 10 can be applied as a constraint while selecting the value of θ:

[0047] A b The coefficients of (x(t), θ) are determined by the orthogonal filter networks H(x(t)) and H(x(t)) and the angle θ as follows:

[0048]

number

[0049] Here, the orthogonal filter coefficient β h1 and β h2 depends on the implementation of the quadrature filter itself

[0040] .

[0050] In some embodiments, a decorrelation filter that limits the spectral subband range of the attenuation in the sum is desirable if some tonal variation in the sum is acceptable. By relaxing the constraint that the sum must be completely colorless, the spatial range can be reduced to A b This can be further expanded beyond the range possible with filters such as (x(t),θ). The resulting target amplitude response is relaxed from a constant function to a polynomial, and the characteristics of the polynomial can be parameterized using controls similar to those used in defining filters for equalization.

[0051] In some embodiments, the system 100 uses a time-domain specification of an all-pass filter. For example, a first order all-pass filter may be defined by Equation 12:

[0052]

number

[0053] where β is a filter coefficient ranging from −1 to +1. The implementation of the filter may be defined by Equation 13.

[0054]

number

[0055] The transfer function of this filter is the differential phase shift from one output to the other.

[0056]

number

[0057] This differential phase shift is a function of the angular frequency ω, as defined by Equation 14:

[0058]

number

[0059] Here, the target amplitude response is expressed as

[0060]

number

[0061]

number

[0062]

number

[0063] By normalizing the target amplitude response to 0 dB, this critical point is the parameter f, which can be the -3 dB point. c Corresponding to

[0044] .

[0064] In some embodiments, the target magnitude response may define constraints on the broadband and subband attenuation. f For all possible values ​​of , the system always behaves like a low-pass filter in the sum. This means that f This is due to the term x(t−1) not being scaled by

[0045] .

[0065] Af (x(t),β) is A b By combining (x(t),θ), it is possible to realize more adaptive constraint functions. Formally, two filters are combined as defined by Equation 17.

[0066]

number

[0067] Here, γ f : {0,1} and γ b :{0,1} are the first-order all-pass filter subsystem A f (x(t),β) and A b These parameters are the Boolean parameters that bypass γ f =γ b For the combination of the two parameter spaces, as defined by Equation 17 in the case of .times. ...

[0068] The angular frequency ω defined in equation (15) c is the critical point where the target magnitude response asymptotically approaches -∞.

[0069]

number

[0070] Here, ψ is a high-order parameter 0<θ via equation (19). bf <1 / 2 and Γ:{0.1}.

[0071]

number

[0072] Parameter θ bf is the inflection point f c This allows control of the filter characteristics for 0<θbf < 1 / 4, the characteristic is low pass, f c and the spectral slope of the target amplitude function is bf As θ increases, it smoothly interpolates from the desired low frequency to a flat state. bf If <1 / 2, then θ bf As increases, the characteristic becomes c The filter is smoothly interpolated from null flat to high pass at θ bf = 1 / 4, the target amplitude function is f c This results in pure band rejection with a null at

[0048] .

[0073] The parameter Γ is f c and θ bf is a Boolean value that places the target amplitude function, determined by, into either the sum (i.e., L+R) or difference (i.e., LR) of the two channels. The all-pass constraints on both outputs to the filter network allow the behavior of Γ to switch between complementary target amplitude responses

[0049] .

[0074] Coefficient β bf and coefficient β ab Both sets of coefficients are the final coefficients for the entire system, abf This provides the composition operation in equation (17). In coefficient space, the composition of two linear filters is equivalent to the multiplication of two polynomials. With this in mind, the coefficient β abf can be written as follows:

[0075]

number

[0076] Here, the symbol * is used to indicate multiplication of polynomial coefficients

[0050] .

[0077] In some embodiments, the system 100 uses frequency domain specifications for the all-pass filters. For example, the filter construction module 104 uses an equation in the form of Equation 9 to determine K narrowband attenuation constraints α≡α1,α2,...,α K From the vectorized target amplitude response, K phase angles θ ≡ θ1, θ2, . . . , θ K A vectorized transfer function of

[0078] The phase angle vector θ produces a finite impulse response filter as defined by Equation 21.

[0079]

number

[0080] Here, the DFT -1 denotes the inverse discrete Fourier transform and j ≡ √-1. Then, the vector B of 2(K-1) FIR filter coefficients n (θ) may be applied to x(t) as defined by Equation 22.

[0081]

number

[0082] Where:

[0083]

number

[0084] means a convolution operation

[0053] .

[0085] Although Equations 21 and 22 provide an effective means for constraining the target magnitude response, their implementation often relies on a relatively high-order FIR filter resulting from an inverse DFT operation, which may be unsuitable for resource-constrained systems. In such cases, a lower-order infinite impulse response (IIR) implementation, such as that described in connection with Equation 16, may be used.

[0086] An all-pass filter module 106 applies the all-pass filter constructed by the filter construction module 104 to the mono channel x(t) to produce an output channel y a (t) and y b The application of an all-pass filter to the channel x(t) may be performed as defined by equations 6, 11, 15 or 17. The all-pass filter module 106 applies a filter to the channel y a (t) to speaker 110a, channel y b (t) to speaker 110b, and so on, providing each output channel to a respective speaker.

[0055]

[0087] 2 is a block diagram of a computing system environment 200 according to some embodiments. The computing system 200 may include an audio system 202, which may include one or more computing devices (e.g., servers) connected to user devices 210a and 210b via a network 208. The audio system 202 provides audio content to the user devices 210a and 210b (each also referred to as a user device 210) via the network 208. The network 208 facilitates communication between the system 202 and the user devices 210. The network 208 may include various types of networks, including the Internet.

[0056]

[0088] The audio system 202 includes one or more processors 204 and a computer-readable medium 206. The one or more processors 204 execute program modules that cause the one or more processors to perform functions, such as generating multiple output channels from a mono channel. The processor 204 may include one or more central processing units (CPUs), graphics processing units (GPUs), controllers, state machines, other types of processing circuits, or one or more combinations thereof. The processor 204 may further include program modules, operating system data, local memory, among other things.

[0089] The computer readable medium 206 is a non-transitory storage medium that stores program code for the magnitude response module 102, the filter configuration module 104, the all-pass filter module 106, and the channel sum module 212. The all-pass filter module 106 is configured by the magnitude response module 102 and the filter configuration module 104 to generate multiple output channels from a mono channel. The system 202 provides multiple output channels to a user device 210a having multiple speakers 214 that render the individual output channels.

[0090] The channel sum module 212 generates a mono output channel by summing the multiple output channels generated by the all-pass filter module 106. The system 202 provides the mono output channel to a user device 210b having a single speaker 216 that renders the mono output channel. In some embodiments, the channel sum module 212 is located in the user device 210b. The audio system 202 provides the multiple output channels to the user device 210b that converts the multiple channels to a mono channel for the speaker 216. The user device 210 presents audio content to a user. The user device 210 may be a user's computing device, such as a music player, a smart speaker, a smartphone, a wearable device, a tablet, a laptop, a desktop, etc.

[0091] Processing example 3 is a flow chart of a process 300 for generating multiple channels from a mono channel according to some embodiments. The process shown in FIG. 3 may be performed by components of an audio system (e.g., system 100 or 202). In other embodiments, other entities may perform some or all of the steps in FIG. 3. Embodiments may include different and / or additional steps, or may perform the steps in a different order.

[0092] The audio system determines 305 a target amplitude response that defines one or more constraints on the sum of the multi-channels generated from the mono channel. The one or more constraints on the sum of the multi-channels may include a target broadband attenuation, a target sub-band attenuation, a critical point, or a filter characteristic. The critical point may be an inflection point at 3 dB. The filter characteristic may include one of a high-pass filter characteristic, a low-pass filter characteristic, a band-pass characteristic, or a band-reject characteristic.

[0093] The one or more constraints may be determined based on the characteristics of the presentation device (e.g., speaker frequency response, speaker location), the expected content of the audio data, the perceptual capabilities of the listener depending on the situation, or a minimum quality requirement for mono presentation compatibility. For example, if the speaker cannot reproduce frequencies below 200 Hz well, the audio system may effectively hide the attenuation region of the target amplitude response below that frequency. Similarly, if the expected audio content is speech, the audio system may select a target amplitude response that only affects frequencies other than those required for intelligibility. If the listener gets audible cues from other sources depending on the situation, such as another speaker array at the location, the audio system may determine a target amplitude response that is complementary to those concurrent cues.

[0094] The audio system determines 310 the transfer function of a single-input, multiple-output all-pass filter based on the target amplitude response. The transfer function defines the relative phase angle rotation of the output channels. The transfer function describes how the filter network affects its input to its respective output in terms of phase angle rotation as a function of frequency.

[0095] The audio system determines 315 coefficients of an all-pass filter based on a transfer function. These coefficients are selected and applied to the input audio stream in a manner that best suits the type of constraint and the chosen implementation. Some examples of coefficient sets are defined by Equations 11, 16, 18, 20, and 21. In some embodiments, determining the coefficients of the all-pass filter based on the transfer function includes using an inverse discrete Fourier transform (idft). In this case, the coefficient set may be determined as defined by Equation 21. In some embodiments, determining the coefficients of the all-pass filter based on the transfer function includes using a phase vocoder. In this case, the coefficient set may be determined as defined by Equation 21, except that the coefficients are applied in the frequency domain before resynthesizing the time domain data.

[0096] The audio system 320 processes the mono channel using coefficients of an all-pass filter to generate multiple channels. If the system is operating in the time domain using an IIR implementation such as in Equations 11, 16, 18, and 20, the coefficients may scale the appropriate feedback and feedforward delays. If an FIR implementation such as Equation 21 is used, then only the feedforward delay may be used as a result. If the coefficients are determined and applied in the frequency domain, they may be applied by complex multiplication to the spectral data before recombination. The audio system may provide multiple output channels to a presentation device, such as a user device connected to the audio system via a network. In some embodiments, if the presentation device has only a single speaker, the audio system combines the multiple channels into a mono output channel and provides the mono output channel to the presentation device.

[0097] 4A illustrates an example of a target amplitude response including a target broadband attenuation according to some embodiments. A multi-channel sum 402 generated from a mono channel and a multi-channel difference 404 are shown. A target amplitude response constraint is applied to the sum, while the difference may be adapted to preserve all-pass characteristics. In this example, the target broadband attenuation across all frequencies is −6 dB.

[0098] 4B illustrates an example of a target amplitude response including critical points according to some embodiments. A multi-channel sum 406 and a multi-channel difference 408 generated from a mono channel are shown. The critical points include a -3 dB critical point (e.g., a crossing point) at 1 kHz.

[0099] 4C illustrates an example of a target amplitude response including critical points according to some embodiments. A multi-channel sum 410 and a multi-channel difference 412 generated from a mono channel are shown. The critical points include a -∞ dB critical point (e.g., a null) at 1 kHz.

[0100] 4D illustrates an example of a target amplitude response including a critical point and a high-pass filter characteristic according to some embodiments. A multi-channel sum 414 and a multi-channel difference 416 generated from mono channels are shown. The -∞ dB critical point is at 1 kHz and there is a high-pass filter characteristic.

[0101] 4E illustrates an example of a target amplitude response including a critical point and a low pass filter characteristic according to some embodiments. A multi-channel sum 418 and a multi-channel difference 420 generated from a mono channel are shown. The -∞ dB critical point is at 1 kHz and there is a low pass filter characteristic.

[0102] 5 is a block diagram of a computer 500 according to some embodiments. The computer 500 is an example of a computing device that includes circuitry for implementing an audio system, such as the audio system 100 or 202. At least one processor 502 is shown coupled to a chipset 504. The chipset 504 includes a memory controller hub 520 and an input / output (I / O) controller hub 522. A memory 506 and a graphics adapter 512 are coupled to the memory controller hub 520, and a display device 518 is coupled to the graphics adapter 512. A storage device 508, a keyboard 510, a pointing device 514, and a network adapter 516 are coupled to the I / O controller hub 522. The computer 500 may include various types of input or output devices. Other embodiments of the computer 500 have different architectures. For example, the memory 506 is directly coupled to the processor 502 in some embodiments.

[0103] The storage device 508 includes one or more non-transitory computer-readable storage media, such as a hard drive, a compact disk read-only memory (CD-ROM), a DVD, or a solid-state memory device. The memory 506 holds program code (comprised of one or more instructions) and data used by the processor 502. The program code may correspond to the processing aspects described with reference to Figures 1 to 3.

[0104] 5. Pointing device 514 is used in combination with keyboard 510 to input data into computer system 500. Graphics adapter 512 displays images and other information on display device 518. In some embodiments, display device 518 includes a touch screen capable of accepting user inputs and selections. Network adapter 516 couples computer system 500 to a network. Some embodiments of computer 500 have different and / or other components than those shown in FIG.

[0105] The circuitry may include one or more processors executing program code stored on a non-transitory computer-readable medium, which when executed by the one or more processors configures the one or more processors to execute the audio system or modules of the audio system. Other examples of circuitry for executing an audio system or modules of an audio system may include integrated circuits such as application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), or other types of computer circuits.

[0106] Additional Considerations Examples of benefits and advantages of the disclosed configuration include dynamic audio enhancements as the enhanced audio system adapts to the device and associated audio rendering system, as well as other relevant information made available by the device OS, such as use case information (e.g., indicating that the audio signal is used for music playback rather than gaming). The enhanced audio system is integrated into the device (e.g., using a software development kit) or stored on a remote server for on-demand access. In this way, the device does not need to expend storage or processing resources on maintaining an audio enhancement system specific to its audio rendering system or audio rendering configuration. In some embodiments, the enhanced audio system allows for varying levels of querying of rendering system information so that effective audio enhancements can be applied across different levels of available device-specific rendering information.

[0107] Throughout this specification, multiple instances may implement components, operations, or structures described as a single instance. Although individual operations in one or more methods are illustrated and described as separate operations, one or more of the individual operations may be performed simultaneously, and the operations need not be performed in the order illustrated. Structures and functions shown as separate components in an illustrated configuration may be implemented as a combined structure or component. Similarly, structures and functions shown as a single component may be implemented as separate components. These and other variations, modifications, additions, and improvements are within the scope of the subject matter of this specification.

[0108] Certain embodiments are described herein as including logic or a number of components, modules, or mechanisms. A module may constitute either a software module (e.g., code embodied in a machine-readable medium or a transmission signal) or a hardware module. A hardware module is a tangible unit capable of performing a particular operation and may be configured or arranged in a particular manner. In an exemplary embodiment, one or more computer systems (e.g., standalone, client, or server computer systems), or one or more hardware modules of a computer system (e.g., a processor or processors), may be configured by software (e.g., an application or application portion) as a hardware module that operates to perform a particular operation as described herein.

[0109] Various operations of the example methods described herein may be performed, at least in part, by one or more processors that are temporarily or permanently configured (e.g., by software) to perform the associated operations. Whether temporarily or permanently configured, such processors may constitute processor-implemented modules that operate to perform one or more operations or functions. Modules referred to herein may, in some example embodiments, constitute processor-implemented modules.

[0110] Similarly, the methods described herein may be at least partially processor-implemented. For example, at least some of the operations of the methods may be performed by one or more processors or processor-implemented hardware modules. The performance of certain operations may be distributed among one or more processors and may reside within a single machine as well as spread across many machines. In some exemplary embodiments, a processor or processors may be located in a single location (e.g., in a home environment, in an office environment, or as a server farm), while in other embodiments, the processors may be distributed across many locations.

[0111] Unless otherwise noted, descriptions herein using terms such as "processing," "computing," "calculating," "determining," "presenting," "displaying," and the like, may refer to machine (e.g., computer) operations or processes. A machine manipulates or transforms data represented as physical (e.g., electronic, magnetic, or optical) quantities in one or more memories (e.g., volatile memory, non-volatile memory, or a combination thereof), registers, or other machine components that receive, store, transmit, or display information.

[0112] Any reference to "one embodiment" or "an embodiment" as used herein means that a particular element, feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. The appearances of the phrase "in one embodiment" in various places in this specification do not necessarily all refer to the same embodiment.

[0113] Some embodiments may be described using the terms "coupled" and "connected," along with their derivatives. It should be understood that these terms are not intended as synonyms for each other. For example, some embodiments may be described using the term "connected" to indicate that two or more elements are in direct physical or electrical contact with each other. In another example, some embodiments may be described using the term "coupled" to indicate that two or more elements are in direct physical or electrical contact with each other. However, the term "coupled" may also mean that two or more elements are not in direct contact with each other, but still cooperate or interact with each other. The embodiments are not limited in this context.

[0114] As used herein, the terms "comprises," "comprising," "includes," "including," "has," "having," or other variations are intended to cover non-exclusive inclusions. For example, a process, method, article, or apparatus consisting of a list of elements is not necessarily limited to only those elements and may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Furthermore, unless expressly stated to the contrary, "or" is inclusive and not exclusive. For example, condition A or condition B is satisfied by any of the following: A is true (or exists) and B is false (or does not exist), A is false (or does not exist) and B is true (or exists), and both A and B are true (or exist).

[0115] Furthermore, the use of "a" or "an" is employed to describe elements and components of the embodiments herein. This is done merely for convenience and to give a general sense of the invention. The specification should be construed to include one or at least one, unless otherwise clearly indicated, and the singular includes the plural.

[0116] Some portions of this specification describe embodiments in terms of algorithms and symbolic representations of operations on information. These algorithmic descriptions and representations are commonly used by those skilled in the data processing arts to effectively convey the substance of their work to others skilled in the art. While these operations may be described functionally, computationally, or logically, they will be understood to be implemented by computer programs or equivalent electrical circuits, microcode, or the like. Further, without loss of generality, it has proven convenient at times to refer to arrangements of these operations as modules. The described operations and their associated modules may be embodied in software, firmware, hardware, or any combination thereof.

[0117] Any step, operation, or process described herein may be performed or implemented by one or more hardware or software modules, alone or in combination with other devices. In one embodiment, the software modules are implemented by a computer program product including a computer-readable medium containing computer program code, which can be executed by a computer processor to perform any or all of the steps, operations, or processes described.

[0118] The embodiments may also relate to an apparatus for performing the operations herein. The apparatus may be specially constructed for the required purposes and / or may constitute a general-purpose computing device selectively activated or reconfigured by a computer program stored in a computer. Such a computer program may be stored in a non-transitory tangible computer-readable storage medium that may be coupled to a computer system bus, or in any type of medium suitable for storing electronic instructions. Furthermore, the computing systems referred to herein may include a single processor or may be architectures employing multi-processor designs to increase computing power.

[0119] Embodiments may also relate to products produced by the computing processes described herein. Such products may include information obtained from the computing processes, which may be stored on a non-transitory tangible computer-readable storage medium, and may include any embodiment of the computer program products or other data combinations described herein.

[0120] After reading this disclosure, those skilled in the art will appreciate further alternative structural and functional designs for systems and processes for audio content decorrelation according to the principles disclosed herein. Thus, although specific embodiments and applications have been illustrated and described, it should be understood that the disclosed embodiments are not limited to the detailed structures and components disclosed herein. Various modifications, changes and variations that will be apparent to those skilled in the art may be made in the arrangement, operation and details of the methods and apparatus disclosed herein without departing from the spirit and scope as defined in the appended claims.

[0121] Finally, the language used herein has been selected primarily for purposes of readability and explanation, and not to define the boundaries or contours of the patent. Accordingly, the scope of the patent is not intended to be limited by this detailed description, but rather by the claims that issue based on this application. Thus, the disclosure of the embodiments is intended to illustrate, but not to limit, the scope of the patent, which is defined in the following claims.

Claims

1. 1. A system for generating multiple channels from a mono channel, comprising: one or more computing devices, the computing devices comprising: determining a target magnitude response defining one or more constraints on a sum of the plurality of channels, the target magnitude response being defined by a relationship between an amplitude value of the sum and a frequency value of the sum; determining a transfer function of a single-input multiple-output all-pass filter based on the target magnitude response; determining coefficients of the all-pass filter based on the transfer function; and processing the mono channel with the coefficients of the all-pass filter to generate the plurality of channels; A system configured as follows.

2. The system of claim 1 , wherein the one or more constraints include a target broadband attenuation for the sum of the plurality of channels.

3. The system of claim 1 , wherein the one or more constraints include a target subband attenuation for the sum of the multiple channels.

4. The system of claim 1 , wherein the one or more constraints include a critical point that defines a curvature of the target magnitude response.

5. The system of claim 4 , wherein the critical point defines a frequency at which the target amplitude response is −3 dB.

6. The system of claim 4 , wherein the critical point defines a frequency at which the target amplitude response is −∞ dB.

7. The system of claim 1 , wherein the one or more constraints include a filter characteristic in the sum of the multiple channels.

8. The filter characteristics are High pass filter characteristics, Low pass filter characteristics, Bandpass filter characteristics, or Band Rejection Filter Characteristics The system of claim 7 , comprising one of:

9. The system of claim 1 , wherein the one or more constraints include critical points and filter characteristics.

10. The system of claim 1 , wherein the one or more constraints include a target broadband attenuation, a critical point, and a filter characteristic.

11. 2. The system of claim 1, wherein the one or more computing devices configured to determine coefficients of the all-pass filter based on the transfer function comprise the one or more computing devices configured to use an inverse discrete Fourier transform (idft).

12. 2. The system of claim 1, wherein the one or more computing devices configured to determine coefficients of the all-pass filter based on the transfer function comprise the one or more computing devices configured to use a phase vocoder.

13. 2. The system of claim 1, wherein the transfer function defines a rotation of a first phase angle of a first channel in the plurality of channels relative to a second phase angle of a second channel in the plurality of channels.

14. The system of claim 1 , wherein the one or more computing devices are further configured to combine the multiple channels into a mono output channel.

15. The system of claim 1 , wherein the one or more computing devices are further configured to provide the plurality of channels to a user device over a network.

16. 1. A method for generating multiple channels from a mono channel, comprising the steps of: By circuit, determining a target magnitude response defining one or more constraints on a sum of the plurality of channels, the target magnitude response being defined by a relationship between an amplitude value of the sum and a frequency value of the sum; determining a transfer function of a single-input multiple-output all-pass filter based on the target magnitude response; determining coefficients of the all-pass filter based on the transfer function; and processing the mono channel with the coefficients of the allpass filter to generate the plurality of channels; A method comprising:

17. The method of claim 16 , wherein the one or more constraints include a target broadband attenuation for the sum of the plurality of channels.

18. The method of claim 16 , wherein the one or more constraints include a target subband attenuation for the sum of the multiple channels.

19. The method of claim 16 , wherein the one or more constraints include critical points that define a curvature of the target magnitude response.

20. The method of claim 19, wherein the critical point defines a frequency at which the target amplitude response is −3 dB.

21. The method of claim 19, wherein the critical point defines a frequency at which the target amplitude response is −∞ dB.

22. The method of claim 16 , wherein the one or more constraints include a filter characteristic in the sum of the multiple channels.

23. The filter characteristics are High pass filter characteristics, Low pass filter characteristics, Bandpass filter characteristics, or Band Rejection Filter Characteristics 23. The method of claim 22, comprising one of:

24. The method of claim 16 , wherein the one or more constraints include critical points and filter characteristics.

25. The method of claim 16 , wherein the one or more constraints include a target broadband attenuation, a critical point, and a filter characteristic.

26. 17. The method of claim 16, wherein determining coefficients of the all-pass filter based on the transfer function includes using an inverse discrete Fourier transform (idft).

27. The method of claim 16 , wherein determining coefficients of the all-pass filter based on the transfer function includes using a phase vocoder.

28. 17. The method of claim 16, wherein the transfer function defines a rotation of a first phase angle of a first channel in the plurality of channels relative to a second phase angle of a second channel in the plurality of channels.

29. The method of claim 16 , further comprising combining, by the circuitry, the multiple channels into a mono output channel.

30. The method of claim 16 , further comprising providing, by the circuitry, the plurality of channels to a user device over a network.

31. 1. A non-transitory computer readable medium having stored thereon instructions for generating multiple channels from a mono channel, the instructions, when executed by at least one processor, causing the at least one processor to: determining a target magnitude response defining one or more constraints on a sum of the plurality of channels, the target magnitude response being defined by a relationship between an amplitude value of the sum and a frequency value of the sum; determining a transfer function of a single-input multiple-output all-pass filter based on the target magnitude response; determining coefficients of the all-pass filter based on the transfer function; and processing the mono channel with the coefficients of the all-pass filter to generate the plurality of channels; A non-transitory computer-readable medium that operates to:

32. 32. The non-transitory computer-readable medium of claim 31, wherein the one or more constraints include a target broadband attenuation for the sum of the plurality of channels.

33. 32. The non-transitory computer-readable medium of claim 31 , wherein the one or more constraints include a target subband attenuation for the sum of the multiple channels.

34. 32. The non-transitory computer-readable medium of claim 31 , wherein the one or more constraints include a critical point that defines a curvature of the target magnitude response.

35. 35. The non-transitory computer readable medium of claim 34, wherein the critical point defines a frequency at which the target amplitude response is -3 dB.

36. 35. The non-transitory computer readable medium of claim 34, wherein the critical point defines a frequency at which the target amplitude response is −∞ dB.

37. 32. The non-transitory computer-readable medium of claim 31, wherein the one or more constraints include a filter characteristic in the sum of the multiple channels.

38. The filter characteristics are High pass filter characteristics, Low pass filter characteristics, Bandpass filter characteristics, or Band Rejection Filter Characteristics 40. The non-transitory computer readable medium of claim 37, comprising one of:

39. 32. The non-transitory computer-readable medium of claim 31, wherein the one or more constraints include critical points and filter characteristics.

40. 32. The non-transitory computer-readable medium of claim 31, wherein the one or more constraints include a target broadband attenuation, a critical point, and a filter characteristic.

41. 32. The non-transitory computer-readable medium of claim 31 , wherein the instructions operating the at least one processor to determine coefficients of the all-pass filter based on the transfer function operate the at least one processor to use an inverse discrete Fourier transform (idft).

42. 32. The non-transitory computer-readable medium of claim 31 , wherein the instructions to operate the at least one processor to determine coefficients of the all-pass filter based on the transfer function operate the at least one processor to use a phase vocoder.

43. 32. The non-transitory computer readable medium of claim 31 , wherein the transfer function defines a rotation of a first phase angle of a first channel in the multiple channels relative to a second phase angle of a second channel in the multiple channels.

44. 32. The non-transitory computer-readable medium of claim 31, wherein the instructions further operate the at least one processor to combine the multiple channels into a mono output channel.

45. 32. The non-transitory computer-readable medium of claim 31, wherein the instructions further operate the at least one processor to provide the plurality of channels to a user device over a network.

Citation Information

Patent Citations

  • JP1974042723U

  • Acoustic reproducing device

    JP1999289598A

  • Mono-stereo conversion device, audio reproduction system using such device, and mono-stereo conversion method

    JP2000504526A

  • Nonlinear Adaptive Filterbanks for Psychoacoustic Frequency Range Extension

    US20210044898A1

  • A mono-stereo conversion device, an audio reproduction system using such a device and a mono-stereo conversion method

    WO1998023131A1