Patent Description:
Document <CIT> discloses a system with speakers in a listening environment that acquires data to determine characteristics of the acoustic field generated by the speakers. Test signals are supplied to the speakers and sound measurements made at a plurality of microphone positions in the listening environment. A set of parameters is generating reflecting a weighted frequency response curve, the set of parameters being calculated from the frequency response data weighted in proportion to a distance between a listening spot within the listening environment and the microphone position.

Document "<NPL>, discloses methods for multiple position room response equalization.

Home theater system more and more moves from traditional stereo system to multi-channel system. This type of audio system, such as <NUM>/<NUM> home theater, WIFI speaker system, can create an immersive environment with realistic surround effect. However, setting up an audio system to produce high quality sound at home is a difficult task. When the audio system is put into a common room, the room will often in some way degrade the sound quality. In fact, this system should be installed in listening rooms that are professionally designed and use sound diffusers and absorption material to improve the room acoustics. Nevertheless, for most rooms, people find it difficult to improve their home theater in this way. Sometimes, even in the carefully designed room with diffusers and absorption, the user may still not get the best acoustic performance, since each speaker could be placed randomly in the room, depending on the room environment and configuration. Thus, the listener might feel unbalanced among each channel.

In recent years, room calibration that can balance the sound of each channel and improve the overall room acoustic performance has attracted many companies' attention. Most of the room calibration methods calibrate the delay, gain or frequency response of the speaker, but they only optimize the sound performance within a small listening area. Besides, they might use some annoying noise as measurement signal.

According to one embodiment of the present disclosure, a method for room calibration, comprises measuring a plurality of impulse responses at a plurality of measurement points in a room for each speaker of a plurality of speakers. The method also comprises determining a plurality of transfer functions at the plurality of measurement points for each speaker based on the plurality of impulse responses. Furthermore, the method also comprises weighting and summing the transfer functions to obtain a weighted and summed sound curve for each speaker. The weighting and summing further comprises obtaining magnitude components and phase components of the transfer functions for each speaker, constructing Gaussian distributions with the magnitude components and the phase components for each speaker, generating weights for the distributions of the magnitude components and the phase components for each speaker based on each cluster distance, wherein each cluster distance is a distance of the measurement of each measurement point to a center of a cluster that is formed from distributions of the magnitude components and the phase components for a speaker, wherein the weights are obtained by performing a k-nearest neighbors algorithm for each distribution, and weighting and summing the magnitude components and the phase components for each speaker based on the weights, to obtain the weighted and summed sound curve for each speaker.

Another embodiment of the present disclosure is a system that includes a speaker system and a processor. The speaker system includes a plurality of speakers. A processor is configured to measure a plurality of impulse responses at a plurality of measurement points in a room for each speaker of the plurality of speakers. The processor is further configured to determine a plurality of transfer functions at the plurality of measurement points for each speaker based on the plurality of impulse responses. Also, the processor is configured to weight and sum the transfer functions to obtain a weighted and summed sound curve for each speaker. The weighting and summing further comprises obtaining magnitude components and phase components of the transfer functions for each speaker, constructing Gaussian distributions with the magnitude components and the phase components for each speaker, generating weights for the distributions of the magnitude components and the phase components for each speaker based on each cluster distance, wherein each cluster distance is a distance of the measurement of each measurement point to a center of a cluster that is formed from distributions of the magnitude components and the phase components for a speaker, wherein the weights are obtained by performing a k-nearest neighbors algorithm for each distribution, and weighting and summing the magnitude components and the phase components for each speaker based on the weights, to obtain the weighted and summed sound curve for each speaker.

Another embodiment of the present disclosure is a computer program product. The program code is configured to measure a plurality of impulse responses at a plurality of points in a room for each speaker of a plurality of speaker. The program code is configured to determine a plurality of transfer functions at the plurality of points for each speaker based on the plurality of impulse responses. Furthermore, the program code is configured to weight and sum the transfer functions to obtain a weighted and summed sound curve for each speaker. The weighting and summing further comprises obtaining magnitude components and phase components of the transfer functions for each speaker, constructing Gaussian distributions with the magnitude components and the phase components for each speaker, generating weights for the distributions of the magnitude components and the phase components for each speaker based on each cluster distance, wherein each cluster distance is a distance of the measurement of each measurement point to a center of a cluster that is formed from distributions of the magnitude components and the phase components for a speaker, wherein the weights are obtained by performing a k-nearest neighbors algorithm for each distribution, and weighting and summing the magnitude components and the phase components for each speaker based on the weights, to obtain the weighted and summed sound curve for each speaker.

The drawings referred to here should not be understood as being drawn to scale unless specifically noted. Also, the drawings are often simplified and details or components omitted for clarity of presentation and explanation. The drawings and discussion serve to explain principles discussed below, where like designations denote like elements.

