Patent Description:
Advances in technology have resulted in smaller and more powerful computing devices. For example, there currently exist a variety of portable personal computing devices, including wireless telephones such as mobile and smart phones, tablets and laptop computers that are small, lightweight, and easily carried by users. These devices can communicate voice and data packets over wireless networks. Further, many such devices incorporate additional functionality such as a digital still camera, a digital video camera, a digital recorder, and an audio file player. Also, such devices can process executable instructions, including software applications, such as a web browser application, that can be used to access the Internet. As such, these devices can include significant computing capabilities.

The computing capabilities include processing ambisonic coefficients. Ambisonic signals represented by ambisonic coefficients is a three-dimensional representation of a soundfield. The ambisonic signal, or ambisonic coefficient representation of the ambisonic signal, may represent the soundfield in a manner that is independent of local speaker geometry used to playback a multi-channel audio signal rendered from the ambisonic signal.

<CIT> discloses a method for rendering a higher order ambisonics signal, wherein matrix decomposition of the HOA coefficients may be performed using DNN. <CIT> discloses determining the principal component matrix of higher-order Ambisonic audio based on principal component analysis PCA; training LSTM predictors for long-term and short-term memory networks based on the principal component matrices of high-order Ambisonic audio and high-order Ambisonic audio to obtain LSTM predictor parameters; predicting high-order Ambisonic audio based on the trained LSTM predictor to obtain prediction results; determining audio residuals based on higher-order Ambisonic audio, principal component matrix, and prediction results; and encoding the high-order Ambisonic audio according to the principal component matrix, LSTM predictor parameters, and audio residuals to obtain an encoded high-order Ambisonic audio.

A device includes a memory configured to store untransformed ambisonic coefficients at different time segments. The device also includes one or more processors configured to obtain the untransformed ambisonic coefficients at the different time segments, where the untransformed ambisonic coefficients at the different time segments represent a soundfield at the different time segments. The one or more processors are also configured to apply one adaptive network, based on a constraint, to the untransformed ambisonic coefficients at the different time segments to generate transformed ambisonic coefficients at the different time segments, wherein the transformed ambisonic coefficients at the different time segments represent a modified soundfield at the different time segments, that was modified based on the constraint.

Aspects, advantages, and features of the present disclosure will become apparent after review of the entire application, including the following sections: Brief Description of the Drawings, Detailed Description, and the Claims.

Audio signals including speech may in some cases be degraded in quality because of interference from another source. The interference may be in the form of physical obstacles, other signals, additive white Gaussian noise (AWGN), or the like. One challenge to removing the interference is when the interference and desired audio signal comes from the same direction. Aspects of the present disclosure relate to techniques for removing the effects of this interference (e.g., to provide for a clean estimate of the original audio signal) in the presence of noise when both the noise and audio signal are traveling in a similar direction. By way of example, the described techniques may provide for using a directionality and/or signal type associated with the source as factors in generating the clean audio signal estimate. Other aspects of the present disclosure relate to transforming ambisonic representations of a soundfield that initially include multiple audio sources to ambisonic representations of a soundfield that eliminate audio sources outside of certain directions.

Ambisonic coefficients represent the entire soundfield; however, it is sometimes desired to spatially filter different audio sources. By way of example, the adaptive network described herein may perform the function of spatial filtering by passing through desired spatial directions and suppressing audio sources from other spatial directions. Moreover, unlike a traditional beamformer which is limited to improving the signal-to-noise ratio (SNR) of an audio signal by 3dB, the adaptive network described herein improves the SNR by at least an order of magnitude more (i.e., 30dB). In addition, the adaptive network described herein may preserve the audio characteristics of the passed through audio signal. Traditional signal processing techniques may pass through the audio signal in the desired direction; however, they may not preserve certain audio characteristics, e.g., the amount of reverberation or other transitory audio characteristics that tend to change in time. In addition, the adaptive network described herein may transform ambisonic coefficients in an encoding device or a decoding device.

Consumer audio that uses spatial coding using channel-based surround sound is played through loudspeakers at pre-specified positions. Another approach to spatial audio coding is object-based audio, which involves discrete pulse-code-modulation (PCM) data for single audio objects with associated metadata containing location coordinates of the objects in space (amongst other information). A further approach to spatial audio coding (e.g., to surround-sound coding) is scene-based audio, which involves representing the soundfield using ambisonic coefficients. Ambisonic coefficients have hierarchical basis functions, e.g., spherical harmonic basis functions.

By way of example, the soundfield may be represented in terms of ambisonic coefficients using an expression such as the following: <MAT> This expression shows that the pressure pi at any point {rr, θr, ϕr} of the soundfield can be represented uniquely by the ambisonic coefficient <MAT>. Here, the wavenumber k = <MAT>, c is the speed of sound (~<NUM>/s), {rr, θr, ϕr} is a point of reference (or observation point), jn(·) is the spherical Bessel function of order n, and <MAT> are the spherical harmonic basis functions of order n and suborder m (some descriptions of ambisonic coefficients represent n as degree (i.e. of the corresponding Legendre polynomial) and m as order). It can be recognized that the term in square brackets is a frequency-domain representation of the signal (i.e., S(ω, rr, θr, ϕr)) which can be approximated by various time-frequency transformations, such as the discrete Fourier transform (DFT), the discrete cosine transform (DCT), or a wavelet transform.

<FIG> illustrates an exemplary set of ambisonic coefficients of up to <NUM>th order (n=<NUM>). <FIG> also illustrates different exemplary microphone devices (102a, 102b, 102c) that may be used to capture soundfields represented by ambisonic coefficients. The microphone device 102B may be designed to directly output channels that include the ambisonic coefficients. Alternatively, the output channels of the microphone devices 102a, and 102c may be coupled to a multi-channel audio converter that converts multi-channel audio into an ambisonic audio representation.

The total number of ambisonic coefficients used to represent a soundfield may depend on various factors. For scene-based audio, for example, the total number of number of ambisonic coefficients may be constrained by the number of microphone transducers in the microphone device 102a, 102b, 102c. The total number of ambisonic coefficients may also be determined by the available storage bandwidth or transmission bandwidth. In one example, a fourth-order representation involving <NUM> coefficients (i.e., <NUM> ≤ n ≤ <NUM>, -n ≤ m ≤ +n) for each frequency is used. Other examples of hierarchical sets that may be used with the approach described herein include sets of wavelet transform coefficients and other sets of coefficients of multiresolution basis functions.

The ambisonic coefficient <MAT> may be derived from signals that are physically acquired (e.g., recorded) using any of various microphone array configurations, such as a tetrahedral 102b, spherical microphone array 102a or other microphone arrangement 102c. Ambisonic coefficient input of this form represents scene-based audio. In a non-limiting example, the inputs into the adaptive network <NUM> are the different output channels of a microphone array 102b, which is a tetrahedral microphone array. One example of a tetrahedral microphone array may be used to capture first order ambisonic (FOA) coefficients. Another example of a microphone array may be different microphone arrangements, where after an audio signal is captured by the microphone array the output of the microphone array is used to produce a representation of a soundfield using ambisonic coefficients. For example, "Ambisonic Signal Generation for Microphone Arrays", patent no. <CIT> (assigned to Qualcomm Incorporated) is directed at a processor configured to perform signal processing operations on signals captured by each microphone array, and perform a first directivity adjustment by applying a first set of multiplicative factors to the signals to generate a first set of ambisonic signals, the first set of multiplicative factors determined based on a position of each microphone in the microphone array, an orientation of each microphone in the microphone array, or both.

In another non-limiting example, the different output channels of the microphone array 102a may be converted into ambisonic coefficients by an ambisonics converter. For example, the microphone array may be a spherical array, such as an EigenmikeR (mh acoustics LLC, San Francisco, CA). One example of an EigenmikeR array is the em32 array, which includes <NUM> microphones arranged on the surface of a sphere of diameter <NUM> centimeters, such that each of the output signals pi(t), i = <NUM> to <NUM>, is the pressure recorded at time sample t by microphone i.

In addition, or alternatively, the ambisonic coefficient <MAT> may be derived from channel-based or object-based descriptions of the soundfield. For example, the coefficients <MAT> for the soundfield corresponding to an individual audio source may be expressed as <MAT> where i is <MAT> is the spherical Hankel function (of the second kind) of order n, {rs, θs, ϕs} is the location of the audio source, and g(ω) is the source energy as a function of frequency. It should be noted that an audio source in this context may represent an audio object, e.g., a person speaking, a dog barking, the a car driving by. An audio source may also represent these three audio objects at once, e.g., there is one audio source (like a recording) where there is a person speaking ,a dog barking or a car driving by. In such a case, the {rs, θs, ϕs} location of the audio source may be represented as a radius to the origin of the coordinate system, azimuth angle, and elevation angle. Unless otherwise expressed, audio object and audio source is used interchangeable throughout this disclosure.

Knowing the source energy g(ω) as a function of frequency allows us to convert each PCM object and its location into the ambisonic coefficient <MAT>. This source energy may be obtained, for example, using time-frequency analysis techniques, such as by performing a fast Fourier transform (e.g., a <NUM>-, -<NUM>-, or <NUM>- point FFT) on the PCM stream. Further, it can be shown (since the above is a linear and orthogonal decomposition) that the <MAT> coefficients for each object are additive. In this manner, a multitude of PCM objects can be represented by the <MAT> coefficients (e.g., as a sum of the coefficient vectors for the individual audio sources). Essentially, these coefficients contain information about the soundfield (the pressure as a function of 3D coordinates), and the above represents the transformation from individual objects to a representation of the overall soundfield, in the vicinity of the observation point {rr, θr, ϕr}.

One of skill in the art will recognize that representations of ambisonic coefficients <MAT> (or, equivalently, of corresponding time-domain coefficients <MAT>) other than the representation shown in expression (<NUM>) may be used, such as representations that do not include the radial component. One of skill in the art will recognize that several slightly different definitions of spherical harmonic basis functions are known (e.g., real, complex, normalized (e.g., N3D), semi-normalized (e.g., SN3D), Furse-Malham (FuMa or FMH), etc.), and consequently that expression (<NUM>) (i.e., spherical harmonic decomposition of a soundfield) and expression (<NUM>) (i.e., spherical harmonic decomposition of a soundfield produced by a point source) may appear in the literature in slightly different form. The present description is not limited to any particular form of the spherical harmonic basis functions and indeed is generally applicable to other hierarchical sets of elements as well.

Different encoding and decoding processes exist with a scene-based approach. Such encoding may include one or more lossy or lossless coding techniques for bandwidth compression, such as quantization (e.g., into one or more codebook indices), redundancy coding, etc. Additionally, or alternatively, such encoding may include encoding audio channels (e.g., microphone outputs) into an Ambisonic format, such as B-format, G-format, or Higher-order Ambisonics (HOA). HOA is decoded using the MPEG-H 3D Audio decoder which may decompress ambisonic coefficients encoded with a spatial ambisonic encoder.

