Crosstalk cancellation for reverberation acoustic fields
By using CTC simulation model in the audio processing system, an accurate acoustic environment transfer function matrix is generated and a CTC filter is generated for the speakers, the problem of inaccurate acoustic environment modeling in the existing system is solved, and the accuracy of audio processing is improved and efficiency.
Patent Information
- Application Number
- CN202410994287.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-08-09
- Filing Date
- 2024-07-24
- Publication Date
- 2025-02-18
AI Technical Summary
Existing audio processing systems are unable to accurately model the acoustic environment, resulting in inaccurate CTC filters, affecting the auditory experience, and obtaining accurate acoustic environment measurement data is time-consuming and expensive.
Using a computer implementation method based on the CTC simulation model, a transfer function matrix of the acoustic environment is generated by determining the frequency response of the speaker and the listening position, and a CTC filter is generated for the speaker based on this matrix.
Improves the accuracy and efficiency of generating multiple sound fields in an acoustic environment, improves the auditory experience of listeners in the sound area, and reduces the time to obtain frequency response measurements.
Smart Images

Figure CN119485089A_ABST
Abstract
Description
Technical Field
[0001] Various embodiments relate generally to audio output devices and, more particularly, to crosstalk cancellation of reverberant acoustic fields. Background Art
[0002] An audio processing system uses one or more speakers to produce sound in a given space. One or more speakers generate a sound field, wherein users in the environment receive the sounds included in the sound field. Various audio processing systems perform audio processing and reproduction techniques to reproduce sound fields for different sound zones, wherein listeners in a given sound zone can only hear the audio intended for that sound zone. In order to generate a sound field for a sound zone, an audio processing system uses one or more filters to generate the sound that produces the sound field. For example, an audio processing system estimates the impulse response in the time domain at various positions within the sound field, and adjusts the audio output based on the corresponding impulse response. Such filters also include various noise cancellation filters to attenuate the sounds produced for other sound fields, thereby enabling multiple listeners to listen to different audio without having to change the environment to block the sound fields intended for other sound zones.
[0003] One such technology that can generate multiple sound zones is crosstalk cancellation (CTC), in which a CTC filter is applied to an input audio signal of a first sound field to generate a canceled version of the input audio signal, thereby significantly reducing the audibility of the sound associated with the input audio signal in a second sound zone. The frequency response is measured in an acoustic environment to determine the transfer function of the applicable sound field, which is used to generate the CTC filter. When combined, the cancellation signal generated by the CTC filter cancels the specific sound and enables the listener to hear the specific audio in the second sound zone without the need for specialized equipment (such as noise-canceling headphones).
[0004] One disadvantage of conventional audio processing systems is that such systems cannot accurately model the acoustic environment. For example, in order to provide audio in a given acoustic environment, the audio system needs to customize various parameters to take into account the characteristics of the acoustic environment. However, conventional models used to represent the acoustic environment cannot accurately reflect the characteristics of the acoustic environment and the output device in the acoustic environment. Therefore, conventional models provide inaccurate transfer functions that represent the sound field, and therefore generate errors in the estimated transfer function, resulting in inaccurate CTC filters. This will cause such acoustic environments to be distorted and reduce the user's auditory experience. In other cases, designers are forced to obtain measurement data for each acoustic environment to accurately measure the frequency response at a specific location and determine an accurate transfer function. However, such methods are time-consuming and expensive, requiring designers to obtain different measurement data for each acoustic environment and various configurations of listeners in the acoustic environment.
[0005] As previously explained, there is a need in the art for more efficient techniques for generating crosstalk cancellation filters. Summary of the invention
[0006] In various embodiments, a computer-implemented method for generating crosstalk cancellation (CTC) filters for a reverberant acoustic environment having multiple audio zones includes: determining a first set of frequency responses for corresponding positions close to one or more speakers located in the acoustic environment and a second set of frequency responses for corresponding listening positions in the acoustic environment based on a CTC simulation model of the acoustic environment; generating an acoustic environment transfer function matrix for the acoustic environment based on the first set of frequency responses and the second set of frequency responses; and generating a set of CTC filters for a set of speakers in the acoustic environment based on the acoustic environment transfer function matrix.
[0007] Additional embodiments provide, among other things, a non-transitory computer-readable storage medium storing instructions to implement the methods set forth above, and a system configured to implement the methods set forth above.
[0008] At least one technical advantage of the disclosed technology over the prior art is that, through the disclosed technology, the audio processing system can generate multiple sound fields in an acoustic environment more accurately with lower distortion, thereby improving the auditory experience of the audience in the sound zone. Specifically, by implementing a CTC simulation model including different acoustic domain models, the audio processing system determines a more accurate transfer function of the acoustic environment from the position of the output device to the position of the listener. Therefore, the audio processing system generates a more accurate estimate of the frequency response in the acoustic environment and a more accurate CTC filter to reduce the distortion associated with other sound zones, thereby improving the auditory experience of the user in the sound zone. In addition, the disclosed technology reduces the time spent collecting the measurement results of the impulse response in the time domain at each position in the listening environment, which otherwise requires the generation of an accurate sound field. These technical advantages provide one or more technical advances that are superior to the prior art methods. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] In order to be able to understand in detail the manner in which the above-mentioned features of various embodiments are achieved, a more particular description of the inventive concept briefly outlined above may be made by reference to various embodiments, some of which are illustrated in the accompanying drawings. It should be noted, however, that the accompanying drawings illustrate only typical embodiments of the inventive concept and are therefore not to be considered as limiting the scope in any way, and that there are other equally effective embodiments.
[0010] Figure 1 is a schematic diagram illustrating an audio processing system according to various embodiments;
[0011] Figure 2 According to various embodiments, Figure 1 An example virtual acoustic system modeled by the CTC simulation model;
[0012] Figure 3 Shown according to various embodiments Figure 2 Multiple component models included in the virtual acoustic environment;
[0013] Figure 4 is a diagram showing a method for generating a Figure 2 A schematic diagram of a CTC filter matrix of an acoustic environment modeled by the CTC simulation model; and
[0014] Figure 5 A flow chart illustrating method steps for generating a set of CTC filters for a set of loudspeakers using a CTC simulation model according to various embodiments is set forth. DETAILED DESCRIPTION
[0015] In the following description, numerous specific details are set forth to provide a more thorough understanding of various embodiments. However, it will be apparent to one skilled in the art that the inventive concept may be practiced without one or more of these specific details.
[0016] Figure 1 1 is a schematic diagram illustrating a designer computing device 102 and a client computing device 140 for generating audio zones 172 within an acoustic environment according to various embodiments. As shown and not limited to, the designer computing device 102 includes a processor 112 and a memory 114. The memory 114 includes, but is not limited to, an audio design module 130, one or more crosstalk cancellation (CTC) filters 132, and a CTC simulation model 120, the CTC simulation model including, but not limited to, an acoustic domain model 122 and one or more optional device models 124. The client computing device 140 includes, but is not limited to, one or more speakers 150, a processor 142, and a memory 144. The memory 144 includes, but is not limited to, an audio playback module 160 and a set of CTC filters 162. The acoustic environment 170 includes, but is not limited to, a set of sound waves 152 and a set of audio zones 172 ( For example , 170(1)-170(N)).
[0017] In operation, the designer computing device 102 executes the audio design module 130 to set up and operate the CTC simulation model 120. The CTC simulation model 120 uses one or more component models to simulate the operation of corresponding real-world objects and / or the performance of physical phenomena in the physical environment. The component model includes an acoustic domain model 122 that simulates sound waves propagating in a virtual acoustic environment. The acoustic domain model 122 also includes a set of virtual microphones positioned in the virtual acoustic domain (corresponding to locations within the acoustic environment 170). In some embodiments, the component model also includes one or more device models 124 that each simulate the operation of a virtual speaker that outputs an audio reproduction of an input signal. The audio design module 130 configures a set of parameters for the CTC simulation model 120 to simulate the acoustic environment 170 and the sound waves generated by the group of speakers 150.
[0018] After setting up the CTC simulation model 120, the audio design module 130 generates and inputs a test signal for reproduction by the virtual speaker. The CTC simulation model 120 causes the virtual speaker to reproduce the test signal as a sound wave propagating through the virtual acoustic domain. The virtual microphone captures sound pressure data at various locations within the virtual acoustic domain ( For example , frequency response). The CTC simulation model 120 processes the sound pressure data and determines a transfer function that reflects the characteristics of the sound waves at various locations in the acoustic domain. The CTC simulation model 120 constructs a transfer function matrix (H) of the acoustic environment based on the corresponding transfer function, and calculates the CTC filter matrix (C) as the inverse or pseudo-inverse of the transfer function matrix. The CTC filter matrix includes a set of frequency-domain-based CTC filters 132 for use by the speaker to provide effective crosstalk cancellation in a configuration similar to the configuration of the CTC simulation model 120. The audio design module 130 verifies the set of CTC filters included in the CTC filter matrix, converts the set of CTC filters into the time domain, and stores the set of time-domain-based CTC filter groups 132 in the memory 114. The designer computing device 102 broadcasts the set of CTC filters 132 to one or more client computer devices 140, where a given client computing device 140 stores the set of CTC filters 132 ( For example , the group of CTC filters 162).
[0019] When the audio playback module 160 subsequently receives a plurality of input audio signals for reproduction for a plurality of audio zones 172 within the acoustic environment 170, the audio playback module 160 identifies the set of CTC filters 162 as being suitable for the characteristics of the acoustic environment 170. The audio playback module 160 applies one or more of the CTC filters 162 to each of the input audio signals and transmits the filtered audio signals to each of the set of speakers 150. The set of speakers 150 reproduces the filtered audio signals by generating a set of sound waves 152 that propagate within the acoustic environment 170. Given an audio zone 172 ( For example , audio zone 172(2)) receives the set of sound waves 152. The set of sound waves 152 is combined into a sound field within a given audio zone 172(2) so that the sound fields corresponding to the intended use for different audio zones 172( For example , audio zones 172(1), 172(N). In this way, a listener within a given audio zone 172(2) will hear a distortion-limited reproduction of the input audio signal intended for the audio zone 172(2) in a manner that does not require specialized noise cancellation equipment (such as over-ear headphones).
[0020] The designer computing device 102 is a computing device used by the designer to generate a set of CTC filters 132. The designer computing device 102 generates and transmits the CTC filters 132 to be stored by one or more client computing devices 140 as a set of locally stored CTC filters 162 ( For example , one of CTC filters 162(1), 162(2), etc.). In various embodiments, the designer computing device 102 communicates with the client computing device 140 directly or via a network (not shown) to update the client computing device 140 with the CTC filters 132. In various embodiments, the designer computing device 102 executes the audio design module 130 and / or the CTC simulation model 120 to generate the CTC filters 132. In some embodiments, the CTC simulation model 120 initially generates a set of CTC filters in the frequency domain. In such cases, the designer computing device 102 converts the CTC filters to the time domain and stores the time-domain-based CTC filters 132 in the memory 114.
[0021] Processor 112 may be any suitable processor, such as a central processing unit (CPU), a graphics processing unit (GPU), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), and / or any other type of processing unit or combination of different processing units, such as a system on a chip (SoC), or a CPU configured to operate in conjunction with a GPU. In general, processor 112 may be any technically feasible hardware unit capable of processing data and / or executing software applications.
[0022] The memory 114 may include a random access memory (RAM) module, a flash memory unit, or any other type of memory unit or a combination thereof. The processor 112 is configured to read data from the memory 114 and write data to the memory. In various embodiments, the memory 114 includes a non-volatile memory, such as an optical drive, a magnetic drive, a flash drive, or other storage. In some embodiments, a separate data repository (such as an external device) included in a network ("cloud storage") supplements the memory 114. The audio design module 130 within the memory 114 can be executed by the processor 112 to implement the overall functionality of the designer computing device 102, including running simulations and solvers within the CTC simulation model 120, and thus coordinating the operation of the designer computing device 102 as a whole. In various embodiments, an interconnect bus (not shown) connects the processor 112, the memory 114, and any other components of the designer computing device 102.
[0023] The audio design module 130 configures the CTC simulation model 120 and inputs data therein, and manages the CTC filters 132 generated by the CTC simulation model 120. In various embodiments, the processor 112 executes the audio design module 130 to configure parameters associated with the CTC simulation model 120 that simulates operations within the virtual acoustic environment. The configured CTC simulation model 120 generates a set of CTC filters that amplify active area signals and attenuate other area signals within the acoustic domain of the virtual acoustic environment. In some embodiments, the audio design module 130 verifies the CTC filters generated by the CTC simulation model 120 and converts the CTC filters from the frequency domain to the time domain. Additionally or alternatively, in some embodiments, the audio design module 130 transmits the set of CTC filters 132 to other devices ( For example , client computing device 140) for use during audio playback, and validates the CTC filter 132 after receiving a confirmation message and / or a verification message from the other device. For example, the audio design module 130 initially transmits the CTC filter 132 to the first client computing device 140(1), and validates the CTC filter 132 after receiving a verification message from the first client computing device 140(1) confirming the accuracy of the CTC filter 132.
[0024] In various embodiments, the audio design module 130 is a graphical user interface (GUI) that enables a user to visually position virtual audio zones, virtual microphones, and / or virtual speakers in a virtual three-dimensional acoustic environment. In some embodiments, the audio design module 130 enables a designer to manually control and / or modify one or more parameters of the CTC simulation model 120. For example, the audio design module 130 adjusts the number of virtual audio zones included, the number and / or position of one or more virtual speakers, the size and / or properties of the three-dimensional environment ( For example , the shape of the boundary, the amount of reverberation at the boundary, etc.). In some embodiments, the audio design module 130 reconfigures the CTC simulation model 120 with different parameters to generate multiple sets of different CTC filters. For example, the audio design module 130 uses a first set of parameters to configure the CTC simulation model 120 to a first configuration including three audio zones and eight speakers. After obtaining the first set of CTC filters 132(1)-132(L) for the first configuration, the audio design module 130 reconfigures the CTC simulation model 120 to a second configuration including four audio zones and eight speakers to generate a second set of CTC filters 132(L+1)-132(X). In various embodiments, the audio design module 130 broadcasts each set of CTC filters 132(1)-132(L), 132(L+1)-132(Z), which can be based on the actual acoustic environment ( For example , characteristics of an acoustic environment 170 including three audio zones 172(1)-172(N) and eight speakers 150(1)-150(8) are selected to filter the audio input signal.
[0025] The CTC simulation model 120 is a computer model for simulating the operation and physical effect in the virtual acoustic environment, and the operation of one or more virtual devices in the virtual acoustic environment. In some embodiments, the CTC simulation model 120 is trained with the measured data of the frequency response recorded in the test acoustic environment. In some embodiments, the CTC simulation model 120 is a finite element analysis (FEA) tool, which calculates and / or generates software or virtual hardware based on the simulated operation in the virtual acoustic environment. For example, the CTC simulation model 120 generates frequency data, such as the frequency domain representation of the sound wave propagated from the virtual speaker. In such cases, the CTC simulation model 120 calculates the transfer function associated with the frequency data, such as the transfer function representing the change of the sound wave at two positions in the virtual acoustic environment. In some embodiments, the audio design module 130 generates one or more test signals in the frequency domain as the input to the CTC simulation model 120. Additionally or alternatively, the CTC simulation model 120 converts various signals into the frequency domain, and determines the characteristics of a group of CTC filters 132 based on the signal analysis and virtual measurement results in the frequency domain. For example, the audio design module 130 downsamples and / or uses a fast Fourier transform to convert the time domain representation of the input audio signal into frequency data. In such cases, the frequency data is in a complex format so that all the acoustic energy in the input audio signal is preserved when input into the CTC simulation model 120.
[0026] In some embodiments, the CTC simulation model 120 includes one or more component models for simulating one or more parts of a virtual acoustic environment. In some embodiments, the component model includes an acoustic domain model 122 simulating a sound wave emitted from a virtual speaker. Additionally or alternatively, the component model includes one or more device models 124 simulating the operation of a virtual speaker converting an input audio signal into a sound wave. In some embodiments, the CTC simulation model 120 uses a subset of component models to estimate the sound pressure data of the entire virtual acoustic environment. For example, the CTC simulation model 120 calculates a transfer function based on the sound pressure data in the acoustic domain model 122. The solver included in the CTC simulation model 120 uses the transfer function of the acoustic domain model 122 to estimate the transfer function of the virtual acoustic environment. Alternatively, in some embodiments, the solver of the CTC simulation model 120 combines two or more models to simulate the operation within the entire virtual acoustic environment. For example, the CTC simulation model 120 uses one or more device models 124 to simulate a virtual speaker that reproduces an input signal as a sound wave. In such cases, the solver of the CTC simulation model 120 determines the transfer function of each of the corresponding device models 124 and combines the transfer functions of the device models 124 with the transfer function of the acoustic domain model 122 to determine the total transfer function of the virtual acoustic environment. After calculating the transfer function of the virtual acoustic environment, the solver of the CTC simulation model 120 calculates a set of CTC filters 132 in the frequency domain as the inverse or pseudo-inverse of the transfer function of the virtual acoustic environment.
[0027] The acoustic domain model 122 is a computer model of the operation and physical phenomena in one or more parts of the simulated acoustic environment 170. In various embodiments, the acoustic domain model 122 simulates the propagation of sound waves in at least a part of the acoustic environment 170. In such cases, the CTC simulation model 120 includes a virtual device (such as a virtual microphone) to obtain the sound pressure data in the virtual acoustic domain. In various embodiments, the solver included in the CTC simulation model 120 uses the information from the acoustic domain model 122 to determine how the simulated sound waves propagate through the virtual acoustic environment. For example, the acoustic domain model 122 includes a plurality of virtual microphones that measure the virtual sound pressure data in the virtual acoustic environment. In such cases, the solver of the CTC simulation model 120 obtains the frequency response included in the sound pressure data, and calculates the transformation function between the individual positions based on the frequency response measured by different virtual microphones. In some embodiments, the CTC simulation model 120 uses the transformation function associated with the acoustic domain model 122 to estimate the transfer function of the entire virtual acoustic environment. In such cases, the CTC simulation model 120 computes the set of CTC filters 132 in the frequency domain as the inverse or pseudo-inverse of the transfer function of the acoustic domain model 122, where the filtered signal is attenuated based on an accurate simulation of how virtual sound waves propagate through the virtual acoustic environment.
[0028] The device model 124 simulates the operation of the speaker 150 that provides the group of sound waves 152 to the acoustic environment 170. In various embodiments, the CTC simulation model 120 uses the device model 124 to simulate the performance of several types of virtual speakers that receive input signals and reproduce the input signals as virtual sound waves. In some embodiments, the device model 124 is a multi-physics model, such as an electric, electromagnetic and solid mechanics field model, which simulates multiple aspects of a given speaker 150. For example, the device model 124 simulates phenomena that occur simultaneously, such as electromagnetic and acoustic phenomena. In various embodiments, the solver of the CTC simulation model 120 calculates the transfer function of the device model 124, wherein the transfer function represents the frequency change between the input audio signal and the output virtual sound wave. In such cases, the CTC simulation model 120 uses the transfer function of the device model 124 to estimate how the virtual speaker modifies the input audio signal, and combines the transfer function of the device model 124 with the transfer function of other device models 124 and / or the transfer function of the acoustic domain model 122. The solver of the CTC simulation model 120 estimates the transfer function of the entire virtual acoustic environment using the combined transfer functions, and generates the CTC filter 132 as the inverse or pseudo-inverse of the transfer function of the entire virtual acoustic environment.
[0029] In some embodiments, the CTC simulation model 120 includes a plurality of device models 124. For example, the CTC simulation model 120 includes a first type of speaker ( For example, tweeter) and a first device model 124(1) simulating the operation of a second type of speaker ( For example , a subwoofer). The CTC simulation model 120 uses the corresponding device models 124(1), 124(2) to determine a separate transfer function for each of the corresponding virtual speakers, and merges the separate transfer functions into a transfer function for the entire virtual acoustic environment. Additionally or alternatively, the CTC simulation model 120 incorporates multiple instances of the same device model 124. For example, the CTC simulation model 120 includes two additional device models 124(3)-124(4) that similarly represent the operation of a tweeter. In such cases, the CTC simulation model 120 uses each of the device models 124(1)-124(4) to simulate a different virtual speaker that produces sound waves that propagate through the virtual acoustic environment.
[0030] The crosstalk cancellation filters 132, 162 modify the characteristics of the input signal. The CTC filter 132 can be provided by the playback module ( example like , audio playback module 160) is used to apply to the input audio signal to modify each of the corresponding input signals to generate a filtered signal. When reproduced by the group of speakers 150, the filtered input signal attenuates the noise associated with crosstalk within the acoustic environment. In this way, the group of CTC filters 132 collectively enables a group of speakers ( For example , loudspeaker 150) is capable of simultaneously reproducing multiple input audio signals, wherein a listener hears a desired input audio signal at a target listening position while attenuating input signals at all remaining target listening positions.
[0031] In various embodiments, a set of CTC filters 132 are included in a CTC filter matrix that are collectively the inverse or pseudo-inverse of the transfer function matrix of the acoustic environment 170, as shown by Equation 1:
[0032] [C]=[H] -1 Equation 1
[0033] Where H is the transfer function matrix and C is the CTC filter matrix. The CTC filters 132 collectively cause the speaker 150 to generate a set of sound waves 152 that are the audio region 172 ( For example , 170 (1)). In various embodiments, the audio playback module 160 applies each CTC filter 132 in the CTC filter matrix to one or more input audio signals to produce a set of filtered signals. The audio playback module 160 provides the filtered signals to the speaker 150 for reproduction. This inverse is applied to the audio signal intended for other audio regions ( For example , 170(2)-170(N)) minimizes distortion associated with a listener hearing other input signals within the audio region 172(1). In some embodiments, subsets of the filtered signals are combined to generate a speaker-specific filtered input signal for a given speaker 150. In such cases, the speaker 150 accordingly reproduces the speaker-specific filtered input signal as the set of sound waves 152, and the sound waves 152 are combined within the acoustic environment 170.
[0034] In various embodiments, the set of CTC filters 132 modifies the input signal based on the characteristics of the acoustic environment 170 or the parameters specified for the corresponding virtual acoustic environment, and the CTC simulation model 120 uses the parameters to generate the set of CTC filters 132. For example, the CTC simulation model 120 generates the set of CTC filters 132 according to the number of virtual speakers and / or the number of audio zones included in the virtual acoustic environment. Additionally or alternatively, the audio playback module 160 analyzes the acoustic environment 170 and selects a specific set of CTC filters 162 based on the characteristics of the acoustic environment 170.
[0035] The client computing device 140 is a device that executes the audio playback module 160 and drives the speaker 150 to generate the set of sound waves 152. In some embodiments, one or more of the client computing device 140 and / or the speaker 150 are included in one or more devices, such as a vehicle system ( For example , cars, buses, vans, airplanes, ships, etc.), consumer products ( For example , portable speakers, games, etc.), smart home devices ( For example , smart lighting systems, security systems, digital assistants, etc.), communication systems ( For example , telephone conference system, video conference system, speaker amplification system, etc.) and the like. In various embodiments, the client computing device 140 is located in various environments, including but not limited to indoor environments ( For example , vehicles, living rooms, meeting rooms, conference rooms, home offices, etc.) and / or outdoor environments ( For example , terraces, rooftops, gardens, etc.).
[0036] The processor 142 may be any suitable processor, such as a central processing unit (CPU), a graphics processing unit (GPU), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), and / or any other type of processing unit or combination of different processing units, such as a CPU configured to operate in conjunction with a GPU. In general, the processor 142 may be any technically feasible hardware unit capable of processing data and / or executing software applications. In some embodiments, the processor 142 may be a low-power processor. In such cases, the digital signal processor performs lightweight computations, including real-time processing of electrical signals to generate filtered audio signals.
[0037] Memory 144 may include random access memory (RAM) modules, flash memory cells, EEPROM or any other type of memory cells or combinations thereof. Processor 142 is configured to read data from memory 144 and write data to the memory. In various embodiments, memory 144 includes non-volatile memory, such as an optical drive, a magnetic drive, a flash drive or other storage. In some embodiments, a separate data repository (such as an external data repository) included in a network ("cloud storage") may supplement or constitute memory 144. In some embodiments, the audio playback module 160 in memory 144 is executed by processor 142 to implement the overall functionality of client computing device 140. In various embodiments, an interconnect bus (not shown) connects processor 142, memory 144 and any other components of client computing device 140.
[0038] The audio playback module 160 drives the speaker 150 to generate a sound field at least partially in the acoustic environment 170 using the set of sound waves 152. In various embodiments, the audio playback module 160 selects a specific set of CTC filters 162 to provide a set of input audio signals to one or more audio zones 172. The audio playback module 160 uses the selected set of CTC filters 162 to generate a sound field for the audio zones 172 within the acoustic environment 170. For example, Table 1 lists an example partition configuration for two audio zones 172.
[0039]
[0040] Table 1: Two audio zone configurations
[0041] In various embodiments, the audio playback module 160 uses the selected set of CTC filters 162 to process multiple input audio signals provided by one or more audio sources. The audio playback module 160 processes the filtered audio signals ( For example, speaker-specific filtered audio signals) are distributed for reproduction by the speaker 150. For example, the audio playback module 160 receives a set of input audio signals from one or more audio sources (such as one or more personal media players and / or one or more content providers connected via a network). In such cases, the audio playback module 160 uses the selected set of CTC filters 162 to process the set of input audio signals received from the one or more audio sources.
[0042] The acoustic environment 170 is a portion of the physical environment through which the sound waves 152 generated by the speaker 150 propagate. In various embodiments, the acoustic environment 170 includes various properties, such as sound vibrations from other sources, reverberation barriers, and inaudible sounds. In some embodiments, the acoustic environment 170 is modeled by the CTC simulation model 120 as a soundscape that generates sounds that can be heard by the listener. For example, the acoustic environment 170 is a three-dimensional representation of a portion of an open physical environment (such as a field in a park) or an entire closed environment (such as the interior cabin of a vehicle). Based on the characteristics of the modeled acoustic environment 170, the CTC simulation model 120 simulates the sound waves propagating in a virtual acoustic environment corresponding to the acoustic environment 170. In some embodiments, the client computing device 140 and / or the speaker 150 are in the acoustic environment 170.
[0043] Audio Zone 172( For example , 172(1)-172(N)) include one or more target areas within the acoustic environment 170 that will receive the target sound. The audio playback module 160 uses a set of CTC filters 162, which corresponds to the number of audio zones 172 included in the acoustic environment 170 and the number of speakers 150 that provide the set of sound waves 152 to the acoustic environment. After filtering the input signal using the applicable set of CTC filters 162, the speaker 150 reproduces the filtered signal as the set of sound waves 152. The set of sound waves 152 is combined in each of the corresponding audio zones 172 so that a listener in a certain audio zone 172 hears the input signal for the audio zone 172, while other input signals intended for other audio zones 172 are attenuated. For example, a listener in audio zone 1 172(1) clearly hears the input signal s 1 , and the combined filtered signal makes it less likely that the listener will hear the input signal s 2 to N, that is, the input signal intended for audio zone 2 172 (2) to audio zone N 172 (N). In some embodiments, at least one of the audio zones 172 is a silent zone, where the listeners in the audio zone 172 cannot hear the audio. In such a case, the audio playback module 160 provides a cancel signal as an input signal corresponding to the silent audio zone, so that the group of speakers 150 generates a silent audio zone 172.
[0044] Figure 2 According to various embodiments, Figure 1 1. An example virtual acoustic environment 200 modeled by the CTC simulation model 120. As shown but not limited to, the virtual acoustic environment 200 includes a frequency-domain-based input signal 212, a solver 220, a CTC filter 232, and a virtual acoustic environment 260. The virtual acoustic environment 260 includes, but is not limited to, a group of virtual speakers 250 and a group of virtual audio zones 270.
[0045] In operation, the audio design module 130 specifies parameters for the virtual acoustic system, including the number and location of virtual audio zones 270 and / or the number and location of virtual speakers 250. The CTC simulation model 120 generates a virtual acoustic environment 260 including the specified virtual speakers 250 and virtual audio zones 270. The CTC simulation model generates a frequency-domain-based input signal 212 to the selected virtual speakers 250 ( For example , 250(2)), and performs component simulation using the acoustic domain model 122 and / or the device model 124. The selected virtual speaker 250(2) reproduces the test signal 210 as a virtual sound wave, and a virtual microphone (not shown) positioned within the virtual acoustic environment 260 records the measurement results of the frequency response of the virtual sound wave. The solver 220 analyzes the frequency responses from the corresponding virtual microphones to calculate the transfer functions between the locations within the virtual acoustic environment 260. The CTC simulation model 120 then repeats this process for each speaker, inputting the test signal 210 into different virtual speakers 250 in turn, until the solver 220 calculates the transfer functions between the locations within the virtual acoustic environment 260 when each of the virtual speakers 250(1)-250(4) reproduces the test signal 210. The solver 220 constructs a transfer function matrix for the virtual acoustic environment 260 based on the calculated transfer functions. The solver 220 then generates the CTC filters 232 as components of a CTC filter matrix that is the inverse or pseudo-inverse of the transfer function matrix of the virtual acoustic environment 260 .
[0046] In some embodiments, the CTC simulation model 120 also uses a virtual acoustic environment 260 to verify the calculated CTC filter 232. In such cases, the CTC simulation model 120 receives an input audio signal and transforms it to generate a set of frequency-domain-based input signals 212. Then, the CTC simulation model modifies the frequency-domain-based input signal 212 with the CTC filter 132 to generate a filtered audio signal 240. Each of the corresponding virtual speakers 250 receives the corresponding filtered audio signal 240 and reproduces the filtered audio signal 240 as a sound wave. The virtual microphone records the frequency response based on the sound field generated by the group of virtual speakers 250. The solver 220 receives the frequency obtained by the virtual microphone to confirm that the calculated CTC filter 232 produces a corresponding virtual audio area 270.
[0047] In various embodiments, the audio design module 130 controls parameters of the virtual acoustic environment 260. For example, the audio design module 130 adjusts the number and location of the included virtual audio zones 270, the number and / or location of one or more virtual speakers 250, and / or the size and / or properties of the three-dimensional environment that defines the virtual acoustic environment 260. For example , the shape of the boundaries, the amount of reverberation at the boundaries, etc.). For example, the audio design module 130 defines the virtual acoustic environment 260 as an interior enclosure with reverberant walls, the interior enclosure including two virtual audio zones 270(1)-270(2) and four virtual speakers 250(1)-250(4), wherein each virtual audio zone 270 includes a pair of virtual speakers 250. In various embodiments, the audio design module 130 specifies different parameters. For example, the audio design module 130 specifies an arrangement that includes eight virtual speakers 250 for two virtual audio zones 270 and / or any other combination of the number of virtual speakers 250 and the number of audio zones 270.
[0048] In various embodiments, the parameters of the virtual acoustic environment 260 are based on a set of constraints associated with the physical acoustic environment. For example, the audio design module 130 includes at least two virtual speakers 250 for each corresponding virtual audio zone 270. In another example, the audio design module 130 constrains each virtual speaker 250 to receive a single speaker-specific filtered audio signal 240. In such cases, the CTC simulation model 120 combines the multiple filtered audio signals to generate the corresponding speaker-specific filtered audio signal 240.
[0049] In some embodiments, the solver 220 performs finite element analysis or other mathematical modeling to solve equations associated with the CTC filter 232. In such cases, the solver 220 iteratively generates a CTC filter 232 having specific spectral characteristics and modifies the characteristics based on subsequent use during the validation process. In such cases, the solver 220 compares the virtual frequency response recorded using the virtual microphone to a predefined maximum threshold, thereby generating a crosstalk signal above the threshold within a given virtual audio region 270 ( For example , corresponding to rejecting the CTC filter 232 when the sound of the input signal 212(2) (intended for the virtual audio zone 270(2)) is above the audible threshold of the virtual audio zone 270(1)).
[0050] Figure 3 A plurality of component models 122, 124 included in a virtual acoustic environment 300 according to various embodiments are shown. As shown and not limited to, the virtual acoustic environment 300 includes an acoustic domain model 122 and a device model 124. The device model 124 includes, but is not limited to, a virtual speaker 250. The acoustic domain model 122 includes, but is not limited to, a virtual acoustic environment 260. The virtual acoustic environment 260 includes, but is not limited to, a virtual reference microphone 310 and a set of virtual target microphones 320.
[0051] In operation, the CTC simulation model 120 inputs a test signal to the virtual speaker 250. The CTC simulation model 120 executes the device model 124 to simulate the virtual speaker 250 that outputs the audio reproduction of the test signal. The virtual sound wave 330 generated by the virtual speaker 250 propagates through the virtual acoustic environment 260. The virtual reference microphone 310 records a frequency response based on the virtual sound wave 330 at a position close to the virtual speaker 250. The set of virtual target microphones 320 records a frequency response based on the virtual sound wave 330 at various positions within the virtual acoustic environment 260.
[0052] In various embodiments, the virtual target microphone 320 measures the frequency response of both direct sound waves and reflected sound waves under steady-state conditions. For example, the virtual target microphone 320(2) acquires sound pressure data based on the direct virtual sound wave 330(2) and one or more reflected virtual sound waves (not shown), wherein the characteristics of the reflected virtual sound waves are based on the parameters ( For example , the shape of the boundary, the amount of reverberation at the boundary, etc.
[0053] The solver 220 receives the frequency responses recorded by the virtual microphones 310, 320 and calculates a transfer function based on the difference between the frequency responses; the calculated transfer function is included in the transfer matrix of the acoustic domain model 122. In some embodiments, the solver 220 calculates the transfer function based on the frequency data associated with the test signal and the virtual sound wave 330; the calculated transfer function is the transfer function of the device model 124. In some embodiments, the solver 220 uses the transfer function matrix of the acoustic domain model 122 as an estimated representation of the transfer function of the virtual acoustic environment. In various embodiments, the solver 220 determines the transfer function matrix of the acoustic domain model 122 based on the direct virtual sound wave 330 and the reflected sound wave, and thereby generates a more accurate CTC filter 132, 232 for the reverberant acoustic environment. In addition, the solver 220 generates CTC filters 132, 232 that are independent of the characteristics of the virtual speaker 250 and work for a wide range of speaker types other than the speaker type associated with the device model 124. Alternatively, in some embodiments, the solver 220 combines the transfer function matrix of the acoustic domain model 122 with the transfer function of the device model 124 via convolution to determine the transfer function of the virtual acoustic environment.
[0054] Figure 4 is a diagram showing a method for generating a Figure 2 Schematic diagram of a CTC filter matrix 410 of an acoustic environment 400 modeled by the CTC simulation model 120. As shown and not limited to, the acoustic environment 400 includes a set of input audio signals 402, a CTC filter matrix 410, a set of speaker-specific filtered signals 450, a set of speakers 150, a set of sound waves 452, an acoustic environment transfer function matrix 460, a set of sound fields 462, and a set of audio zones 172.
[0055] In operation, the solver 220 of the CTC simulation model 120 determines an acoustic environment transfer function matrix 460 based on analyzing the virtual acoustic environment 260. The solver 220 generates a CTC filter matrix 410 as an inverse or pseudo-inverse of the acoustic environment transfer function matrix 460. When the audio playback module 160 determines that the characteristics of the acoustic environment 400 are similar to the parameters of the virtual acoustic environment used to generate the CTC filter matrix 410, the audio playback module 160 selects the CTC filter matrix 410 for use to provide an input audio signal 402 to the audio zone 172. The audio playback module 160 applies the CTC filter matrix 410 to the input audio signal 402 to generate a set of speaker-specific filtered signals 450.
[0056] The audio playback module 160 inputs the speaker-specific filtered signal 450 to the corresponding speaker 150. The speaker 150 generates a set of sound waves 452 that travel through the acoustic environment 400. The acoustic environment transfer function matrix 460 models how the acoustic environment 170 modifies the set of sound waves 452 to generate a sound field 462 for each corresponding audio zone 1. A listener in a given audio zone hears a sound field 462 that provides a sound signal corresponding to the input audio signal ( For example , input audio signal (s 1 )402(1)) and make the input audio signal ( For example , input audio signal (s 2 )402(2))attenuation.
[0057] In various embodiments, the solver 220 determines an acoustic environment transfer function matrix (H) 460 based at least on the acoustic domain matrix. The CTC simulation model 120 calculates the acoustic domain matrix by iteratively driving a single virtual speaker using a test signal. The solver 220 obtains the frequency responses of the virtual microphones 310, 320 at various locations within the virtual acoustic environment 260, and determines one or more transfer functions in the acoustic domain based on the corresponding frequency responses.
[0058] For example, CTC simulation model 120 determines the frequency response H by driving virtual speaker 250(1) corresponding to speaker A 150(1) with the test signal. A1 and H A2 The virtual reference microphone 310 and the virtual target microphones 320(1), 320(3) positioned in the respective virtual audio zones 270(1), 270(2) corresponding to the audio zones 172(1), 170(2) measure the frequency response of the virtual sound wave 330. The solver 220 compares the respective frequency responses to determine the frequency response H based on the virtual speaker A providing the sound wave to the first virtual audio zone 270(1). A1 , and determining the frequency response H based on the virtual speaker A providing sound waves to the second virtual audio zone 270(2) A2 The solver 220 repeats this process for each virtual speaker 250(2)-250(4) corresponding to speaker B 150(2) through speaker D 150(4) to generate an mxn acoustic domain matrix H D , as shown in Equation 2:
[0059]
[0060] In some embodiments, the solver 220 uses the acoustic domain matrix as an estimate of the acoustic environment transfer function matrix (H) 460, as shown in Equation 3:
[0061] [H]=[H D Equation 3
[0062] Alternatively, in some embodiments, the solver 220 determines the transfer function of the corresponding virtual speaker 250. In such cases, the solver 220 converts the virtual speaker transfer function H S is combined with the acoustic domain transfer function to determine the acoustic environment transfer function matrix 460, as shown in Equation 4:
[0063] [H]=[H D ]*[H S Equation 4
[0064] After determining the acoustic environment transfer function matrix 460, the solver 220 calculates the CTC filter matrix (C) 410 as the inverse of the acoustic environment transfer function matrix (H) 460. In some embodiments, the acoustic environment transfer function matrix (H) 460 is not a square matrix. In such cases, the solver 220 calculates the CTC filter matrix 410 as an n xm matrix, which is the pseudo-inverse of the acoustic environment transfer function matrix 460, as shown in Equation 5:
[0065]
[0066] The solver 220 then validates the CTC filter matrix 410. In such cases, the designer computing device 102 converts the CTC filter matrix 410 to the time domain and distributes the frequency-domain based CTC filter matrix 410 to one or more client computing devices 140. In some embodiments, the designer computing device 102 converts the CTC filter matrix 410 in the frequency domain to the set of CTC filters 132 based in the time domain using a finite impulse response (FIR) filter setting that Hilbert transforms the imaginary part, thereby generating two filters. The designer computing device 102 then combines the two filters to generate the CTC filter matrix 410 in the time domain.
[0067] When the audio playback module 160 executing on the client computing device 140 determines that the plurality of input audio signals 402(1), 402(2) are provided to the audio zones 172(1), 172(2), respectively, the audio playback module 160 retrieves the CTC filter matrix 410. In some embodiments, the client computing device 140 stores a plurality of CTC filter matrices 410. In such cases, the audio playback module 160 determines the characteristics of the acoustic environment 170 ( For example, the number and position of speakers 150, the number and position of audio zones 172, etc.) to identify and select a specific CTC filter matrix 410 corresponding to the characteristics of the acoustic environment 170.
[0068] When the audio playback module 160 receives the corresponding input audio signal 402, the audio playback module 160 applies one or more CTC filters 132 included in the CTC filter matrix 410 to generate a set of filtered audio signals. A1 The CTC filter is applied to the first input audio signal s 1 402(2) to generate a filtered audio signal (It should be noted that is a convolution operation in the time domain). The audio playback module 160 then combines the filtered audio signals for each speaker to generate a set of speaker-specific filtered signals (v) 450, as shown in Equation 6-9:
[0069]
[0070] The audio playback module 160 transmits a set of speaker-specific filtered signals 450(1)-450(4) to corresponding speakers 150(1)-150(4). The speakers 150 reproduce the corresponding speaker-specific filtered signals 450, thereby generating sound waves (W) 452. The sound waves 452 travel within the acoustic environment 400. The sound waves 452 are combined within the acoustic environment 400, and the acoustic environment transfer function matrix 460 represents how the acoustic environment 400 modifies the sound waves 452 to generate combined sound waves 452, which produce a sound field (F) 462 for the corresponding audio zone 172. A listener in a given audio zone 172(1) hears the sound field F provided to the audio zone 172(1). 1 462(1). Sound field F1 462(1) provides an input audio signal s corresponding to the input audio signal intended for audio zone 172(1). 1 402(1)t sound, and make the corresponding intended for another audio zone (For example , the input audio signal of audio area 172(2)) ( For example , input audio signal (s 2 )402(2)) sound attenuation.
[0071] In some embodiments, the listener may desire that the audio zone 172 remain silent. In such cases, the audio playback module 160 retrieves the empty input audio signal 402 ( For example , a signal set to 0). The resulting sound field 462 produces a quiet area within the audio region 172 specified by the listener.
[0072] Figure 5 A flow chart illustrating method steps for generating a set of CTC filters for a set of speakers using a CTC simulation model according to various embodiments. Figures 1 to 4 Although the method steps are described in the embodiments of the present disclosure, those skilled in the art will understand that any system configured to implement the method steps in any order falls within the scope of the present disclosure.
[0073] As shown, method 500 begins at step 502, wherein CTC simulation model 120 converts the test audio signal into frequency domain. In various embodiments, CTC simulation model 120 uses a transform (such as Fourier transform) to transform the test audio signal from the time domain to the frequency domain. For example, CTC simulation model uses FFT to transform the test audio signal into one or more frequency components. Then, CTC simulation model 120 reproduces the frequency domain test signal based on virtual speaker 250 and uses the frequency domain test signal for further frequency analysis.
[0074] At step 504, the CTC simulation model 120 places the virtual target microphone in the virtual audio zone of the virtual acoustic environment. In various embodiments, the audio design module 130 specifies parameters for the CTC simulation model 120, wherein the parameters include the position of the virtual target microphone 320 within the virtual acoustic environment 260 ( For example , position and orientation). The specified position corresponds to the listening position of one or more listeners within the audio zone 172 of the acoustic environment 170. In some embodiments, the parameters specify at least one position in each virtual audio zone 270. Alternatively, in some embodiments, the parameters specify two or more positions in the virtual audio zone 270. The CTC simulation model 120 processes the parameters and places a virtual target microphone 320 at each of the specified positions. The frequency response measured by the virtual target microphone 320 at the specified position indicates the sound pressure at the position, which indicates the sound that the listener will hear at the specified position.
[0075] At step 506, the CTC simulation model 120 places a virtual reference microphone close to the virtual speaker being measured. In various embodiments, the audio design module 130 specifies parameters for the CTC simulation model 120, wherein the parameters include the position of the virtual speaker 250 within the virtual acoustic environment 260 ( For example , position and orientation). The CTC simulation model 120 processes the parameters and places the virtual reference microphone 310 at a position close to the virtual speaker 250. In such a case, the frequency response measured by the virtual reference microphone 310 indicates the sound pressure generated by the virtual speaker 250 before the virtual sound wave 330 propagates through the virtual acoustic environment 260.
[0076] At step 508, the CTC simulation model 120 transmits the frequency domain test signal to the virtual speaker. In various embodiments, the CTC simulation model 120 activates the single virtual speaker 250(1) by transmitting the frequency domain test signal to the single virtual speaker 250(1) and refraining from transmitting the frequency domain test signal to other virtual speakers 250(2)-250(N) within the virtual acoustic environment. For example , virtual speakers 250(1)) reproduce a simulation of the input audio signal. In such cases, the single virtual speaker 250(1) outputs a reproduction of the frequency domain test signal in the form of a virtual sound wave that propagates through the virtual acoustic environment 260.
[0077] At step 510, the CTC simulation model 120 determines a transfer function between a virtual reference microphone and a virtual target microphone. In various embodiments, a solver 220 included in the CTC simulation model 120 receives sound pressure data from a virtual reference microphone 310 and a virtual target microphone 320, wherein the microphone 310 acquires sound pressure data associated with a virtual speaker that outputs a virtual sound wave. The solver 220 compares the sound pressure data of a given virtual target microphone 320 relative to the virtual reference microphone 310 to determine the transfer function of the given virtual target microphone 320. In some embodiments, the virtual acoustic environment 260 includes two or more virtual target microphones 320. In such a case, the solver 220 calculates a separate transfer function between each virtual target microphone 320 and the virtual reference microphone 310.
[0078] At step 512, the CTC simulation model 120 determines whether each virtual speaker has been simulated. In various embodiments, the CTC simulation model 120 determines whether the CTC simulation model 120 has tested each virtual speaker 250 in the virtual acoustic environment 260. When the CTC simulation model 120 determines that at least one virtual speaker 250 has not been tested, the CTC simulation model 120 returns to step 506 to move the virtual reference microphone 310 to a position close to the virtual speaker 250 being tested. Otherwise, the CTC simulation model 120 determines that each virtual speaker 250 has been tested and proceeds to step 514.
[0079] At step 514, the CTC simulation model 120 generates an acoustic environment transfer function matrix based on the determined transfer functions. In various embodiments, the solver 220 of the CTC simulation model generates an acoustic environment transfer function matrix 460 based on the transfer functions determined for each virtual speaker 250. In some embodiments, the solver 220 combines transfer functions based on multiple virtual target microphones 320. For example, the solver 220 first determines a separate transfer function between each virtual target microphone 320(1)-320(3) and the virtual reference microphone 310. The solver then combines each of the transfer functions to generate a transfer function for the virtual speaker relative to the group of virtual target microphones 320.
[0080] In some embodiments, the acoustic environment transfer function matrix 460 includes a separate transfer function for each virtual speaker 250 relative to each virtual audio zone 270. For example, when analyzing a virtual acoustic environment 260 including 3 audio zones and 6 virtual speakers, the solver 220 generates a 3x6 mxn matrix that includes each of the 18 corresponding transfer functions determined by the solver 220.
[0081] At step 516, the CTC simulation model 120 generates a CTC filter matrix based on the acoustic environment transfer function matrix. In various embodiments, after determining the acoustic environment transfer function matrix 460, the solver 220 of the CTC simulation model 120 determines the CTC filter matrix 410 based on the contents of the acoustic environment transfer function matrix 460. For example, the solver 220 determines the CTC filter matrix 410 as the inverse or pseudo-inverse of the acoustic environment transfer function matrix 460. According to the above example, the solver 220 generates a pseudo-inverse 6x3 matrix including 18 CTC filters 132, each of which corresponds to a specific virtual speaker ( For example , CTC filter C C3 is a CTC filter for virtual speaker C that provides sound to audio zone 3).
[0082] At step 518, the designer computing device 102 transmits the CTC filter matrix to one or more client computing devices 140. In some embodiments, after generating the CTC filter matrix 410, the solver 220 validates the CTC filter matrix 410, and the designer computing device 102 converts the CTC filter matrix 410 to the time domain. The designer computing device 102 then distributes the time-domain based CTC filter matrix 410 to one or more client computing devices 140 for use during playback. The CTC filter matrix 410 can be used by the audio playback module 160 to filter a set of input audio signals to generate sound waves 152 within the acoustic environment 170.
[0083] In a word, the audio processing system sets parameters for the computer model to simulate the operation of a group of speakers in an acoustic environment. The audio processing system modifies one or more parameters of a crosstalk cancellation (CTC) simulation model to analyze the operation of a virtual speaker providing a virtual sound wave in a virtual acoustic environment. Parameters include the number and position of virtual audio zones providing different virtual sound fields, the number and position of virtual speakers providing virtual sound waves forming a virtual sound field, and the existence and characteristics of a reflective surface providing a reverberant virtual sound wave in a virtual acoustic environment. The CTC simulation model includes an acoustic domain model simulating a virtual sound wave propagating through a virtual acoustic environment from one or more virtual speakers. The CTC simulation model also optionally includes one or more device models of a virtual speaker simulating an input signal converted into a virtual sound wave.
[0084] The CTC simulation model simulates the operation of each virtual speaker included in the virtual acoustic environment by transmitting a test signal and measuring the frequency response in the virtual acoustic environment at different positions. The positions include a reference position close to the virtual speaker being tested and one or more target positions in each corresponding audio zone. The CTC simulation model determines the transfer function between each corresponding target position and the reference position, and generates an acoustic domain transfer function matrix including each determined transfer function. The CTC simulation model uses the acoustic domain transfer function matrix as an approximation of the transfer function of the entire virtual acoustic environment. Then, the CTC simulation model generates a CTC filter matrix as an inverse matrix or pseudo-inverse matrix of the acoustic domain transfer function matrix. The CTC filter matrix is converted from the frequency domain to the time domain and can be used by the output device to filter the input audio signal.
[0085] When the playback device receives a separate input signal to be played to a corresponding audio zone in an acoustic environment modeled by the CTC simulation model, the playback device applies the CTC filter matrix to the input signal to generate a filtered signal, which is used to drive a speaker to generate a corresponding sound wave. The sound waves are combined in the acoustic environment to generate a separate sound field for the audio zone. The group of sound waves 152 is combined in each of the corresponding audio zones 172 so that the listener in a certain audio zone 172 hears the input signal, while other input signals intended for other audio zones 172 are attenuated.
[0086] At least one technical advantage of the disclosed technology over the prior art is that, through the disclosed technology, an audio processing system can more accurately generate multiple sound fields in a reverberant acoustic environment with lower distortion, thereby improving the auditory experience of listeners in the sound zone. Specifically, by implementing a CTC simulation model including an acoustic domain model that accurately models sound waves propagating in a reverberant environment, the audio processing system determines a more accurate transfer function between the position of the listener in the acoustic environment and the position of the output device that provides the sound field. Therefore, the audio processing system generates a more accurate estimate of the frequency response in the acoustic environment and a more accurate crosstalk cancellation filter to reduce the distortion associated with other audio zones, thereby improving the auditory experience of users in the audio zone. In addition, the disclosed technology reduces the time spent collecting physical measurements of frequency responses at various locations in a physical test environment, where otherwise accurate crosstalk cancellation filters need to be generated. These technical advantages provide one or more technical advances over prior art methods.
[0087] 1. In various embodiments, a computer-implemented method for generating a crosstalk cancellation (CTC) filter for a reverberant acoustic environment having multiple audio zones includes: determining a first set of frequency responses for respective positions proximate to one or more speakers located in the acoustic environment, and a second set of frequency responses for respective listening positions in the acoustic environment based on a CTC simulation model of the acoustic environment; generating an acoustic environment transfer function matrix for the acoustic environment based on the first set of frequency responses and the second set of frequency responses; and generating a set of CTC filters for a set of speakers in the acoustic environment based on the acoustic environment transfer function matrix.
[0088] 2. The computer-implemented method of clause 1, further comprising determining a set of audio zones within the acoustic environment, wherein each audio zone in the set of audio zones includes at least one listening position, and the set of CTC filters is further based on the set of audio zones.
[0089] 3. A computer-implemented method as described in clause 1 or 2, wherein the CTC filter, when used to filter the input audio signal, generates a signal corresponding to a selection of the input audio signal for a first audio zone in the set of audio zones, and a set of one or more cancellation signals, each of the set of one or more cancellation signals corresponding to another audio zone in the set of audio zones.
[0090] 4. The computer-implemented method of any one of clauses 1 to 3, wherein the set of audio zones includes at least one silent audio zone.
[0091] 5. A computer-implemented method as described in any of clauses 1 to 4, further comprising transmitting the set of CTC filters to a client computing device, wherein the CTC filters can be used by the client computing device to filter a set of input audio signals to generate corresponding sound fields in the set of audio zones in the reverberant acoustic environment using the set of speakers.
[0092] 6. A computer-implemented method as described in any of clauses 1 to 5, wherein the CTC simulation model includes a multi-physics model that simulates the operation of at least one speaker in the set of speakers that reproduces the input audio signal.
[0093] 7. A computer-implemented method as described in any of clauses 1 to 6, wherein the CTC simulation model includes an acoustic domain model, the acoustic domain model includes a virtual acoustic environment having one or more reflective surfaces, the positions close to the one or more speakers and the listening position, and the acoustic environment transfer function matrix is based on the acoustic domain transfer function matrix associated with the first set of frequency responses and the second set of frequency responses.
[0094] 8. A computer-implemented method as described in any of clauses 1 to 7, further comprising converting a set of time domain input signals into frequency domain signals, and inputting the frequency domain signals into the CTC simulation model to generate the first set of frequency responses and the second set of frequency responses.
[0095] 9. A computer-implemented method as described in any of clauses 1 to 8, wherein the CTC simulation model is updated with measurement data of frequency responses recorded in a physical acoustic environment.
[0096] 10. A computer-implemented method as described in any of clauses 1 to 9, wherein the set of CTC filters is included in a CTC filter matrix, and generating the set of CTC filters includes inverting the acoustic environment transfer function matrix to generate the CTC filter matrix in the time domain and the frequency domain.
[0097] 11. A computer-implemented method as described in any of clauses 1 to 10, wherein the set of CTC filters is included in a CTC filter matrix, and generating the set of CTC filters includes calculating the pseudo-inverse of the acoustic environment transfer function matrix to generate the CTC filter matrix.
[0098] 12. A computer-implemented method as described in any of clauses 1 to 11, wherein determining a first set of frequency responses and a second set of frequency responses comprises: for each of one or more virtual speakers corresponding to the one or more speakers, iteratively placing a virtual target microphone at each corresponding listening position; placing a virtual reference microphone close to the virtual speaker; emitting a test signal using the virtual speaker; acquiring frequency responses of the first set of frequency responses via the virtual reference microphone; and acquiring a frequency response subset of the second set of frequency responses via the virtual target microphone.
[0099] 13. In various embodiments, one or more computer-readable media store instructions for generating a crosstalk cancellation (CTC) filter for a reverberant acoustic environment having multiple audio zones, which instructions, when executed by one or more processors, cause the one or more processors to perform the following steps: determining a first set of frequency responses for corresponding positions close to one or more speakers located in the acoustic environment and a second set of frequency responses for corresponding listening positions in the acoustic environment based on a CTC simulation model of the acoustic environment; generating an acoustic environment transfer function matrix for the acoustic environment based on the first set of frequency responses and the second set of frequency responses; and generating a set of CTC filters for a set of speakers in the acoustic environment based on the acoustic environment transfer function matrix.
[0100] 14. One or more computer-readable media as described in clause 13, further comprising instructions that, when executed by the one or more processors, cause the one or more processors to perform the step of transmitting the set of CTC filters to a client computing device, wherein the CTC filters can be used by the client computing device to filter a set of input audio signals to generate corresponding sound fields in the set of audio zones in the acoustic environment using the set of speakers.
[0101] 15. One or more computer-readable media as described in clause 13 or 14, wherein the CTC simulation model includes a multi-physics model that simulates the operation of at least one speaker in the set of speakers to reproduce the input audio signal.
[0102] 16. One or more computer-readable media as described in any of clauses 13 to 15, wherein the CTC simulation model includes an acoustic domain model, the acoustic domain model includes a virtual acoustic environment having one or more reflective surfaces, the positions close to the one or more speakers and the listening position, and the acoustic environment transfer function matrix is based on the acoustic domain transfer function matrix associated with the first set of frequency responses and the second set of frequency responses.
[0103] 17. One or more computer-readable media as described in any of clauses 13 to 16, further comprising converting a set of time domain input signals into frequency domain signals, and inputting the frequency domain signals into the CTC simulation model to generate the set of frequency responses.
[0104] 18. One or more computer-readable media as described in any of clauses 13 to 17, wherein the set of CTC filters is included in a CTC filter matrix, and generating the set of CTC filters includes inverting the acoustic environment transfer function matrix to generate the CTC filter matrix, or calculating the pseudo-inverse of the acoustic environment transfer function matrix to generate the CTC filter matrix.
[0105] 19. One or more computer-readable media as described in any of clauses 13 to 18, wherein determining a first set of frequency responses and a second set of frequency responses comprises: for each of one or more virtual speakers corresponding to the one or more speakers, iteratively placing a virtual target microphone at each corresponding listening position; placing a virtual reference microphone close to the virtual speaker; emitting a test signal using the virtual speaker; obtaining frequency responses of the first set of frequency responses via the virtual reference microphone; and obtaining a frequency response subset of the second set of frequency responses via the virtual target microphone.
[0106] 20. In various embodiments, a system for generating a crosstalk cancellation (CTC) filter for a reverberant acoustic environment having multiple audio zones includes: a memory storing instructions for generating a CTC simulation model of an acoustic environment; and a processor coupled to the memory, the processor implementing the CTC simulation model by performing the following steps: determining a first set of frequency responses for corresponding positions close to one or more speakers located in the acoustic environment and a second set of frequency responses for corresponding listening positions in the acoustic environment based on the CTC simulation model; generating an acoustic environment transfer function matrix for the acoustic environment based on the first set of frequency responses and the second set of frequency responses; and generating a set of CTC filters for a set of speakers in the acoustic environment based on the acoustic environment transfer function matrix.
[0107] Any and all combinations of any of the claim elements of any of the claims and / or any of the elements described in this application, in any form, are within the intended scope of the invention and protection.
[0108] The description of the various embodiments has been presented for purposes of illustration, but is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments.
[0109] Aspects of the embodiments of the present invention may be embodied as systems, methods, or computer program products. Therefore, aspects of the present disclosure may take the form of a complete hardware implementation, a complete software implementation (including firmware, resident software, microcode, etc.), or an implementation that combines software and hardware aspects that are generally referred to as "modules", "systems" or "computers" in this article. In addition, any hardware and / or software technology, process, function, component, engine, module, or system described in the present disclosure may be implemented as a circuit or circuit group. In addition, aspects of the present disclosure may take the form of a computer program product, which is embodied in one or more computer-readable media having computer-readable program code embodied thereon.
[0110] Any combination of one or more computer-readable media may be utilized. A computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium. A computer-readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or apparatus, or any suitable combination of the foregoing. More specific examples (non-exhaustive list) of computer-readable storage media would include the following media: an electrical connection with one or more wires, a portable computer floppy disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer-readable storage medium may be any tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or apparatus.
[0111] Aspects of the present disclosure are described above with reference to the flowchart illustration and / or block diagram of the method, device (system) and computer program product according to the embodiments of the present disclosure. It should be understood that each frame in the flowchart illustration and / or block diagram and the frame combination of the flowchart illustration and / or block diagram can be realized by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer or other programmable data processing device to produce a machine. Instructions enable the function / action specified in one or more frames of the flowchart and / or block diagram to be realized when executed via the processor of a computer or other programmable data processing device. Such processors may be, but are not limited to, general-purpose processors, special-purpose processors, special-purpose processors or field programmable gate arrays.
[0112] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality and operation of possible implementations of the systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flowchart or block diagram may represent a module, section or portion of a code, which includes one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions mentioned in the box may not appear in the order mentioned in the accompanying drawings. For example, in practice, depending on the functionality involved, the two boxes shown in succession may be executed substantially simultaneously, or the boxes may sometimes be executed in the opposite order. It should also be noted that each box illustrated in the block diagram and / or flowchart and the box combination in the block diagram and / or flowchart may be implemented by a special-purpose hardware-based system that performs a specified function or action, or by a combination of special-purpose hardware and computer instructions.
[0113] While the foregoing is directed to embodiments of the present disclosure, other and further embodiments of the present disclosure may be devised without departing from the basic scope of the present disclosure, and the scope of the present disclosure is determined by the claims.
Claims
1. A computer-implemented method for generating a crosstalk cancellation (CTC) filter for a reverberant acoustic environment having multiple audio zones, the method comprising: Based on the CTC simulation model of the acoustic environment to determine: a first set of frequency responses for respective locations proximate to one or more speakers located in the acoustic environment, and a second set of frequency responses for corresponding listening positions in the acoustic environment; generating an acoustic environment transfer function matrix for the acoustic environment based on the first set of frequency responses and the second set of frequency responses; as well as A set of CTC filters is generated for a set of speakers in the acoustic environment based on the acoustic environment transfer function matrix.
2. The computer-implemented method of claim 1 , further comprising determining a set of audio zones within the acoustic environment, wherein: Each audio zone in the set of audio zones includes at least one listening position; and The set of CTC filters is further based on the set of audio regions.
3. The computer-implemented method of claim 2, wherein the CTC filter, when used to filter an input audio signal, generates: a signal corresponding to a selection of the input audio signal for a first audio region of the set of audio regions; and A set of one or more cancellation signals, each of the set of one or more cancellation signals corresponding to an additional audio zone of the set of audio zones.
4. The computer-implemented method of claim 2, wherein the set of audio zones includes at least one silent audio zone.
5. The computer-implemented method of claim 1 , further comprising transmitting the set of CTC filters to a client computing device, wherein: The CTC filter is usable by the client computing device to filter a set of input audio signals to generate corresponding sound fields in the set of audio zones in the reverberant acoustic environment using the set of speakers.
6. The computer-implemented method of claim 1, wherein the CTC simulation model comprises a multi-physics model that simulates operation of at least one speaker in the set of speakers that reproduces an input audio signal.
7. The computer-implemented method of claim 1, wherein: The CTC simulation model includes an acoustic domain model, and the acoustic domain model includes: A virtual acoustic environment with one or more reflective surfaces, proximate to the location of the one or more speakers, and the listening position, and The acoustic environment transfer function matrix is based on an acoustic domain transfer function matrix associated with the first set of frequency responses and the second set of frequency responses.
8. The computer-implemented method of claim 1, further comprising: Convert a set of time domain input signals into frequency domain signals; as well as The frequency domain signal is input into the CTC simulation model to generate the first set of frequency responses and the second set of frequency responses.
9. The computer-implemented method of claim 1, wherein the CTC simulation model is updated using measurement data of frequency responses recorded in a physical acoustic environment.
10. The computer-implemented method of claim 1, wherein: The set of CTC filters is included in a CTC filter matrix; and Generating the set of CTC filters includes inverting the acoustic environment transfer function matrix to generate the CTC filter matrix in the time domain and the frequency domain.
11. The computer-implemented method of claim 1 , wherein: The set of CTC filters is included in a CTC filter matrix; and Generating the set of CTC filters includes computing a pseudo-inverse of the acoustic environment transfer function matrix to generate the CTC filter matrix.
12. The computer-implemented method of claim 1 , wherein determining the first set of frequency responses and the second set of frequency responses comprises: Place a virtual target microphone at each corresponding listening position; as well as For each of the one or more virtual speakers corresponding to the one or more speakers, iteratively: placing a virtual reference microphone close to the virtual loudspeaker; Using the virtual speaker to send a test signal; acquiring frequency responses of the first set of frequency responses via the virtual reference microphone; as well as A frequency response subset of the second set of frequency responses is acquired via the virtual target microphone.
13. One or more computer readable media storing instructions for generating a crosstalk cancellation (CTC) filter for a reverberant acoustic environment having multiple audio zones, the instructions, when executed by one or more processors, causing the one or more processors to perform the following steps: Based on the CTC simulation model of the acoustic environment to determine: a first set of frequency responses for respective locations proximate to one or more speakers located in the acoustic environment, and a second set of frequency responses for corresponding listening positions in the acoustic environment; generating an acoustic environment transfer function matrix for the acoustic environment based on the first set of frequency responses and the second set of frequency responses; as well as A set of CTC filters is generated for a set of speakers in the acoustic environment based on the acoustic environment transfer function matrix.
14. One or more computer-readable media as described in claim 13, further comprising instructions that, when executed by the one or more processors, cause the one or more processors to perform the step of transmitting the set of CTC filters to a client computing device, wherein the CTC filters can be used by the client computing device to filter a set of input audio signals to generate corresponding sound fields in the set of audio zones in the acoustic environment using the set of speakers.
15. The one or more computer-readable media of claim 13, wherein the CTC simulation model comprises a multi-physics model that simulates operation of at least one speaker in the set of speakers reproducing an input audio signal.
16. One or more computer-readable media as recited in claim 13, wherein: The CTC simulation model includes an acoustic domain model, and the acoustic domain model includes: A virtual acoustic environment with one or more reflective surfaces, proximate to the location of the one or more speakers, and said listening position; and The acoustic environment transfer function matrix is based on an acoustic domain transfer function matrix associated with the first set of frequency responses and the second set of frequency responses.
17. The one or more computer-readable media of claim 13, further comprising: Convert a set of time domain input signals into frequency domain signals; as well as The frequency domain signal is input into the CTC simulation model to generate the set of frequency responses.
18. One or more computer-readable media as recited in claim 13, wherein: The set of CTC filters is included in a CTC filter matrix; and Generating the set of CTC filters comprises: Inverting the acoustic environment transfer function matrix to generate the CTC filter matrix, or The pseudo-inverse of the acoustic environment transfer function matrix is calculated to generate the CTC filter matrix.
19. The one or more computer-readable media of claim 13, wherein determining the first set of frequency responses and the second set of frequency responses comprises: Place a virtual target microphone at each corresponding listening position; For each of the one or more virtual speakers corresponding to the one or more speakers, iteratively: placing a virtual reference microphone close to the virtual loudspeaker; Using the virtual speaker to send a test signal; acquiring frequency responses of the first set of frequency responses via the virtual reference microphone; as well as A frequency response subset of the second set of frequency responses is acquired via the virtual target microphone.
20. A system for generating a crosstalk cancellation (CTC) filter for a reverberant acoustic environment having multiple audio zones, the system comprising: a memory storing instructions for generating a CTC simulation model of an acoustic environment; as well as A processor coupled to the memory, the processor implementing the CTC simulation model by executing the following steps: Based on the CTC simulation model, it is determined that: a first set of frequency responses for respective locations proximate to one or more speakers located in the acoustic environment, and a second set of frequency responses for corresponding listening positions in the acoustic environment; generating an acoustic environment transfer function matrix for the acoustic environment based on the first set of frequency responses and the second set of frequency responses; as well as A set of CTC filters is generated for a set of speakers in the acoustic environment based on the acoustic environment transfer function matrix.