Embodiments herein describe a room calibration system and a room calibration that are based on the Gaussian distribution and k-nearest neighbors algorithm. Instead of relying on a noise that is annoying as a measurement signal, the room calibration system and method described herein use a predetermined signal (e.g., a custom sine tone) as a measurement signal, which could measure full band spectrum. Moreover, to achieve a better approach of room calibration, instead of performing room measurements by microphones on devices (near field measurements), the system for room calibration herein performs room measurements by one or more external microphone (far field measurements).

In a multi-channel speaker system, a plurality of amplifiers and speakers are usually used to provide a listener with some simulated placement of sound sources. The multi-channel sound can be reproduced through each speaker to the listening area and create a realistic listening environment. When setting up the multi-channel speaker system in a room, the user wants to have the best performance of the system as that in the test lab. However, the room environment and the configuration are usually different with those of the test lab. Thus, the system needs to be in-situ reconfigured, so that the sound from all the speakers arrives at a listener's ear with the desired frequency response.

To do so, the system for room calibration may include a calibration system and a speaker system comprising a plurality of speakers. The system for room calibration may further include one or more microphones. For example, the calibration system can be implemented as a processor or a controller. <FIG> illustratively shows the calibration model of the system for room calibration using for example one external microphone. The measurement signal is input sequentially to each speaker included in the speaker system, and then the output signal of the speaker system may be measured by the microphone independently. The measurement signal could be used to measure the full band frequency response of the speaker, and the measurement signal may be for instance a custom sine tone. Instead of optimizing only one listening spot or a very narrow listening area in most of the room calibration methods, the system described herein creates a wide-optimized listening area by measuring the responses of most measurement points in the room, thus achieves better performance of room calibration.

<FIG> shows a schematic view of a multi-point measurement configuration in a room, which may include a plurality of speakers and a plurality of the measuring points. The configuration of the plurality of measuring points and the plurality of speakers here is only an example for illustration.

In one aspect, the system for room calibration measures a plurality of impulse responses at a plurality of points in a room for each speaker of the plurality of speakers. The system determines a plurality of transfer functions at the plurality of points for each speaker based on the plurality of impulse responses. Moreover, the system weights and sums the transfer functions to obtain a weighted and summed sound curve for each speaker. Regardless of the number or the location of the measurements points and the number or the location of the speaker, the system may perform the room calibration in order to optimize audio performance. The system may also run in the lab or user's home for training the calibration mode. For example, the measured frequency responses (namely magnitude and phase) can be stored as a dataset. For each measured dataset, there will be a reference tuning tone based on that particular room setup. Those data are called training data, which are used to produce statistical models. For example, during data training, the system weights and sums the transfer functions to obtain a weighted and summed sound curve for each speaker, as a predict output.

<FIG> illustrates a flowchart of a method of room calibration. To improve understanding, the blocks of method are described in reference with the system shown in <FIG>. At block <NUM>, one or more microphones can measure a plurality of impulse responses at a plurality of points in a room for each speaker of a plurality of speakers. For example, the microphone(s) can obtain the microphone measurement hij. Assuming there are totally I speakers and J measuring points, hij represents the impulse response between the ith fine-tuned speaker and the microphone at the jth position. At block <NUM>, the transfer function Hij can be determined based on the impulse response, Hij represents the transfer function between the ith fine-tuned speaker and the microphone at the jth position. They satisfy the following equation, <MAT> where F(*) denotes the Discrete Fourier Transformation.

Then, at block <NUM>, the method weights and sums the transfer functions of all points for each speaker to obtain a weighted and summed sound curve for each speaker. For example, for the ith fine-tuned speaker, all transfer functions between the ith speaker and the J measurement points can be calculated by weighting and summing based on the Gaussian distribution and k-nearest neighbors algorithm.

<FIG> shows the method of weighting and summing process using the Gaussian distribution in combination with the k-nearest neighbors algorithm.

As shown in <FIG>, at block <NUM>, based on the transfer functions for each speaker, the magnitude components and the phase components are calculated. For example, assuming Hij is composed of a magnitude component Mij and a phase component φij, which can be calculated as, <MAT> <MAT> where angle(*) and |*| are the angle operator and the absolute value operator, respectively.

Then, at block <NUM>, Gaussian distributions of the first magnitude components and the first phase components for each speaker are constructed. For example, <NUM>×I Gaussian distributions for the normalized Mi and φi of the ith fine-tuned speaker may be constructed. The Gaussian distribution is written as, <MAT> wherein µ and σ<NUM> are the expectation and the variance of the distribution, respectively. All the measurement for the ith fine-tuned speaker at all J measuring points are considered in the (<NUM>i-<NUM>)th and <NUM>ith distributions.

At block <NUM>, for each Gaussian distribution, a k-nearest neighbors algorithm is performed to compute weights for the distributions of the magnitude components and the phase components for each speaker. Then, at block <NUM>, the magnitude components and the phase components for each speaker are weighted and summed to obtain the weighted and summed sound curve (output) for each speaker.