As an illustrative example, the microphone device 102a, 102b may operate within an environment (e.g., a kitchen, a restaurant, a gym, a car) that may include a plurality of auditory sources (e.g., other speakers, background noise). In such cases, the microphone device 102a, 102b, 102c may be directed (e.g., manually by a user of the device, automatically by another component of the device) towards target audio source in order to receive a target audio signal (e.g., audio or speech). In some cases, the microphone device 102a, 102b, 102c orientation may be adjusted. In some examples, audio interference sources may block or add noise to the target audio signal. It may be desirable to remove or attenuate the interference(s). The attenuation of the interference(s) may be achieved at least in part on a directionality associated with target audio source, a type of the target audio signal (e.g., speech, music, etc.), or a combination thereof.

Beamformers may be implemented with traditional signal processing techniques in either the time domain or spatial frequency domain to reduce the interference for the target audio signal. When the target audio signal is represented using an ambisonic representation, other filtering techniques may be used such as eigen-value decomposition, singular value decomposition, or principal component analysis. However, the above mentioned filtering techniques are computationally expensive and may consume unnecessary power. Moreover, with different form factors and microphone placements, the filters have to be tuned for each device and configuration.

In contrast, the techniques described in this disclosure offer a robust way to filter out the undesired interferences by transforming or manipulating ambisonic coefficient representation using an adaptive network.

Current commercial tools exist today to manipulate ambisonic coefficients. For example, the Facebook <NUM> Spatial Workstation software suite which includes the FB360 Spatializer audio plugin. Another example is AudioEase <NUM> pan suite. However, these commercial tools require manual editing of audio files or formats to produce a desired change in a soundfield. In contrast, techniques described in this disclosure may not require manual editing of a file, or format in the inferencing stage after training an adaptive network.

Additional context to the solutions will be described with reference to the Figures and in the detailed description below.