For example, the k-nearest neighbors algorithm (k-NN) for each distribution may be conducted so as to figure out the weight based on the distance to a cluster center. Then, a weighted sum for the k-NN cluster may be performed to generate Mik and φik for the in-situ measurement of the ith speaker.

For example, the distance of the jth measurement to the cluster center can be written as, <MAT> where dMi and dφi are the distances to the cluster center of the Mi and φi distributions, respectively. Nfa nd f denote the number and index of the frequency bin, respectively. The µMi and µφi are the expectations of the Mi and φi distributions, respectively.

Hence, we will define a function F(•) mapping the distance to a weight that can generate the reasonable Mik and φik. One example is given as follows, <MAT> <MAT>.

When the in-situ measurement is performed, the similar procedure from Eq. (<NUM>) to Eq. (<NUM>) will be performed, but just replacing the µMi and µφi by the Mik and φik in order to obtain the final weighted and summed sound curve, Mia and φia.

<FIG> shows another aspect of the method. As shown in <FIG>, at block <NUM>, based on the transfer functions for each speaker, the magnitude components and the phase components may be calculated. Then, at block <NUM>, Gaussian distributions of the magnitude components and the phase components for each speaker may be constructed.

As described above in reference with <FIG>, with a combination of multiple acoustic measurements in the room using calibrated microphones, a spectral weighting can be performed so as to better refine the room measurement. However, in practice,a measurement in a room includes, but not limits to, room modes, deflections and reflections, which would significantly fluctuate the measurement result. To avoid extreme cases from deviating the measurement results, statistical weighting on the measured frequency responses is used by the room calibration system described herein. Then, as shown in <FIG>, at block <NUM>, the method compares each distribution of the first magnitude components and the first phase components with a threshold which could be predefined, and excludes the distribution of which the magnitude components and the phase components are greater than the threshold. For example, the threshold of the distributions is set as T, for instance T = 3σ<NUM>. When some measurements of the Mi or φi are greater than T in the (<NUM>i-<NUM>)th or <NUM>ith distribution, these measurements out of the threshold of distribution are excluded because these abnormal measurements are assumed to be caused by the measurement error or the room modes.

Then, at block <NUM>, for each Gaussian distribution, a k-nearest neighbors algorithm is performed to obtain weights of the magnitude components and the phase components for each speaker based on the cluster distance. At block <NUM>, performing weighted sum for the magnitude components and the phase components for each speaker to obtain the weighted and summed magnitude components and phase components for each speaker. The processes of blocks <NUM>-<NUM> may refer to the same equalizations described in reference to <FIG>, thus the details are omitted here.

According to another aspect, the correction curves for each speaker may be obtained by performing a pseudo-inverse on the weighted sound curve of each speaker. Then, the correction curves may be applied to the speakers included in the speaker system. The calibration process generates the correction curves to each speaker of the speaker system, which will playback the input signal with both the magnitude and phase adjustment.

The terminology used herein was chosen to best explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.

In the preceding, reference is made to embodiments presented in this disclosure. However, the scope of the present disclosure is not limited to specific described embodiments. Instead, any combination of the preceding features and elements, whether related to different embodiments or not, is contemplated to implement and practice contemplated embodiments. Furthermore, although embodiments disclosed herein may achieve advantages over other possible solutions or over the prior art, whether or not a particular advantage is achieved by a given embodiment is not limiting of the scope of the present disclosure. Thus, the preceding aspects, features, embodiments and advantages are merely illustrative and are not considered elements or limitations of the appended claims except where explicitly recited in a claim(s).

Aspects of the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a "circuit," "module" or "system.

The present disclosure may be a system, a method, and/or a computer program product.

Computer readable program instructions for carrying out operations of the present disclosure may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present disclosure.

Claim 1:
A method for room calibration, comprising:
measuring a plurality of impulse responses at a plurality of measurement points in a room for each speaker of a plurality of speakers (<NUM>),
determining a plurality of transfer functions at the plurality of measurement points for each speaker based on the plurality of impulse responses (<NUM>); and
weighting and summing the transfer functions to obtain a weighted and summed sound curve for each speaker (<NUM>),
wherein the weighting and summing further comprises:
obtaining magnitude components and phase components of the transfer functions for each speaker (<NUM>),
constructing Gaussian distributions with the magnitude components and the phase components for each speaker (<NUM>),
generating weights for the distributions of the magnitude components and the phase components for each speaker based on each cluster distance (<NUM>), wherein each cluster distance is a distance of the measurement of each measurement point to a center of a cluster that is formed from distributions of the magnitude components and the phase components for a speaker, wherein the weights are obtained by performing a k-nearest neighbors algorithm for each distribution, and
weighting and summing the magnitude components and the phase components for each speaker based on the weights, to obtain the weighted and summed sound curve for each speaker (<NUM>).