The described techniques may apply to different target signal types (e.g., speech, music, engine noise, animal sounds, etc.). For example, each such target signal type may be associated with a given distribution function (e.g., which may be learned by a given device in accordance with aspects of the present disclosure). The learned distribution function may be used in conjunction with a directionality of the source signal (e.g., which may be based at least in part on a physical arrangement of microphones within the device) to generate the clean signal audio estimate. Thus, the described techniques generally provide for the use of a spatial constraint and/or target distribution function (each of which may be determined based at least in part on an adaptive network (e.g., trained recurrent neural network) to generate the clean signal audio estimate.

Particular implementations of the present disclosure are described below with reference to the drawings. In the description, common features are designated by common reference numbers throughout the drawings. As used herein, various terminology is used for the purpose of describing particular implementations only and is not intended to be limiting. For example, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It may be further understood that the terms "comprise," "comprises," and "comprising" may be used interchangeably with "include," "includes," or "including. " Additionally, it will be understood that the term "wherein" may be used interchangeably with "where. " As used herein, "exemplary" may indicate an example, an implementation, and/or an aspect, and should not be construed as limiting or as indicating a preference or a preferred implementation. As used herein, an ordinal term (e.g., "first," "second," "third," etc.) used to modify an element, such as a structure, a component, an operation, etc., does not by itself indicate any priority or order of the element with respect to another element, but rather merely distinguishes the element from another element having a same name (but for use of the ordinal term). As used herein, the term "set" refers to a grouping of one or more elements, and the term "plurality" refers to multiple elements.

As used herein, "coupled" may include "communicatively coupled," "electrically coupled," or "physically coupled," and may also (or alternatively) include any combinations thereof. Two devices (or components) may be coupled (e.g., communicatively coupled, electrically coupled, or physically coupled) directly or indirectly via one or more other devices, components, wires, buses, networks (e.g., a wired network, a wireless network, or a combination thereof), etc. Two devices (or components) that are electrically coupled may be included in the same device or in different devices and may be connected via electronics, one or more connectors, or inductive coupling, as illustrative, non-limiting examples. In some implementations, two devices (or components) that are communicatively coupled, such as in electrical communication, may send and receive electrical signals (digital signals or analog signals) directly or indirectly, such as via one or more wires, buses, networks, etc. As used herein, "directly coupled" may include two devices that are coupled (e.g., communicatively coupled, electrically coupled, or physically coupled) without intervening components.

As used herein, "integrated" may include "manufactured or sold with". A device may be integrated if a user buys a package that bundles or includes the device as part of the package. In some descriptions, two devices may be coupled, but not necessarily integrated (e.g., different peripheral devices may not be integrated to a device <NUM>. <NUM>, but still may be "coupled"). Another example may be the any of the transmitter, receiver or antennas described herein that may be "coupled" to one or more processor(s) <NUM>, <NUM>, but not necessarily part of the package that includes the device <NUM>, <NUM>. Yet another example, that the microphone(s) <NUM> may not be "integrated" to the ambisonic coefficients buffer <NUM> but may be "coupled". Other examples may be inferred from the context disclosed herein, including this paragraph, when using the term "integrated".

As used herein, "connectivity" or "wireless link" between devices may be based on various wireless technologies, such as Bluetooth, Wireless-Fidelity (Wi-Fi) or variants of Wi-Fi (e.g., Wi-Fi Direct. Devices may be "wirelessly connected" based on different cellular communication systems, such as, 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, <NUM>, C-V2X or some other wireless system. A CDMA system may implement Wideband CDMA (WCDMA), CDMA 1X, Evolution-Data Optimized (EVDO), Time Division Synchronous CDMA (TD-SCDMA), or some other version of CDMA. In addition, when two devices are within line of sight, a "connectivity" may also be based on other wireless technologies, such as ultrasound, infrared, pulse radio frequency electromagnetic energy, structured light, or directional of arrival techniques used in signal processing (e.g., audio signal processing or radio frequency processing).

As used herein "inference" or "inferencing" refers to when the adaptive network has learned or converged its weights based on a constraint and is making an inference or prediction based on untransformed ambisonic coefficients. An inference does not include a computation of the error between the untransformed ambisonic coefficients and transformed ambisonic coefficients and update of the weights of the adaptive network. During learning or training, the adaptive network learned how to perform a task or series of tasks. During the inference stage, after the learning or training, the adaptive network performs the task or series of tasks that it learned.

As used herein "meta-learning" refers to refinement learning after there is already convergence of the weights of the adaptive network. For example, after general training and general optimization, further refinement learning may be performed for a specific user, so that the weights of the adaptive network can adapt to the specific user. Meta-learning with refinement is not just limited to a specific user. For example, for a specific rendering scenario with local reverberation characteristics, the weights may be refined to adapt to perform better for the local reverberation characteristics.

As used herein A "and/or" B may mean that either "A and B", or "A or B", or both "A and B" and "A or B" are applicable or acceptable.

In associated descriptions of <FIG> constraint blocks are drawn using dashed lines to designate a training phase. Other dashed lines are used around other blocks in <FIG>, <FIG>, <FIG>, <FIG>, <FIG> to designate that the blocks may be optional depending on the context and/or application. If a block is drawn with a solid line but is located within a block with a dashed line, the block with a dashed line along with the blocks within the solid line may be optional depending on the context and/or application.

Referring to <FIG>, a particular illustrative example of a system operable to perform adaptive learning of weights of an adaptive network <NUM> with a constraint <NUM> and target ambisonic coefficients <NUM>, in accordance with some examples of the present disclosure is illustrated. In the example illustrated in <FIG>, processor(s) <NUM> includes an adaptive network <NUM>, to perform the signal processing on the ambisonic coefficients that are stored in the ambisonic coefficients buffer <NUM>. The ambisonic coefficients in the ambisonic coefficients buffer <NUM>, may also be included in the processor(s) <NUM> in some implementations. In other implementations, the ambisonic coefficients buffer may be located outside of the processor(s) <NUM> or may be located on another device (not illustrated). The ambisonic coefficients in the ambisonic coefficients buffer <NUM> may be transformed by the adaptive network <NUM> via the inference stage after learning the weights of the adaptive network <NUM>, resulting in transformed ambisonic coefficients <NUM>. The adaptive network <NUM> and ambisonic coefficients buffer <NUM> may be coupled together to form an ambisonic coefficient adaptive transformer <NUM>.

In one embodiment, the adaptive network <NUM> may use a contextual input, e.g., a constraint <NUM> and target ambisonic coefficients <NUM> output of a constraint block <NUM> may aid the adaptive network <NUM> to adapt its weights such that the untransformed ambisonic coefficients become transformed ambisonic coefficients <NUM> after the weights of the adaptive network <NUM> have converged. It should be understood that using the ambisonic coefficients buffer <NUM> may store ambisonic coefficients that were captured with a microphone array <NUM> directly, or that were derived depending on the type of the microphone array <NUM>. The ambisonic coefficients buffer <NUM> may also store synthesized ambisonic coefficients, or ambisonic coefficients that were converted from a multi-channel audio signal that was either in a channel audio format or object audio format. Moreover, once the adaptive network <NUM> has been trained and the weights of the adaptive network <NUM> have converged the constraint block <NUM> may be optionally located within the processor(s) <NUM> for continued adaptation or learning of the weights of the device <NUM>. In a different embodiment, the constraint block <NUM> may no longer required once the weights have converged. Including the constraint block <NUM> once the weights are trained may take up unnecessary space, thus it may be optionally included in the device <NUM>. In another embodiment, the constraint block <NUM> may be included on a server (not shown) and processed offline and the converged weights of the adaptive network <NUM> may be updated after the device <NUM> has been operating, e.g., the weights may be updated over-the-air wirelessly.

The renderer <NUM> which may also be included in the processor(s) <NUM> may render the transformed ambisonic coefficients output by the adaptive network <NUM>. The renderer <NUM> output may be provided to an error measurer <NUM>. The error measurer <NUM> may be optionally located in the device <NUM>. Alternatively, the error measurer <NUM> may be located outside of the device <NUM>. In one embodiment, the error measurer <NUM> whether located on the device <NUM> or outside the device <NUM> may be configured to compare a multi-channel audio signal with the rendered transformed ambisonic coefficients.

In addition, or alternatively, there may be a test renderer <NUM> optionally included in the device <NUM>, or in some implementations outside of device <NUM> (not illustrated), where the test renderer renders ambisonic coefficients that may be optionally output form the microphone array <NUM>. In other implementations, the untransformed ambisonic coefficients that are stored in the ambisonic coefficients buffer <NUM> may be rendered by the test renderer <NUM> and the output may be sent to the error measure <NUM>.

In another embodiment, neither the test renderer <NUM>, nor the renderer <NUM> outputs are sent to the error measurer <NUM>, rather the untransformed ambisonic coefficients are compared with a version of the transformed ambisonic coefficients <NUM> where the weights of the adaptive network <NUM> have not yet converged. That is to say, the error between the transformed ambisonic coefficients <NUM> and the untransformed ambisonic coefficients is such that the transformed ambisonic coefficients <NUM> for the constraint that includes the target ambisonic coefficient is still outside of an acceptable error threshold, i.e., not stable.

The error between the untransformed ambisonic coefficients and the transformed coefficients <NUM> may be used to update the weights of the adaptive network <NUM>, such that future versions of the transformed ambisonic coefficients226 are closer to a final version of transformed ambisonic coefficients. Over time, as different input audio sources are presented at different directions, and/or sound levels are used to train the adaptive network <NUM> the error between the untransformed ambisonic coefficients and versions of the transformed coefficients becomes smaller, until the weights of the adaptive network <NUM> converge when the error between the untransformed ambisonic coefficients and transformed ambisonic coefficients <NUM> is stable.

If the error measurer <NUM> is comparing rendered untransformed ambisonic coefficients and rendered versions of the transformed ambisonic coefficients <NUM> the process described is the same, except in a different domain. For example, the error between the rendered untransformed ambisonic coefficients and the rendered transformed coefficients may be used to update the weights of the adaptive network <NUM>, such that future versions of the rendered transformed ambisonic coefficients they are closer to a final version of rendered transformed ambisonic coefficients. Over time, as different input audio sources are presented at different directions and/or sound levels are used to train the adaptive network <NUM> the error between the rendered untransformed ambisonic coefficients and versions of the rendered transformed coefficients becomes smaller, until the weights of the adaptive network <NUM> converge when the error between the rendered untransformed ambisonic coefficients and rendered transformed coefficients is stable.

The constraint block <NUM> may include different blocks. Example of which type of different blocks may be included in the constraint block <NUM> are described herein.

Referring to <FIG>, a particular illustrative example of a system operable to perform an inference and/or adaptive learning of weights of an adaptive network with a constraint and target ambisonic coefficients, wherein a constraint includes a direction, in accordance with some examples of the present disclosure, is illustrated. A direction may be represented in a three-dimensional coordinate system with an azimuth angle and elevation angle.

In an embodiment, a multi-channel audio signal may be output by the microphone array <NUM> or synthesized previously (e.g., a song that is stored or audio recording that is created by a content creator, or user of the device <NUM>) that includes a first audio source at a fixed angle. The multi-channel audio signal may include more than one audio source, i.e., there may be a first audio source, a second audio source, a third audio source, or additional audio sources. The different audio sources <NUM> which may include the first audio source, the second audio source, the third audio source, or additional audio sources may be placed at different audio directions <NUM> during the training of the adaptive network <NUM>. The input into the adaptive network <NUM> may include untransformed ambisonic coefficients which may directly output from the microphone array <NUM> or may be synthesized by a content creator prior to training, e.g., a song or recording may be stored in an ambisonics format and the untransformed ambisonic coefficients may be stored or derived from the ambisonics format. The untransformed ambisonic coefficients may also be output of an ambisonics converter 212a coupled to the microphone array <NUM> if the microphone array does not necessarily output the untransformed ambisonic coefficients.

As discussed above, the adaptive network <NUM> may also have as an input a target or desired set of ambisonic coefficients that is included with the constraint <NUM>, e.g., the constraint 260a. The target or desired set of ambisonic coefficients may be generated with an ambisonics converter 212a in the constraint block 236b. The target or desired set of ambisonic coefficients may also be stored in a memory (e.g., in another part of the ambisonic coefficients buffer or in a different memory). Alternatively, specific directions and audio sources may be captured by the microphone array <NUM> or synthesized, and the adaptive network <NUM> may be limited to learning weights that perform spatially filtering for those specific directions.

Moreover, the constraint 260a may include a label that represents the constraint 260a or is associated with the constraint 260a. For example, if the adaptive network <NUM> is being trained with the direction <NUM> degrees, there may be a value of <NUM>, or a range of values where <NUM> lies. For example, if the resolution of the spatial constraint is <NUM> degrees apart (<NUM>/<NUM>) = <NUM> range of values may be represented. If the spatial constraint is <NUM> degrees apparat (<NUM>/<NUM>) =<NUM> range of values may be represented. Thus, a label may be the binary value of where <NUM> lies in the range of values. For example, if <NUM> to <NUM> degrees is the <NUM>th value range when the resolution is <NUM> degrees, then <NUM> lies in the <NUM>th value range which spans <NUM>-<NUM> degrees. For this case, the label may be represented by the binary value of <NUM> = <NUM>. In another example, if <NUM> to <NUM> degrees is the <NUM>th value range when the resolution is <NUM> degrees, then <NUM> lies in the <NUM>th value range which spans <NUM>-<NUM> degrees. For this case, the label may have the binary value of <NUM> = <NUM>. If there are two angles (e.g., where the direction is represented in a three-dimensional coordinate system), the label may concatenate the two angles to the untransformed ambisonic coefficients. The resolution of the angles learned does not necessarily have to be the same. For example, one angle(i.e., the elevation angle) may have a resolution of <NUM> degrees, and the other angle (i.e., the azimuth angle) may have a resolution of <NUM> degrees. The label may be associated with the target or desired ambisonic coefficients. The label may be a fixed number that may serve as an input during the training and/or inference operation of the adaptive network <NUM> to output transformed ambisonic coefficients <NUM> when the adaptive network <NUM> receives the untransformed coefficients from the ambisonic coefficients buffer <NUM>.

In an illustrative example, the adaptive network <NUM> initially adapts its weights to perform a task based on a constraint (e.g., the constraint 260a). The task includes preserving the direction (e.g., angles) <NUM> of an audio source(e.g., a first audio source). The adaptive network <NUM> has a target direction (e.g., an angle) within some range, e.g., <NUM>-<NUM> degrees from an origin of a coordinate system.

The coordinate system may be with respect to a room, a corner or center of the room may serve as the origin of the coordinate system. In addition, or alternatively, the coordinate system may be with respect to the microphone array <NUM> (if there is one, or where it may be located). Alternatively, the coordinate system may be with respect to the device <NUM>. In addition, or alternatively, the coordinate system may be with respect to a user of the device (e.g., there may a wireless link between the device <NUM> and another device (e.g., a headset worn by the user) or cameras or sensors located on the device <NUM> to locate where the user is relative to the device <NUM>. In an embodiment, the user may be wearing the device <NUM> if for example the device <NUM> is a headset (e.g., a virtual reality headset, augmented reality headset, audio headset, or glasses). In a different embodiment, the device <NUM> may be integrated into part of a vehicle and the location of the user in the vehicle may be used as the origin of the coordinate system. Alternatively, a different point in the vehicle may also serve as the origin of the coordinate system. In each of these examples, the first audio source "a" may be located at a specific angle, which is also represented as a direction relative to a fixed point such as the origin of the coordinate system.

In one example, the task to preserve the direction 246of the first audio source, spatially filters out other audio sources (e.g., the second audio source, the third audio source and/or additional audio sources) or noise outside of the target direction within some range, e.g., <NUM>-<NUM> degrees. As such, if the first audio source is located at a fixed direction of <NUM> degrees, then the adaptive network <NUM> may filter out audio sources and/or noise outside of <NUM> degrees +/- <NUM> degrees to <NUM> degrees, i.e., [<NUM> -<NUM> degrees to <NUM>-<NUM> degrees]. Thus, the error measurer <NUM> may produce an error that is minimized until the output of the adaptive network <NUM> are transformed ambisonic coefficients <NUM> that represent a soundfield that includes the target signal of a first audio source "a" located at a fixed angle (e.g., <NUM> degrees, <NUM> degrees, <NUM> degrees, or any degree between <NUM> and <NUM> degrees in a coordinate system relative to at least one fixed axis).

In a three-dimensional coordinate system, there may be two fixed angles (sometimes referred to as an elevation angle and an azimuth angle) where one angle is relative to the x-z plane in a reference coordinate system (e.g., the x-z plane of the device <NUM>, or a side of the room, or side of the vehicle, or the microphone array <NUM>), and the other axis is in the z-y plane of a reference coordinate system (e.g., the y-z plane of the device <NUM>, or a side of the room, or side of the vehicle, or the microphone array <NUM>). What side is called the x-axis, y-axis, and z-axis may vary depending on an application. However, one example is to consider the center of a microphone array and an audio source traveling directly in front of the microphone array towards the center may be considered to be coming from a y-direction in the x-y plane. If the audio source is arriving from the top (however that is defined) of the microphone array the top may be considered the z-direction, and the audio source may be in the x-z plane.

In some implementations, the microphone array <NUM> is optionally included in the device <NUM>. In other implementations, the microphone array <NUM> is not used to generate the multi-channel audio signal that is converted into the untransformed ambisonic coefficients in real-time. It is possible for a file, (e.g., a song that is stored or audio recording that is created by a content creator, or user of the device <NUM>) to be converted into the untransformed ambisonic coefficients <NUM>.

Multiple target signals may be filtered at once by the adaptive network <NUM>. For example, the adaptive network <NUM> may filter a second audio source "b" located at a different fixed angle, and/or a third audio source "c" located at a third fixed angle. Though reference is made to a fixed angle, a person having ordinary skill in the art understands that the fixed angle may be representing both an azimuth angle and an elevation angle in a three-dimensional coordinate system. Thus, the adaptive network <NUM> may perform the task of spatial filtering at multiple fixed directions (e.g., direction <NUM>, direction <NUM>, and/or direction <NUM>) once the adaptive network <NUM> has adapted its weights to learn how to perform the task of spatial filtering. For each target signal, the error measurer <NUM> produces an error between the target signal (e.g., the target or desired ambisonic coefficients <NUM> or an audio signal where the target or desired ambisonic coefficients <NUM> may be derived from) and the rendered transformed ambisonic coefficients. Like the error measurer <NUM>, a test renderer <NUM> may optionally be located inside of the device <NUM> or outside of the device <NUM>. Moreover, the test renderer <NUM> may optionally render the untransformed ambisonic coefficients or may pass through the multi-channel audio signal into the error measurer <NUM>. The untransformed ambisonic coefficients may represent a soundfield that include the first audio source, the second audio source, the third audio source, or even more audio sources and/or noise. As such, the target signal may include more than one audio source.

For example, during inferencing, the adaptive network <NUM> may use the learned or converged a set of weights that allows the adaptive network <NUM> to spatially filter out sounds from all directions except desired directions. Such an application may include where the sound sources are at relatively fixed positions. For example, the sound sources may be where one or more persons are located (within a tolerance, e.g., of a <NUM>-<NUM> degrees) at fixed positions in a room or vehicle.

In another example, during inferencing, the adaptive network <NUM> may use the learned or converged set of weights to preserve audio from certain directions or angles and spatially filter out other audio sources and/or noise that are located at other directions or angles. In addition, or alternatively, the reverberation associated with the target audio source or direction being preserved may also be used as part of the constraint 260a. In a system of loudspeakers 240aj, the first audio source a t the preservation direction <NUM> may be heard by a user, after the transformed ambisonic coefficients <NUM> are rendered by the renderer <NUM> and used by the loudspeaker(s) 240aj to play the resulting audio signal.

Other examples may include preserving the direction of one audio source at different audio directions than what is illustrated in <FIG>. In addition, or alternatively, examples may include preserving the direction of more than one audio source at different audio directions. For example, audio sources at <NUM> degrees (+/- a <NUM>-<NUM> degree range) and <NUM> degrees (+/- <NUM>-<NUM> degree range) may be preserved. In addition, or alternatively, the range of possible audio directions that may be preserved may include the directions of <NUM> to <NUM> degrees, e.g., any angle within most of the front part of a microphone array or the front of a device, where the front includes angles <NUM> to <NUM> degrees, or in some use cases a larger angular range (e.g., <NUM> to <NUM> degrees).

Referring to <FIG>, a particular illustrative example of a system operable to perform an inference and/or adaptive learning of weights of an adaptive network with a constraint, wherein a constraint and target ambisonic coefficients <NUM> based on using a soundfield scaler in accordance with some examples of the present disclosure is illustrated. Portions of the description of <FIG> are similar to that of the description of <FIG> and <FIG>, except the certain portions that are associated with the constraint block 236a of <FIG> that included a direction embedder <NUM> are replaced with certain portions that are associated with the constraint block 236b of <FIG> that includes a soundfield scaler <NUM>.

In the illustrative example of <FIG>, audio sources "a" (e.g., is a first audio source), "b" (e.g., is a second audio source), and "c" (e.g., is a third audio source) are located at different audio directions, <NUM> degrees, <NUM> degrees and <NUM> degrees, respectively. The audio directions are shown with respect to the origin (<NUM> degrees) of a coordinate system that is associated with the microphone array <NUM>. However, as described above, the origin of the coordinate system may be associated with different portions of the microphone array, room, in-cabin location of a vehicle, device <NUM>, etc. The first audio source "a", the second audio source "b", the third audio source "c" may be in a set of different audio sources <NUM> that are used during the training of the adaptive network 225b.

In addition to the different audio directions <NUM> and different audio sources <NUM>, different scale values <NUM> may be varied for each different audio direction of the different audio directions <NUM> and each different audio source of the different audio sources <NUM>. The different scale values <NUM> may amplify or attenuate the untransformed ambisonic coefficients that represent the different audio sources <NUM> input into the adaptive network 225b.

Other examples may include rotating untransformed ambisonic coefficients that represent an audio source at different audio angles prior to training or after training than what is illustrated in <FIG>. In addition, specific directions and audio sources may be captured by the microphone array <NUM> or synthesized, and the adaptive network 225b may be limited to learning weights that perform spatially filtering and rotation for those specific directions.

In addition, in another embodiment, the direction embedder may be omitted and the soundfield may be scaled with the scale value <NUM>. In such a case, it may also be possible to scale the entire soundfield directly in the ambisonics domain and having the soundfield scaler <NUM> operate directly on the ambisonic coefficients prior to being stored in the ambisonics coefficients buffer <NUM>.

As an example, the soundfield scaler <NUM> may individually scale representation of untransformed ambisonic coefficients <NUM> of audio sources, e.g., the first audio source may be scaled by a positive or negative scale value 216a while the second audio source may not have been scaled by any scale value <NUM> at all. In such cases, the untransformed ambisonic coefficients <NUM> that represent a second audio source from a specific direction may have been input to the adaptive network 225b where there is no scale value 216a, or the untransformed ambisonic coefficients <NUM> that represent the second audio source from a specific direction input into the adaptive network 225b may have bypassed the soundfield scaler <NUM> (i.e., were not presented to the soundfield scaler <NUM>).

Moreover, the constraint 260b may include a label that represents the constraint 260b or is associated with the constraint 260b. For example, if the adaptive network <NUM> is being trained with the azimuth angle 214a , elevation angle 214b, or both, and a scale value <NUM>, the scale value may be concatenated to the untransformed ambisonic coefficients. Using the examples associated with <FIG> for the azimuth angle 214a and elevation angle 214b, a representation of the scale value <NUM> may be concatenated before the elevation angles 214a, 214b or after the elevation angles 214a, 214b. The scale value <NUM> may also be normalized. For example, suppose the unnormalized scale value <NUM> varied from -<NUM> to +<NUM>, the normalized scale value may vary from -<NUM> to <NUM> or <NUM> to <NUM>. The scale value <NUM> may be represented by different scale values, e.g., at different scaling value resolutions, and different resolution step sizes. Suppose that every. <NUM> values, the scale value <NUM> varied. That would represent <NUM> different scale values and may be represented by a <NUM>-bit number. As an example, the scale value of. <NUM> may be represented by the binary number <NUM>, that is the <NUM>th resolution step size of. As another example, suppose the resolution step size was. <NUM>, then the value of. <NUM> may be represented by the binary number <NUM>, as. <NUM> is closest to the <NUM>th step size (. <NUM>) for the different scaling value resolution, i.e., <NUM>=<NUM>,. <NUM>=<NUM>,. <NUM>=<NUM>,. <NUM> = <NUM>. Thus, the label may include the, as an example, binary values for the azimuth angle 214a, elevation angle 214b, and scale value <NUM>.

Referring to <FIG>, a particular illustrative example of a system operable to perform an inference and/or inferencing of an adaptive network with multiple constraints and target ambisonic coefficients, wherein the multiple constraints includes using multiple directions, in accordance with some examples of the present disclosure. Portions of the description of <FIG>, relating to the inference stage associated with <FIG> and/or <FIG> are applicable.

In <FIG>, there are multiple adaptive networks 225a, 225b, 225c configured to operate with different constraints 260c. In an embodiment, the output of multiple adaptive networks 225a, 225b, 225c may be combined with a combiner <NUM>. The combiner <NUM> may be configured to linearly add the individual transformed ambisonic coefficients 226da, 226db, 226dc that is respectively output by each adaptive network 225a, 226b, 225c. Thus, the transformed ambisonic coefficients 226d may represent a linear combination of the individual transformed ambisonic coefficients 226da, 226db, 226dc. The transformed ambisonic coefficients 226d may be rendered by a renderer <NUM> and provided to one or more loudspeakers 241a. The output of the one or more loudspeakers 241a may be three audio streams. The first audio stream <NUM>243a may be played by the one or more loudspeakers 241a as if emanating from a first direction, 214a1 214b1. The second audio stream <NUM>243b may be played by the one or more loudspeakers 241a as if emanating from a second direction, 214a2 214b2. The third audio stream <NUM>243c may be played by the one or more loudspeakers 241a as if emanating from a second direction, 214a3 214b3. A person of ordinary skill in the art will recognize that the first, second, and third audio streams may interchangeably be called the first, second and third audio sources. That is to say, one audio stream may include <NUM> audio sources 243a, 243b 243c or there may be three separate audio streams 243a 243b 243c that are heard as emanating from three different directions: direction <NUM> (azimuth angle 214a1, elevation angle 214b1); direction <NUM> (azimuth angle 214a2, elevation angle 214b2); direction <NUM> (azimuth angle 214a3, elevation angle 214b3). Each audio stream or audio source may be heard by a different person located more closely to the direction where the one or more loudspeakers 241a are directing the audio sources to. For example, a first person 254a may be positioned to better hear the first audio stream or audio source 214a1. The second person 254b may be positioned to better hear the second audio stream or audio source 214a2. The third person 25cb may be positioned to better hear the third audio stream or audio source 214a3.

Referring to <FIG>, a particular illustrative example of a system operable to perform an inference and/or inferencing and/or adaptive learning of weights of an adaptive network with a constraint and target ambisonic coefficients, wherein the constraint includes at least one of ideal microphone type, target order, form factor microphone positions, model/form factor, in accordance with some examples of the present disclosure.

In <FIG>, an ideal microphone type, such as a microphone array 102a that may have <NUM> microphones located around points of a sphere, or a microphone array 102b that has a tetrahedral shape which includes four microphones are shown, which serve as examples of ideal microphone types. During training, different audio directions <NUM> and different audio sources may be used as inputs captured by these microphone arrays 102a, 102b. For the case of the tetrahedral microphone array 102b, the output of is a collection of sound pressures, from each microphone, that may be decomposed into its spherical coefficients and may be represented with the notation (W, X, Y, Z) are ambisonic coefficients. In the case of the spherical microphone array 102a, the output of is also a collection of sound pressures, from each microphone, that may be decomposed into its spherical coefficients.

In general, for microphone arrays, the number of microphones used to determine the minimum ambisonic coefficients for a given set of microphones is governed by taking the ambisonic order adding one and then squaring. For example, for a fourth order ambisonic signal with <NUM> coefficients, the minimum number of output microphone outputs is <NUM>, M= (N+<NUM>)<NUM>, where N= ambisonic order. Using this formulation provides a minimum directional sampling scheme, such that the math operations to determine the ambisonic coefficients are based on a square inversion of the spherical basis functions times the sound pressure for the collective microphones from the microphone array 102b. Thus, for an ideal microphone array 102b output the ambisonics converter 212dt converts the sound pressures of the microphones into ambisonics coefficients as explained above. Other operations may be used in an ambisonics coefficients for non-ideal microphone arrays to convert the sound pressures of the microphones into ambisonic coefficients.

During the training phase of the adaptive network 225e, a controller 25et in the constraint block 236e, may store one or more target ambisonic coefficients in an ambisonics buffer 30e. For example, as shown in <FIG>, the ambisonics coefficients buffer 30d may store a first order target ambisonics coefficients, which may be output out of either the tetrahedral microphone array 102a or after the ambisonics converter 212et converts the output of the microphone array 102b to ambisonics coefficients. The controller 25et may provide different orders during training to the ambiosnics coefficients buffer 30e.

During the training phase of the adaptive network 225e, a device <NUM> (e.g., a handset, or headset) may include a plurality of microphones (e.g., four) that capture the difference audio sources <NUM> and different audio directions <NUM> that the ideal microphones 102a, 102b. In an embodiment, the different audio sources <NUM> and different audio directions <NUM> are the same as presented to the ideal microphones 102a, 102b. In a different embodiment, the different audio sources <NUM> and different audio directions may be synthesized or simulated as if they were captured in real-time. In either case, in the example where the device 201includes four microphones, the microphone outputs <NUM> may be converted to untransformed ambisonic coefficients <NUM>, by an ambisonics converter 212di , and the untransformed ambisonic coefficients <NUM> may be stored in an ambisonics coefficient buffer <NUM>.

During the training phase of the adaptive network 225e, a controller 25e may provide one or more constraints 260d to the adaptive network 225e. For example, the controller 25e may provide the constraint of target order to the adaptive network 225e. In an embodiment, the output of the adaptive network 225e includes an estimate of the transformed ambisonic coefficients <NUM> being at the desired target order 75e of the ambisonic coefficients. As the weights of the of the adaptive network 225e learned how to produce an output form the adaptive network 225e that estimates the target order 75e of the ambisonic coefficients for different audio directions <NUM> and different audio sources <NUM>. Different target orders may then be used during training of the weights until the weights of the adaptive network 225e have converged.

In a different embodiment, additional constraints may be presented to the adaptive network 225e while the different target orders are presented. For example, the constraint of an ideal microphone type 73e may also be used during the training phase to the adaptive network 225e. The constraints may be added as labels that are concatenated to the untransformed ambisonic coefficients <NUM>. For example, the different orders may be represented by a <NUM> bit number to represent orders <NUM>. The ideal microphone types may be represented by a binary number to represent a tetrahedral microphone array 102b or a spherical microphone array102a. The form factor microphone positions may also be added as a constraint. For example, a handset may be represented has having a number of sides: e.g., a top side, a bottom side, a front side, a rear side, a left side ,and a right side. In other embodiments, the handset may also have an orientation (its own azimuth angle and elevation angle). The location of a microphone may be placed at a distance from a reference point on one of these sides. The locations of the microphones and each side, along with the orientation, and form factor may be added as the constraints. As an example, the sides may be represented with a <NUM> digits {<NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>}. The location of the microphones may be represented as a <NUM> digit binary number representing <NUM> digits { <NUM>. <NUM>}, which may represent a distance in centimeters. The form factor may also be used to differentiate between, handset, tablet, laptop, etc. Other examples may also be used depending on the design.

In an embodiment, it is also possible to recognize that the untransformed ambisonic coefficients may also be synthesized and stored in the ambisonics coefficient buffer <NUM>, instead of being captured by a non-ideal microphone array.

In a particular embodiment, the adaptive network 225e, may be trained to learn how to correct for a directivity adjustment error. As an example, a device <NUM> (e.g., a handset) may include a microphone array <NUM>, as shown in <FIG>. For illustrative purposes, the microphone outputs <NUM> are provided to two directivity adjusters (directivity adjuster A 42a, directivity adjuster B 42b). The directivity adjusters and combiner <NUM> convert the microphone outputs <NUM> into ambisonic coefficients. As such, one configuration of the ambisonics converter 212eri may include the directivity adjusters 42a, 42b, and the combiner <NUM>. The outputs W X YZ <NUM> are first order ambisonic coefficients. However, using such architecture for an ambisonics converter 212eri may introduce biasing errors when an audio source is coming from certain azimuth angles or elevation angles. By presenting the target first order ambisonic coefficients to the renderer <NUM> and using the output to update the weights of the adaptive network 225e, or by directly comparing the target first order ambisonics coefficients with the outputs W X Y Z <NUM>, the weights of the adaptive network 225e may be updated and eventually converge to correct the biasing errors when an audio source is coming from certain azimuth angles or elevation angles. The biasing errors may appear at different temporal frequencies. For example, when an audio source is at <NUM> degree elevation angle, the first order ambisonic coefficients may represent the audio source in certain frequency bands (e.g., <NUM>-<NUM>, <NUM>-<NUM>, <NUM>-<NUM>, <NUM>-<NUM>, <NUM>-<NUM>) accurately. However, in other frequency bands, <NUM>-<NUM>, <NUM>-<NUM>, , <NUM>-<NUM>) the audio source may appear to be skewed from where it should be.

During the inference stage, the microphone outputs <NUM> provided by the microphone array <NUM> included on the device <NUM> (e.g., a handset) may output the first order ambisonic coefficients W X Y Z <NUM>. a different embodiment, the adaptive network <NUM> inherently provides the transformed ambisonic coefficients <NUM> corrects the first order ambisonic coefficients W X Y Z <NUM> biasing errors, as in certain configurations it may be desirable to limit the complexity of the adaptive network <NUM>. For example, in the case of a headset with limited memory size or computational resources, an adaptive network <NUM> that is trained to perform one function, e.g., correct the first order ambisonic errors may be desirable.

In a different embodiment, the adaptive network <NUM> may have has a constraint 75e that the target order is a <NUM>st order. There may be an additional constraint 73e that the ideal microphone type is a handset. In addition, there may be additional constraints 68e on where the locations of each microphone and on what side of the handset the microphones in the microphone array <NUM> are located. The first order ambisonic coefficients W X Y Z <NUM> that include the biasing error when an audio source is coming from certain azimuth angles or elevation angles are provided to the adaptive network 225ei. The adaptive network 225ei corrects the first order ambisonic coefficients W X Y Z <NUM> biasing errors, and the transformed ambisonic coefficients <NUM> output represents the audio source's elevation angle and/or azimuth angle accurately across all temporal frequencies. In some embodiments, there may also be the constraint 66e of which is the model type or form factor.

In a different embodiment, the adaptive network <NUM> may have a constraint 75e to perform a directivity adjustment without introducing a biasing error. That is to say, the untransformed ambisonic coefficients are transformed into transformed ambisonic coefficients based on the constraint of adjusting the microphone signals captured by a non-ideal microphone array as if the microphone signals had been captured by microphones at different positions of an ideal microphone array.

In another embodiment, the controller 25e may selectively provide a subset of the transformed ambisonic coefficients 226e to the renderer <NUM>. For example, the controller 25e may control which coefficients (e.g., <NUM>st order, <NUM>nd order, etc.) are output of the ambisonics converter 212ei. In addition, or alternatively, the controller 25e may selectively control which coefficients (e.g., <NUM>st order, <NUM>nd order, etc.) are stored in the ambisonics coefficients buffer <NUM>. This may be desirable, for example, when a spherical <NUM> microphone array 102a provides up to a fourth order ambisonic coefficients (i.e., <NUM> coefficients). A subset of the ambisonics coefficients may be provided to the adaptive network <NUM>. Third order ambisonic coefficients are a subset of the fourth order ambisonic coefficients. Second order ambisonic coefficients are a subset of the third order ambisonic coefficients and also the fourth order ambisonic coefficients. First order ambisonic coefficients are a subset of the second order ambisonic coefficients, third order ambisonic coefficients, and the fourth order ambisonic coefficients. In addition, the transformed ambisonic coefficients <NUM> may also be selectively provided to the renderer <NUM> in the same fashion (i.e., a subset of a higher order ambisonic coefficients) or in some cases a mixed order of ambisonic coefficients.

Referring to <FIG>, a block diagram of a particular illustrative aspect of a system operable to perform an inference of an adaptive network using learned weights in conjunction with one or more audio application(s), in accordance with some examples of the present disclosure is illustrated. There may be a number of audio application(s) <NUM> that may be included a device <NUM> and used in conjunction with the techniques described above in association with <FIG>. The device <NUM> may be integrated into a number of form factors or device categories, e.g., as shown in <FIG>. The audio applications <NUM> may also be integrated into the devices shown in <FIG>. With some application(s) where the audio sources were either captured through the microphone array <NUM> or synthesized, the output of the audio application may be transmitted via a transmitter <NUM> over a wireless link 301a to another device as shown in <FIG>. Such application(s) <NUM> are illustrated in <FIG>.

Referring to <FIG>, a block diagram of a particular illustrative aspect of a system operable to perform an inference of an adaptive network using learned weights in conjunction with one or more audio application(s), in accordance with some examples of the present disclosure is illustrated. There may be a number of audio application(s) <NUM> that may be included a device <NUM> and used in conjunction with the techniques described above in association with <FIG>. The device <NUM> may be integrated into a number of form factors or device categories, e.g., as shown in <FIG>. The audio applications <NUM> may also be integrated into the devices shown in <FIG>, e.g., a vehicle. The transformed ambisonic coefficients <NUM> output of an adaptive network <NUM> shown in <FIG> may be provided to one or more audio application(s) <NUM> where the audio sources represented by untransformed ambisonic coefficients in an ambisonics coefficients buffer <NUM> may initially be received in a compressed form prior to being stored in the ambisonics coefficients buffer <NUM>. For example, the compressed form of the untransformed ambisonic coefficients may be stored in a packet in memory <NUM> or received over a wireless link 301b via a receiver <NUM> and decompressed via a decoder <NUM> coupled to an ambisonics coefficient buffer <NUM> as shown in <FIG>. Such application(s) <NUM> are illustrated in <FIG>.

A device <NUM> may include different capabilities as described in association with <FIG>, and <FIG>. The device <NUM> may include a memory configured to store untransformed ambisonic coefficients at different time segments. The device <NUM> may also include one or more processors configured to obtain the untransformed ambisonic coefficients at the different time segments, where the untransformed ambisonic coefficients at the different time segments represent a soundfield at the different time segments. The one or more processors may be configured to apply at least one adaptive network 225a, 225b, 225c, 225ba, 225bb, 225bc, 225e, based on a constraint <NUM>, 260a, 260b, 260c, 260d, and target ambisonic coefficients, to the untransformed ambisonic coefficients at the different time segments to generate transformed ambisonic coefficients <NUM>, at the different time segments. The transformed ambisonic coefficients <NUM> at the different time segments may represent a modified soundfield at the different time segments, that was modified based on the constraint <NUM>, 260a, 260b, 260c, 260d.

In addition, the transformed ambisonic coefficients <NUM> may be used by a first audio application that includes instructions that are executed by the one or more processors. Moreover, the device <NUM> may further include an ambisonic coefficients buffer <NUM> that is configured to store the untransformed ambisonic coefficients <NUM>.

In some implementations, the device <NUM> may include a microphone a microphone array <NUM> that is coupled to the ambisonic coefficients buffer <NUM>, configured to capture one or more audio sources that are represented by the untransformed ambisonic coefficients in the ambisonic coefficients buffer <NUM>.

Referring to <FIG>, a block diagram of a particular illustrative aspect of a system operable to perform an inference of an adaptive network using learned weights in conjunction with an audio application, wherein an audio application uses an encoder and a memory in accordance with some examples of the present disclosure is illustrated.

A device <NUM> may include the adaptive network <NUM>, <NUM> and an audio application <NUM>. In an embodiment, the first audio application 390a, may include instructions that are executed by the one or more processors. The first audio application 390a may include compressing the transformed ambisonic coefficients at the different time segments, with an encoder <NUM> and storing the compressed transformed ambisonic coefficients <NUM> to a memory <NUM>. The compressed transformed ambisonic coefficients <NUM> may be transmitted, by a transmitter <NUM>, over the transmit link 301a. The transmit link 301a may be a wireless link between the device <NUM> and a remote device.

<FIG>, a block diagram of a particular illustrative aspect of a system operable to perform an inference of an adaptive network using learned weights in conjunction with an audio application, wherein an audio application includes use of an encoder, a memory, and a decoder in accordance with some examples of the present disclosure is illustrated.

In <FIG>, the device <NUM> may include the adaptive network <NUM>, <NUM> and an audio application <NUM>. In an embodiment, a first audio application 390b, may include instructions that are executed by the one or more processors. The first audio application 390b may include compressing the transformed ambisonic coefficients at the different time segments, with an encoder <NUM> and storing the compressed transformed ambisonic coefficients <NUM> to a memory <NUM>. The compressed transformed ambisonic coefficients <NUM> may be retrieved from the memory <NUM> with one or more of the processors and be decompressed by the decoder <NUM>. One example of a the second audio application 390b may be a camcorder application, where audio is captured and may be compressed and stored for future playback. If a user goes back to see the video recording or if it was just an audio recording, the one or more processors which may include or be integrated with the decoder <NUM> may decompress the compressed transformed ambisonic coefficient at the different time segments.

Referring to <FIG>, a block diagram of a particular illustrative aspect of a system operable to perform an inference of an adaptive network using learned weights in conjunction with an audio application, wherein an audio application includes use of a renderer <NUM>, a keyword detector <NUM>, and a device controller <NUM> in accordance with some examples of the present disclosure is illustrated. In <FIG>, the device <NUM> may include the adaptive network <NUM>, <NUM> and an audio application <NUM>. In an embodiment, a first audio application 390c, may include instructions that are executed by the one or more processors. The first audio application 390c may include a renderer <NUM> that is configured to render the transformed ambisonic coefficients <NUM> at the different time segments. The first audio application 390c may further include a keyword detector <NUM>, coupled to a device controller <NUM> that is configured to control the device based on the constraint.

Referring to <FIG>, a block diagram of a particular illustrative aspect of a system operable to perform an inference of an adaptive network using learned weights in conjunction with an audio application, wherein an audio application includes use of a renderer <NUM>, a direction detector <NUM>, and a device controller <NUM> in accordance with some examples of the present disclosure is illustrated. In <FIG>, the device <NUM> may include the adaptive network <NUM> and an audio application <NUM>. In an embodiment, a first audio application 390c, may include instructions that are executed by the one or more processors. The first audio application 390c may include a renderer <NUM> that is configured to render the transformed ambisonic coefficients <NUM> at the different time segments. The first audio application 390c may further include a direction detector <NUM>, coupled to a device controller <NUM> that is configured to control the device based on the constraint <NUM>.

It should be noted that in a different embodiment, the transformed ambisonic coefficients <NUM> may be output as having direction detection be part of the inference of the adaptive network <NUM>. For example, in <FIG>, the transformed ambisonic coefficients <NUM> when rendered represent a soundfield where one or more audio sources may sound as if they are coming from a certain direction. The direction embedder <NUM> during the training phase, allowed the adaptive network <NUM> in <FIG> to perform the direction detection function as part of the spatial filtering. Thus, in such a case, direction detector <NUM> and the device controller <NUM> may no longer be needed after a renderer <NUM> in an audio application 390d.

<FIG> is a block diagram of a particular illustrative aspect of a system operable to perform an inference of an adaptive network using learned weights in conjunction with an audio application, wherein an audio application includes use of a renderer in accordance with some examples of the present disclosure. As explained herein, transformed ambisonic coefficients <NUM> at the different time segments may be input into a renderer <NUM>. The rendered transformed ambisonic coefficients may be played out of one or more loudspeaker(s) <NUM>.

<FIG> is a block diagram of a particular illustrative aspect of a system operable to perform an inference of an adaptive network using learned weights in conjunction with an audio application, wherein an audio application includes use of the applications described in <FIG> in accordance with some examples of the present disclosure. Figure F is drawn in a way to show that the audio application <NUM> coupled to the adaptive network <NUM> may run after compressed transformed ambisonic coefficients <NUM> at the different time segments are decompressed with a decoder as explained in association with <FIG>.

Referring to <FIG>, a diagram of a device <NUM> placed in band so that it may be worn and operable to perform an inference of an adaptive network <NUM>, in accordance with some examples of the present disclosure is illustrated. <FIG> depicts an example of an implementation of the device <NUM> of <FIG>, <FIG>, Figure C, <FIG>, <FIG>, <FIG>, <FIG>, integrated into a mobile device <NUM>, such as handset. Multiple sensors may be included in the handset. The multiple sensors may be two or more microphones <NUM>, an image sensor(s) <NUM> (for example integrated into a camera). Although illustrated in a single location, in other implementations the multiple sensors can be positioned at other locations of the handset. A visual interface device, such as a display <NUM> may allow a user to also view visual content while hearing the rendered transformed ambisonic coefficients through the one more loudspeakers <NUM>. In addition, there may be a transmitter <NUM> and a receiver <NUM> included in a transceiver <NUM> that provides connectivity between the device <NUM> described herein and a remote device.

Referring to <FIG>, a diagram of a device <NUM>, that may be virtual reality or augmented reality headset operable to perform an inference of an adaptive network <NUM>, in accordance with some examples of the present disclosure is illustrated. <FIG> depicts an example of an implementation of the device <NUM> of <FIG>, <FIG>, Figure C, <FIG>, <FIG>, <FIG>, <FIG> integrated into a mobile device <NUM>, such as handset. Multiple sensors may be included in the headset. The multiple sensors may be two or more microphones <NUM>, an image sensor(s) <NUM> (for example integrated into a camera). Although illustrated in a single location, in other implementations the multiple sensors can be positioned at other locations of the headset. A visual interface device, such as a display <NUM> may allow a user to also view visual content while hearing the rendered transformed ambisonic coefficients through the one more loudspeakers <NUM>. In addition, there may be a transmitter <NUM> and a receiver <NUM> included in a transceiver <NUM> that provides connectivity between the device <NUM> described herein and a remote device.

Referring to <FIG>, a diagram of a device <NUM>, that may be virtual reality or augmented reality glasses operable to perform an inference of an adaptive network <NUM>, in accordance with some examples of the present disclosure is illustrated. <FIG> depicts an example of an implementation of the device <NUM> of <FIG>, <FIG>, Figure C, <FIG>, <FIG>, <FIG>, <FIG>, integrated into glasses. Multiple sensors may be included in glasses. The multiple sensors may be two or more microphones <NUM>, an image sensor(s) <NUM> (for example integrated into a camera). Although illustrated in a single location, in other implementations the multiple sensors can be positioned at other locations of the glasses. A visual interface device, such as a display <NUM> may allow a user to also view visual content while hearing the rendered transformed ambisonic coefficients through the one more loudspeakers <NUM>. In addition, there may be a transmitter <NUM> and a receiver <NUM> included in a transceiver <NUM> that provides connectivity between the device <NUM> described herein and a remote device.

Referring to <FIG>, a diagram of a device <NUM>, that may be operable to perform an inference of an adaptive network <NUM>, in accordance with some examples of the present disclosure is illustrated. <FIG> depicts an example of an implementation of the device <NUM> of <FIG>, <FIG>, Figure C, <FIG>, <FIG>, <FIG>, <FIG>, integrated into a vehicle dashboard device, such as a car dashboard device <NUM>. Multiple sensors may be included in the vehicle. The multiple sensors may be two or more microphones <NUM>, an image sensor(s) <NUM> (for example integrated into a camera). Although illustrated in a single location, in other implementations the multiple sensors can be positioned at other locations of the vehicle, such as distributed at various locations within a cabin of the vehicle, or that may be located proximate to each seat in the vehicle to detect multi-modal inputs from a vehicle operator and from each passenger. A visual interface device, such as a display <NUM> is mounted or positioned (e.g., removably fastened to a vehicle handset mount) within the car dashboard device <NUM> to be visible to a driver of the car. In addition, there may be a transmitter <NUM> and a receiver <NUM> included in a transceiver <NUM> that provides connectivity between the device <NUM> described herein and a remote device.

Referring to <FIG>, a diagram of a device <NUM> (e.g., a television, a tablet, or laptop, a billboard, or device in a public place) and is operable to perform an inference of an adaptive network <NUM>, in accordance with some examples of the present disclosure is illustrated. In <FIG>, the device <NUM> may optionally include a camera <NUM>, and a loudspeaker array <NUM> which includes individual speakers 240ia, 240ib, 240ic, 240id, and a microphone array <NUM> which includes individual microphones 205ia, 205ib, and a display screen <NUM>. The techniques described in association with <FIG>, <FIG>, <FIG>, and <FIG> may be implemented in the device <NUM> illustrated in <FIG>. In an embodiment, there may be multiple audio sources that are represented with transformed ambisonic coefficients <NUM>.

The loudspeaker array <NUM> is configured to output the rendered transformed ambisonic coefficients <NUM> rendered by a renderer <NUM> included in the device <NUM>. The transformed ambisonic coefficients <NUM> represent different audio sources directed into a different respective direction (e.g., stream <NUM> and stream <NUM> are emitted into two different respective directions). One application of simultaneous transmission of different streams may be for a public address and/or video billboard installations in public spaces , such as an airport or railway station or another situation in which a different messages or audio content may be desired. For example, such a case may be implemented so that the same video content on a display screen <NUM> is visible to each of two or more users, with the loudspeaker array <NUM> outputting the transformed ambisonic coefficients <NUM> at different time segments to represent the same accompanying audio content in different languages (e.g., two or more of English, Spanish, Chinese, Korean, French, etc.) different respective viewing angles. Presentation of a video program with simultaneous presentation of the accompanying transformed ambisonic coefficients <NUM> representing the audio content in two or more languages may also be desirable in smaller settings, such as a home or office.

Another application where the audio components represented by the transformed ambisonic coefficients may include different far-end audio content is for voice communication (e.g., a telephone call). Alternatively, or additionally, each of two or more audio sources represented by the transformed ambisonic coefficients <NUM> at different time segments may include an audio track for a different respective media reproduction (e.g., music, video program, etc.).

For a case in which different audio sources represented by the transformed ambisonic coefficients <NUM> are associated with different video content, it may be desirable to display such content on multiple display screens and/or with a multiview-capable display screen (e.g., the display screen <NUM> may also be a multiview-capable display screen). One example of a multiview-capable display screen is configured to display each of the video programs using a different light polarization (e.g., orthogonal linear polarizations, or circular polarizations of opposite handedness), and each viewer wears a set of goggles that is configured to pass light having the polarization of the desired video program and to block light having other polarizations. In another example of a multiview-capable display screen, a different video program is visible at least of two or more viewing angles. In such a case, implementation the loudspeaker array direct the audio source for each of the different video programs in the direction of the corresponding viewing angle.

In a multi-source application, it may be desirable to provide about thirty or forty to sixty degrees of separation between the directions of orientation of adjacent audio sources represented by the transformed ambisonic coefficients <NUM>. One application is to provide different respective audio source components to each of two or more users who are seated shoulder-to-shoulder (e.g., on a couch) in front of the loudspeaker array <NUM>. At a typical viewing distance of <NUM> to <NUM> meters, the span occupied by a viewer is about thirty degrees. With an array <NUM> of four microphones, a resolution of about fifteen degrees may be possible. With an array having more microphones, a narrower distance between users may be possible.

Referring to <FIG>, a diagram of a device <NUM> (e.g., a vehicle) and is operable to perform an inference of an adaptive network <NUM>, <NUM>, in accordance with some examples of the present disclosure is illustrated. In <FIG>, the device <NUM> may optionally include a camera <NUM>, and a loudspeaker array <NUM> (not shown) and a microphone array <NUM>. The techniques described in association with <FIG>, <FIG>, <FIG>, and <FIG>, may be implemented in the device <NUM> illustrated in <FIG>.

In an embodiment, the transformed ambisonic coefficients <NUM> output by the adaptive network <NUM> may represent the speech captured in a speaker zone <NUM>. As illustrated, there may be a speaker zone <NUM> for a driver. In addition, or alternatively, there may be a speaker zone <NUM> for each passenger also. The adaptive network <NUM> may output the transformed ambisonic coefficients <NUM> based on the constraint 260b, constraint 260d, or some combination thereof. As there may be road noise while driving, the audio or noise outside of the speaker zone represented by the transformed ambisonic coefficients <NUM>, when rendered (e.g., if on a phone call) may sound more attenuated because of the spatial filtering properties of the adaptive network <NUM>. In another example, the driver or a passenger may be speaking a command to control a function in the vehicle, and the command represented by transformed ambisonic coefficients <NUM> may be used based on the techniques described in association with <FIG>.

Referring to <FIG>, a diagram of a device <NUM> (e.g., a television, a tablet, or laptop) and is operable to perform an inference of an adaptive network <NUM>, in accordance with some examples of the present disclosure is illustrated. In <FIG>, the device <NUM> may optionally include a camera <NUM>, and a loudspeaker array <NUM> which includes individual speakers 240ia, 240ib, 240ic, 240id, and a microphone array <NUM> which includes individual microphones 205ia, 205ib, and a display screen <NUM>. The techniques described in association with <FIG>, <FIG>, <FIG>, and <FIG>, may be implemented in the device <NUM> illustrated in <FIG>. In an embodiment, there may be multiple audio sources that are represented with transformed ambisonic coefficients <NUM>.

As privacy may be a concern, the transformed ambisonic coefficients <NUM> may represent audio content that when rendered by a loudspeaker array <NUM> are directed to sound louder in a privacy zone <NUM>, but outside of the privacy sound softer, e.g., by using a combination of the techniques described associated with <FIG>, <FIG>, <FIG> and/or <FIG>. A person who is outside the privacy zone <NUM> may hear an attenuated version of the audio content. It may be desirable for the device <NUM> to activate a privacy zone mode in response to an incoming and/or an outgoing telephone call. Such an implementation on the device <NUM> may occur when the user desires more privacy. It may be desirable to increase the privacy outside of the privacy zone <NUM> by using a masking signal whose spectrum is complementary to the spectrum of the one or more audio sources that are to be heard within the privacy zone <NUM>. The masking signal may also be represented by the transformed ambisonic coefficients <NUM>. For example, the masking signal may be in spatial directions that are outside of a certain range of angles where the speech (received via the phone call) is received so that nearby people in the dark zone (the area outside of the privacy zone) hear a "white" spectrum of sound, and the privacy of the user is protected. In an alternative phone-call scenario, the masking signal is babble noise whose level just enough to be above the sub-band masking thresholds of the speech and when the transformed ambisonic coefficients are rendered, babble noise is heard in the dark zone.

In another use case, the device is used to reproduce a recorded or streamed media signal, such as a music file, a broadcast audio or video presentation (e.g., radio or television), or a movie or video clip streamed over the Internet. In this case, privacy may be less important, and it may be desirable for the device <NUM> to have the desired audio content to have a substantially reduced amplitude level over time in the dark zone, and normal range in the privacy zone <NUM>. A media signal may have a greater dynamic range and/or may be less sparse over time than a voice communications signal.

Referring to <FIG>, a diagram of a device <NUM> (e.g., a handset, tablet, laptop, television) and is operable to perform an inference of an adaptive network <NUM>, in accordance with some examples of the present disclosure is illustrated. In <FIG>, the device <NUM> may optionally include a camera <NUM>, and a loudspeaker array <NUM> (not shown) and a microphone array <NUM>. The techniques described in association with <FIG>, <FIG>, <FIG>, and <FIG>, may be implemented in the device <NUM> illustrated in <FIG>.

In an embodiment, the audio from two different audio sources (e.g., two people talking) may be located in different locations and may be represented by the transformed ambisonic coefficients <NUM> output of the adaptive network <NUM>. The transformed ambisonic coefficients <NUM> may be compressed and transmitted over a transmit link 301a. A remote device 201r may receive the compressed transformed ambisonic coefficients, uncompress them and provide them to a renderer <NUM> (not shown). The rendered uncompressed transformed ambisonic coefficients may be provide to the loudspeaker array <NUM> (e.g., in a binaural form) and heard by remote user (e.g., wearing the remote device 201r).

Referring to <FIG> is a diagram of an adaptive network operable to perform training in accordance with some examples of the present disclosure, where the adaptive network includes a regressor and a discriminator. The discriminator 740a may be optional. However, when a constraint <NUM> is concatenated with the untransformed ambisonic coefficients <NUM>, the output transformed ambisonic coefficients <NUM> of an adaptive network <NUM> may have an extra set of bits or other output which may be extracted. The extra set of bits or other output which is extracted is an estimate of the constraint <NUM>. The constraint estimate <NUM> and the constraint <NUM> may be compared with a category loss measurer <NUM>. The category loss measure may include operations that the similarity loss measurer includes, or some other error function. The transformed ambisonic coefficient(s) <NUM> may be compared with the target ambisonic coefficient(s) <NUM> using one of the techniques used by the similarity loss measurer <NUM>. Optionally, renderers 230a 230b may render the transformed ambisonic coefficient(s) <NUM> and target ambisonic coefficient(s) <NUM>, respectively, and the renderer 230a 230b outputs may be provided to the similarity loss measurer <NUM>. The similarity measurer <NUM> may be included in the error measurer <NUM> that was described in association with <FIG>.

There are different ways to implement how to calculate a similarity loss measures (S) <NUM>. In the different equations shown below E is equal to the expectation value, K is equal to the max number of ambisonic coefficients for a given order, and c is the coefficient number that ranges between <NUM> and K. X is the transformed ambisonic coefficients, and T is the target ambisonic coefficients. In an implementation, for a <NUM>th order ambisonics signal, the total number of ambisonics coefficients (K) is <NUM>.

One way is to implement the similarity loss measure S as a correlation as follows:
for k=<NUM>:K{S (k)=E[T (c)X(c+k)]/(sqrt(E[T (k)]<NUM>)sqrt(E[(X(k)]<NUM>]) , where comparing all of the S (k)'s yields the maximum similarity value.

Another way to implement S is, as a cumulant equation, as follows:
for k=<NUM>:K {S(k)={E[T<NUM>(c)X(c+k)<NUM> + E[T<NUM> (c)]E[X(k)<NUM>]-2E[Ti(c)X(c+k)]<NUM>}, where comparing all of the S (k)'s yields the maximum similarity value.

Another way to implement S, uses a time-domain least squares fit as follows: for <MAT> where comparing all of the S (k)'s yields the maximum similarity value. Note that instead of using the expectation value as shown above, another way to represent the expectation is to include using at least an express summation over at least the number of frames (audio source phrase frames) that make up the audio source phrase is used.

Another way to implement S, uses a fast Fourier transform (FFT) in conjunction with the frequency domain is as follows:
for <MAT>, where comparing all of the S(k)'s yields the maximum similarity value. Note that there is an additional summation over the different frequencies (f=<NUM>. f_frame) used in the FFT.

Another way is to implement S, uses an Itakura-Saito distance as follows:
for <MAT> )]-<NUM>∥}, where comparing all of the S(k)'s yields the maximum similarity value.

Another way to implement S is based on a square difference measure as follows:
for <MAT> where comparing all of the S(k)'s yields the maximum similarity value.

In an embodiment, the error measurer <NUM> may also include the category loss measurer <NUM> and a combiner <NUM> to combine (e.g., add, or serially output) the output of the category loss measurer <NUM> and the similarity loss measurer <NUM>. The output of the error measurer <NUM> may directly update the weights of the adaptive network <NUM> or they may be updated by the use of a weight update controller <NUM>.

A regressor 735a is configured to estimate a distribution function from the input variables (untransformed ambisonic coefficients, and concatenated constraints) to a continuous output variable, the transformed ambisonic coefficients. A neural network is an example of a regressor 735a. A discriminator 740a is configured to estimate a category or class of inputs. Thus, the estimated constraints extracted from the estimate of the transformed ambisonic coefficient(s) <NUM> may also be classified. Using this additional technique may aid with the training process of the adaptive network <NUM>, and in some cases may improve the resolution of certain constraint values, e.g., finer degrees or scaling values.

Referring to <FIG>, a diagram of an adaptive network operable to perform an inference in accordance with some examples of the present disclosure, where the adaptive network is a recurrent neural network (RNN) is illustrated.

In an embodiment, the ambisonic coefficients buffer <NUM> may be coupled to the adaptive network <NUM>, where the adaptive network <NUM> may be an RNN 735b that outputs the transformed ambisonic coefficients <NUM>. A recurrent neural network may refer to a class of artificial neural networks where connections between units (or cells) form a directed graph along a sequence. This property may allow the recurrent neural network to exhibit dynamic temporal behavior (e.g., by using internal states or memory to process sequences of inputs). Such dynamic temporal behavior may distinguish recurrent neural networks from other artificial neural networks (e.g., feedforward neural networks).

Referring to <FIG>, a diagram of an adaptive network le operable to perform an inference in accordance with some examples of the present disclosure, where the adaptive network is a long short-term memory (LSTM) is illustrated.

In an embodiment, an LSTM is one example of an RNN. An LSTM network 735B, may be composed of multiple storage states (e.g., which may be referred to as gated states, gated memories, or the like), which storage states may in some cases be controllable by the LSTM network 735c. Specifically, each storage state may include a cell, an input gate, an output gate, and a forget gate. The cell may be responsible for remembering values over arbitrary time intervals. Each of the input gate, output gate, and forget gate may be an example of an artificial neuron (e.g., as in a feedforward neural network). That is, each gate may compute an activation (e.g., using an activation function) of a weighted sum, where the weighted sum may be based on training of the neural network. Although described in the context of LSTM networks, it is to be understood that the described techniques may be relevant for any of a number of artificial neural networks (e.g., including hidden Markov models, feedforward neural networks, etc.).

During the training phase, the constraint block and adaptive network may be trained based on applying a loss function. In aspects of the present disclosure, a loss function may generally refer to a function that maps an event (e.g., values of one or more variables) to a value that may represent a cost associated with the event. In some examples, the LSTM network may be trained by adjusting the weighted sums used for the various gates, by adjusting the connectivity between different cells, or the like) so as to minimize the loss function. In an example, the loss function may be an error between target ambisonic coefficients and the ambisonic coefficients (i.e., input training signals) captured by a microphone array <NUM> or provided in synthesized form.

For example, the LSTM network 735c (based on the loss function) may use a distribution function that approximates an actual (e.g., but unknown) distribution of the input training signals. By way of example, when training the LSTM network 735B based on the input training signals from different directions, the distribution function may resemble different types of distributions, e.g., a Laplacian distribution or Super Gaussian distribution. At the output of the LSTM an estimate of the target ambisonic coefficients may be generated based at least in part on application of a maximizing function to the distribution function. For example, the maximizing function may identify an argument corresponding to a maximum of distribution function.

In some examples, input training signals may be received by the microphone array <NUM> of a device <NUM>. Each input training signal received may be sampled based on a target time window, such that the input audio signal for microphone N of the device <NUM> may be represented as <MAT> where yt represents the target auditory source (e.g. an estimate of the transformed ambisonic coefficients), α represents a directionality constant associated with the source of the target auditory source, micN represents the microphone of the microphone array <NUM> that receives the target auditory source, and <MAT> represents noise artifacts received at microphone N. In some cases, the target time window may span from a beginning time Tb to a final time Tf, e.g., a subframe or a frame, or the length of a window used to smooth data. Accordingly, the time segments of input signals received at the microphone array <NUM> may correspond to times t - Tb to t + Tf. Though described in the context of a time window, it is to be understood that the time segments of the input signals received at microphone array <NUM> may additionally or alternatively correspond to samples in the frequency domain (e.g., samples containing spectral information).

In some cases, the operations during the training phase of the LSTM 735c may be based at least in part on a set of samples that correspond to a time t + Tf - <NUM> (e.g., a set of previous samples). The samples corresponding to time t + Tf - <NUM> may be referred to as hidden states in a recurrent neural network 735Aa and may be denoted according to <MAT>, where M corresponds to a given hidden state of the neural network. That is, the recurrent neural network may contain multiple hidden states (e.g., may be an example of a deep-stacked neural network), and each hidden state may be controlled by one or more gating functions as described above.

In some examples, the loss function may be defined according to <MAT>, where z represents a probability distribution given the input signals received and the hidden states of the neural network, where M is the memory capacity, as there are M hidden states, and Tf-<NUM> represents a lookahead time. That is, the operations of the LSTM network 735a may relate the probability that the samples of the input signals received at the microphone array <NUM> match a learned distribution function z of desired ambisonic coefficients based on the loss function identified.

In an embodiment, associated with the description of <FIG>, a direction-of-arrival (DOA) embedder may determine a time-delay for each microphone associated with each audio source based on a directionality associated with a direction, or angle (elevation and/or azimuth) as described with reference to <FIG>. That is, a target ambisonic coefficients for an audio source may be assigned a directionality constraint (e.g., based on the arrangement of the microphones) such that coefficients of the target ambisonic coefficients may be a function of the directionality constraint 360b. The ambisonic coefficients may be generated based at least in part on the determined time-delay associated with each microphone.

The ambisonic coefficients may then be processed according to state updates based at least in part on the directionality constraint <NUM>. Each state update may reflect the techniques described with reference to <FIG>. That is a plurality of state updates (e.g., state update 745a through state update 745n). Each state update <NUM> may be an example of a hidden state (e.g., a LSTM cell as described above). That is, each state update <NUM> may operate on an input (e.g., samples of ambisonic coefficients, an output from a previous state update <NUM>, etc.) to produce an output. In some cases, the operations of each state update <NUM> may be based at least in part on a recursion (e.g., which may update a state of a cell based on the output from the cell). In some cases, the recursion may be involved in training (e.g., optimizing) the recurrent neural network 735a.

At the output of the LSTM network an emit function may generate the target ambisonic coefficients <NUM>. It is to be understood that any practical number of state updates <NUM> may be included without deviating from the scope of the present disclosure.

Referring to <FIG>, a flow chart of a method of performing applying at least one adaptive network, based on a constraint, in accordance with some examples of the present disclosure is illustrated.

In <FIG>, one or more operations of the method <NUM> are performed by one or more processors. The one or more processors included in the device <NUM> may implement the techniques described in association with Figures 2A-2GA, 3A-3B, 4A-4F, 5A-5D, 6A-6D, 7A-7B, and <NUM>.

The method <NUM> includes the operation of obtaining the untransformed ambisonic coefficients at the different time segments, where the untransformed ambisonic coefficients at the different time segments represent a soundfield at the different time segments <NUM>. The method <NUM> also includes the operation of applying at least one adaptive network, based on a constraint, to the untransformed ambisonic coefficients at the different time segments to output transformed ambisonic coefficients at the different time segments, wherein the transformed ambisonic coefficients at the different time segments represent a modified soundfield at the different time segments, that was modified based on the constraint <NUM>.

Referring to <FIG>, a block diagram of a particular illustrative example of a device that is operable to perform applying at least one adaptive network, based on a constraint, in accordance with some examples of the present disclosure is illustrated.

Referring to <FIG>, a block diagram of a particular illustrative implementation of a device is depicted and generally designated <NUM>. In various implementations, the device <NUM> may have more or fewer components than illustrated in <FIG>. In an illustrative implementation, the device <NUM> may correspond to the device <NUM> of <FIG>. In an illustrative implementation, the device <NUM> may perform one or more operations described with reference to <FIG>, Figures 2A-F, <FIG>, <FIG>, <FIG>, <FIG>, <FIG>, and <FIG>.

In a particular implementation, the device <NUM> includes a processor <NUM> (e.g., a central processing unit (CPU)). The device <NUM> may include one or more additional processors <NUM> (e.g., one or more DSPs, GPUs, CPUs, or audio core). The one or more processor(s) <NUM> may include the adaptive network <NUM>, the renderer <NUM>, and the controller <NUM> or a combination thereof. In a particular aspect, the one or more processor(s) <NUM> of <FIG> corresponds to the processor <NUM>, the one or more processor(s) <NUM>, or a combination thereof. In a particular aspect, the controller 25f of Figure 2F, or the controller <NUM> of Figure <NUM> corresponds to the controller <NUM>.

The device <NUM> may include a memory <NUM> and a codec <NUM>. The memory <NUM> may include the ambisonics coefficient buffer <NUM>, and instructions <NUM> that are executable by the one or more additional processors <NUM> (or the processor <NUM>) to implement one or more operations described with reference to <FIG>, Figures 2A-F, <FIG>, Figure 4A-H, <FIG>, <FIG>, and <FIG>. In a particular aspect the memory <NUM> may also include to other buffers, e.g., buffer 30i. In an example, the memory <NUM> includes a computer-readable storage device that stores the instructions <NUM>. The instructions <NUM>, when executed by one or more processors (e.g., the processor <NUM>, the processor <NUM>, or the processor <NUM>, as illustrative examples), cause the one or more processors to obtain the untransformed ambisonic coefficients at the different time segments, where the untransformed ambisonic coefficients at the different time segments represent a soundfield at the different time segments, and apply at least one adaptive network, based on a constraint, to the untransformed ambisonic coefficients at the different time segments to generate transformed ambisonic coefficients at the different time segments, wherein the transformed ambisonic coefficients at the different time segments represent a modified soundfield at the different time segments, that was modified based on the constraint.

The device <NUM> may include a wireless controller <NUM> coupled, via a receiver <NUM>, to a receive antenna <NUM>. In addition, or alternatively, the wireless controller <NUM> may also be coupled, via a transmitter <NUM>, to a transmit antenna <NUM>.

The device <NUM> may include a display <NUM> coupled to a display controller <NUM>. One or more speakers <NUM> and one or more microphones <NUM> may be coupled to the codec <NUM>. In a particular aspect, the microphone <NUM> may be implemented as described with respect to the microphone array <NUM> described within this disclosure. The codec <NUM> may include or be coupled to a digital-to-analog converter (DAC) <NUM> and an analog-to-digital converter (ADC) <NUM>. In a particular implementation, the codec <NUM> may receive analog signals from the one or more microphone(s) <NUM>, convert the analog signals to digital signals using the analog-to-digital converter <NUM>, and provide the digital signals to the one or more processor(s) <NUM>. The processor(s) <NUM> (e.g., an audio codec, or speech and music codec) may process the digital signals, and the digital signals may further be processed by the ambisonic coefficients buffer <NUM>, the adaptive network <NUM>, the renderer <NUM>, or a combination thereof. In a particular implementation, the adaptive network <NUM> may be integrated as part of the codec <NUM>, and the codec <NUM> may reside in the processor(s) <NUM>.

In the same or alternate implementation, the processor(s) <NUM> (e.g., the audio code, or the speech and music codec) may provide digital signals to the codec <NUM>. The codec <NUM> may convert the digital signals to analog signals using the digital-to-analog converter <NUM> and may provide the analog signals to the speakers <NUM>. The device <NUM> may include an input device <NUM>. In a particular aspect, the input device <NUM> includes the image sensor <NUM> which may be included in a camera of <FIG>, and <FIG>. In a particular aspect the codec <NUM> corresponds to the encoder and decoder described in the audio applications described in association with <FIG>, and <FIG>.

In a particular implementation, the device <NUM> may be included in a system-in-package or system-on-chip device <NUM>. In a particular implementation, the memory <NUM>, the processor <NUM>, the processor <NUM>, the display controller <NUM>, the codec <NUM>, and the wireless controller <NUM> are included in a system-in-package or system-on-chip device <NUM>. In a particular implementation, the input device <NUM> and a power supply <NUM> are coupled to the system-in-package or system-on-chip device <NUM>. Moreover, in a particular implementation, as illustrated in <FIG>, the display <NUM>, the input device <NUM>, the speaker(s) <NUM>, the microphone(s) <NUM>, the receive antenna <NUM>, the transmit antenna <NUM>, and the power supply <NUM> are external to the system-in-package or system-on-chip device <NUM>. In a particular implementation, each of the display <NUM>, the input device <NUM>, the speaker(s) <NUM>, the microphone(s) <NUM>, the receive antenna <NUM>, the transmit antenna <NUM>, and the power supply <NUM> may be coupled to a component of the system-in-package or system-on-chip device <NUM>, such as an interface or a wireless controller <NUM>.

The device <NUM> may include a portable electronic device, a car, a vehicle, a computing device, a communication device, an internet-of-things (IoT) device, a virtual reality (VR) device, a smart speaker, a speaker bar, a mobile communication device, a smart phone, a cellular phone, a laptop computer, a computer, a tablet, a personal digital assistant, a display device, a television, a gaming console, a music player, a radio, a digital video player, a digital video disc (DVD) player, a tuner, a camera, a navigation device, or any combination thereof. In a particular aspect, the processor <NUM>, the processor(s) <NUM>, or a combination thereof, are included in an integrated circuit.

In conjunction with the described implementations, a device includes means for storing untransformed ambisonic coefficients at different time segments includes the ambisonic coefficients buffer <NUM> of <FIG>, <FIG>, <FIG>, <FIG>. The device also includes the one or more processors <NUM> of <FIG>, and one or more processors <NUM> of <FIG> with means for obtaining the untransformed ambisonic coefficients at the different time segments, where the untransformed ambisonic coefficients at the different time segments represent a soundfield at the different time segments. The one or more processors <NUM> of <FIG>, and one or more processors of <FIG> also include means for applying at least one adaptive network, based on a constraint, to the untransformed ambisonic coefficients at the different time segments to generate transformed ambisonic coefficients at the different time segments, wherein the transformed ambisonic coefficients at the different time segments.

Those of skill in the art would further appreciate that the various illustrative logical blocks, configurations, modules, circuits, and algorithm steps described in connection with the implementations disclosed herein may be implemented as electronic hardware, computer software executed by a processor, or combinations of both. Various illustrative components, blocks, configurations, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or processor executable instructions depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, such implementation decisions are not to be interpreted as causing a departure from the scope of the present disclosure.

Claim 1:
A device comprising:
a memory configured to store untransformed ambisonic coefficients at different time segments; and
one or more processors configured to:
obtain (<NUM>) the untransformed ambisonic coefficients at the different time segments, where the untransformed ambisonic coefficients at the different time segments represent a soundfield at the different time segments; and
apply (<NUM>) one adaptive network, based on a constraint, to the untransformed ambisonic coefficients at the different time segments to generate transformed ambisonic coefficients at the different time segments, wherein the constraint includes preserving a spatial direction of one or more audio sources in the soundfield at the different time segments, and wherein the transformed ambisonic coefficients at the different time segments represent a modified soundfield at the different time segments, that includes the one or more audio sources with the preserved spatial direction.