Dynamic acoustic optimization by tracking user position

Audio devices with sensor-based tracking and z-plane interpolation dynamically adjust audio playback to optimize sound quality based on user position, addressing suboptimal audio issues in varying environments.

WO2025235075A1PCT designated stage Publication Date: 2025-11-13QUALCOMM INC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/US2025/019198
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-05-10
Filing Date
2025-03-10
Publication Date
2025-11-13

AI Technical Summary

Technical Problem

Existing audio playback systems fail to adequately adapt audio based on dynamic user position within the listening environment, leading to suboptimal audio quality for listeners in different locations.

Method used

Audio devices equipped with sensors to track user location and dynamically adjust audio playback by applying environment compensation filters, using interpolation techniques in the complex z-plane domain to seamlessly transition between stored compensation filters.

Benefits of technology

Provides optimized acoustic experience that follows the user throughout the listening environment, eliminating the need for stationary listening and manual adjustments, and ensuring a smooth, immersive audio experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2025019198_13112025_PF_FP_ABST
    Figure US2025019198_13112025_PF_FP_ABST
Patent Text Reader

Abstract

Certain aspects of the present disclosure provide techniques for performing environment compensation for audio. A method includes obtaining, using one or more sensors, of an apparatus, configured to sense user location relative to the apparatus, a first location of a user. Such method further includes generating, by the apparatus, one or more output signals, wherein generating the one or more output signals comprises applying a first environment compensation audio filter to one or more audio signals, wherein the first environment compensation audio filter is based on the first location and at least one of the plurality of environment compensation audio filters.
Need to check novelty before this filing date? Find Prior Art

Description

DYNAMIC ACOUSTIC OPTIMIZATION BY TRACKING USER POSITIONCROSS REFERENCE TO RELATED APPLICATION

[0001] The present Application for Patent claims priority to and benefit of Greek Patent Application No. 20240100334, filed May 10, 2024, which is hereby expressly incorporated by reference herein in its entirety.INTRODUCTIONField of the Disclosure

[0002] Aspects of the present disclosure relate to audio compensation filters, and more particularly, to techniques for obtaining an audio compensation filter.Description of Related Art

[0003] Audio playback systems, such as home theater systems, soundbars, and portable speakers, are designed to reproduce audio content in a manner that is pleasing and immersive to the listener. However, the acoustic characteristics of the environment in which the audio playback system is used can significantly impact the quality and intelligibility of the reproduced audio. These acoustic characteristics can include factors such as room geometry, surface materials, and the position and orientation of the audio playback device relative to the listener.

[0004] To compensate for the acoustic characteristics of the environment, many audio playback systems include some form of equalization or tone control. These systems typically use fixed or predefined equalization curves that are designed to provide a balanced and neutral frequency response under ideal acoustic conditions. However, these fixed equalization curves may not adequately compensate for the unique acoustic properties of a particular room or other listening environment, leading to suboptimal audio playback quality.

[0005] Some more advanced audio playback systems include the ability to measure the acoustic characteristics of the environment and adjust the equalization accordingly. These systems typically use a microphone to capture a test signal played through the audio playback device, and then analyze the captured signal to determine the frequency response of the room. The system then generates an inverse filter (also referred to herein as a room compensation filter, environment compensation filter, environmentcompensation audio filter, room compensation audio filter, or simply compensation filter) that is designed to cancel out the unwanted acoustic characteristics of the room, resulting in a flatter and more neutral frequency response.

[0006] However, these room correction systems have several limitations. For example, they are often limited to a single listening position, and may not provide optimal audio playback quality for listeners in other positions or as the listener moves around the room.

[0007] In addition to room correction systems, some audio playback systems include the ability to adjust the equalization based on the content being played or the preferences of the listener. For example, some systems include preset equalization curves for different genres of music or different types of content, such as movies or video games. Some systems also allow the user to manually adjust the equalization using a graphic equalizer or other controls.

[0008] However, these content-based and user-controlled equalization systems also have limitations. They do not account for the acoustic characteristics of the environment, and may not provide optimal audio playback quality in all listening scenarios. They also require manual intervention by the user, which can be time-consuming and may not result in the best possible audio experience.

[0009] Therefore, there is a need for improved techniques for generating and applying compensation fdters to optimize audio playback based on the acoustic characteristics of an environment.SUMMARY

[0010] One aspect provides a method for performing environment compensation for audio. The method includes obtaining, using one or more sensors, of an apparatus, configured to sense user location relative to the apparatus, a first location of a user. Such method further includes generating, by the apparatus, one or more output signals, wherein generating the one or more output signals comprises applying a first environment compensation audio filter to one or more audio signals, wherein the first environment compensation audio filter is based on the first location and at least one of the plurality of environment compensation audio filters.

[0011] Other aspects provide: an apparatus operable, configured, or otherwise adapted to perform any one or more of the aforementioned methods and / or those described elsewhere herein; a non-transitory, computer-readable media comprising instructions that, when executed by a processor of an apparatus, cause the apparatus to perform the aforementioned methods as well as those described elsewhere herein; a computer program product embodied on a computer-readable storage medium comprising code for performing the aforementioned methods as well as those described elsewhere herein; and / or an apparatus comprising means for performing the aforementioned methods as well as those described elsewhere herein. By way of example, an apparatus may comprise a processing system, a device with a processing system, or processing systems cooperating over one or more networks.

[0012] The following description and the appended figures set forth certain features for purposes of illustration.BRIEF DESCRIPTION OF DRAWINGS

[0013] The appended figures depict certain features of the various aspects described herein and are not to be considered limiting of the scope of this disclosure.

[0014] FIG. 1 depicts a block diagram illustrating an example environment in accordance with examples of the present disclosure.

[0015] FIG. 2 is a block diagram depicting an example configuration of an audio device in accordance with examples of the present disclosure.

[0016] FIG. 3 depicts a block diagram illustrating an example configuration of the audio device in accordance with examples of the present disclosure.

[0017] FIG. 4 depicts an example data structure that may be used to store compensation filter coefficients and position information in accordance with examples of the present disclosure.

[0018] FIG. 5A depicts an example of a first set of compensation filter coefficients represented in the frequency domain in accordance with examples of the present disclosure.

[0019] FIG. 5B depicts an example of a second set of compensation filter coefficients represented in the frequency domain in accordance with examples of the present disclosure.

[0020] FIG. 5C depicts an example of compensation filter coefficients represented and manipulated in the frequency domain in accordance with examples of the present disclosure.

[0021] FIG. 6 depicts an example process for generating a compensation filter in accordance with examples of the present disclosure.

[0022] FIG. 7 illustrates an example directed to using user movement within an environment to identify an appropriate compensation filter.

[0023] FIG. 8 depicts an example method directed to generating one or more output signals.

[0024] FIG. 9 depicts an example processing system.DETAILED DESCRIPTION

[0025] Aspects of the present disclosure provide apparatuses, methods, processing systems, and computer-readable mediums for dynamically compensating audio playback based on user position, such as to optimize the listening experience.

[0026] Existing audio playback systems, such as home theater systems and soundbars, may compensate for the acoustic characteristics of the listening environment by using fixed equalization curves or measuring the room response and generating a fixed environment compensation filter for compensating audio signals played in the environment. However, these approaches do not adequately adapt audio based on dynamic user position within the environment. This can lead to suboptimal audio quality for listeners in different locations within the environment.

[0027] Aspects of the present disclosure describe techniques for automatically tracking the location(s) of one or more users within the listening environment and dynamically adjusting the audio playback to compensate for the acoustic characteristics of the listening environment at the location(s) (also referred to as listening positions). In certain aspects, an audio device may include one or more sensors (e.g., camera, radar, WiFi radar, radio frequency (RF) sensors, etc.) configured to sense user location, such as by emitting one or more signals and receiving reflection(s) of the one or more signals (e.g., reflection off of the user(s)) to determine the user location(s) (e.g., based on a calculation of angle of arrival of the one or more signals and / or round trip time of the one or more signals). The audio device may use the sensed user location(s) to determine anenvironment compensation filter to apply to audio signals (e.g., analog, digital, or sonic) output by the audio device (e.g., via speakers wirelessly or wired coupled to the audio device, integrated into the audio device, etc.). Such use of the one or more sensors within the audio device may provide several technical benefits, such as being able to determine user location without the user having to manually input location or carry a device on the user at the user location. This may be useful in many scenarios where different users may be present in the environment, as it does not require any particular user to register with the audio device or establish some type of connection between the audio device and another device.

[0028] In certain aspects, techniques described herein may include measuring a room’s response and generating compensation filters at multiple listening positions during a calibration phase, or otherwise obtaining and storing compensation filters at the multiple listening positions. In certain aspects, during playback, a user's (e.g., real-time) position may be determined, such as using wireless sensing technologies. Based on the user's location, the audio device may select a compensation filter from the stored compensation filters at the multiple listening positions or interpolate between two or more (e.g., two) stored compensation filters. For example, the audio device may select a compensation filter associated with a listening position closest to (or even the same as) the user’s location among the listening positions associated with the stored compensation filters. As another example, the audio device may select two or more compensation filters (e.g., associated with listening positions near the user’s location) and interpolate between the two or more compensation filters to generate an interpolated compensation filter for the user’s location, such as based on the listening positions associated with the compensation filter and the user’s location. In certain aspects, the interpolation can be performed in the complex z-plane domain, such as to provide a seamless transition of the filter response as the user moves.

[0029] It should be noted that performing environment compensation (e.g., room compensation) differs from spatial audio techniques which attempt to recreate for a user directionality of sound based on an orientation of a user, but do not compensate for the frequency response of the environment itself.

[0030] In certain aspects, techniques described herein may include generating a compensation filter based on locations of multiple users. For example, in certain aspects, the audio device may determine a first compensation filter (e.g., using any of thetechniques discussed herein) for a first user location and a second compensation filter (e.g., using any of the techniques discussed herein) for a second user location, and determine a compensation filter to apply to audio signals based on the first compensation filter and the second compensation filter (e.g., as an average or interpolation between the first compensation filter and the second compensation filter).

[0031] Certain aspects described herein may provide a technical solution for optimizing audio playback based on a user's position within a listening environment. In certain aspects, the technical solution may involve using wireless sensing technologies to automatically track the user's location. Other techniques may be used to determine the user’s location. Certain aspects provide dynamically adjusting the audio signal processing to compensate for the specific acoustic characteristics at the user's position. In some aspects, during a calibration phase, the system may measure the room response and generate one or more compensation filters at multiple listening positions. These compensation filters can be stored, such as in a database, along with their associated positions within an environment. In certain aspects, during audio playback, techniques described herein can determine a user's position and retrieve associated stored compensation filter(s), such as two or more of the stored compensation filters (e.g., associated with the nearest available calibration positions to the user’ s position). In certain aspects, an interpolation between these filters can be performed to create a new compensation filter for the user's position. This interpolation can be performed in the complex z-plane domain, which may help with a smooth and seamless transition of the filter response as the user moves between positions.

[0032] Certain aspects of solutions described herein may provide several technical advantages over existing audio playback systems. By continuously adapting the audio processing to the user's specific position, certain aspects of audio playback systems discussed herein may deliver an optimized acoustic experience that follows the user throughout the listening environment. This may eliminate the need for the user to remain stationary in a single "sweet spot" or make manual adjustments to the system as they change positions. The automated position tracking may simplify the setup process and enable a more dynamic and immersive audio experience. In certain aspects, performing the filter interpolation in the z-plane domain results in a perceptually smooth and naturalsounding transition, avoiding jarring or abrupt changes in the audio characteristics. In certain aspects, the solutions described herein can be implemented using existing wirelesstechnologies and can be integrated into various audio playback devices, such as soundbars, home theater systems, and smart speakers.

[0033] FIG. 1 depicts a block diagram illustrating an example environment in accordance with examples of the present disclosure. The environment may include an audio device configured to determine a location of a user, apply a compensation filter to one or more audio playback signals, where the compensation filter is based on the determined location of the user, and output, or play, the audio compensated one or more audio playback signals, such as via one or more speakers to emit sound.

[0034] In the example environment 100 as depicted in FIG. 1, a plurality of users 102A, 102B, 102N are shown. In examples, each of the plurality of users 102A, 102B, 102N may be the same user or may be a different user. The users 102A, 102B, 102N may be located at different positions within the environment 100, as represented by a first position 104A, a second position 104B, and an “n” position 104N. In examples, user 102A is located at the first position 104A. Similarly, user 102B, is located at the second position 104B. In examples, the illustration of user 102B at the second position 104B may represent a user who has moved from the first position 104A to the second position. In certain aspects, user 102N may be located between the first position 104A and the second position 104B and may represent a user 102N moving from a first position 104A to 104N and / or from 104B to 104N.

[0035] In certain aspects, the audio device 106 may include a localizer 108 configured to determine a position, such as first position 104 A, second position 104B, and / or n position 104N, of a user (e.g., user 102A, 102B, and / or 102N). The localizer 108 may include one or more sensors (e.g., camera, radar, WiFi radar, radio frequency (RF) sensors, etc.) configured to sense user location, such as by emitting one or more signals and receiving reflection(s) of the one or more signals (e.g., reflection off of the user(s)) to determine the user location(s) (e.g., based on a calculation of angle of arrival of the one or more signals and / or round trip time of the one or more signals). Based on the determined position of the user, an output signal generator 114 can generate an output signal to be emitted via the one or more speakers 110. In certain aspects, the output signal may be a compensated audio signal, such as an environmentally compensated audio signal. For example, the output signal generator 114 may determine and apply a compensation audio filter, such as compensation filter 116A or 116B, to an audio playback signal to generate the compensated audio signal, where the compensated audiosignal can then be emited via the one or more speakers 110. In some examples, the compensation audio filter may be an environment compensation audio filter, where the environment compensation filter capable of compensating for the unique acoustic characteristics that are influenced by the room's attributes and the position of the user within that environment. Though audio device 106 is shown as including integrated speakers, it should be understood that audio device 106 may be coupled to (via wire or wirelessly) one or more speakers, and configured to output signals to the one or more speakers to emit sound.

[0036] Thus, in certain aspects, when a user, such as user 102A, is located at a particular position, such as the first position 104 A, the output signal generator 114 of the audio device 106 can select a corresponding compensation filter, in this case CF1 116A. The selected compensation filter can be applied to an audio signal to generate a compensated audio signal that may then be provided to the one or more speakers 110, for playing the audio signal (e.g., pre-compensated audio signal). Thus, the resulting sound 112 produced by the audio device 106 may be specific to the user's (e.g., user 102A) position within the environment 100. As an example, resulting sound 112 produced by the audio device 106 may exhibit desirable frequency response characteristics for the particular environment 100 based on the user's specific position within the environment.

[0037] As the user relocates or moves to a different position, such as user 102A moving to the second position 104B, the output signal generator 114 of the audio device 106 can select a new compensation filter, in this case CF2 116B, corresponding to the new position (e.g., second position 104B). The new compensation filter can be applied to an audio signal to generate a different pre-compensated audio signal that may then be provided to the one or more speaker 110, for playing back the audio signal (e.g., precompensated audio signal). The resulting sound 112 produced by the one or more speakers 110 may be specific to the user's (e.g., user 102B) position (e.g., second position 104B) within the environment 100.

[0038] In some examples, when a user (e.g., user 102A) moves to or is otherwise in a location (e.g., n position 104N) that does not have an associated compensation filter that is accessible by the output signal generator 114, the output signal generator 114 of the audio device 106 can generate a new compensation filter based on one or more existing compensation filters (e.g., CF1 116A and CF2 116B). For example, the output signal generator 114 may obtain user position information from the localizer 108, determine oneor more compensations filters from a plurality of compensations filters to combine, and combine the compensation filters to generate, or construct, a new compensation filter. For example, the output signal generator 114 may combine the compensation filter CF1 116A associated with the first position 104A and the compensation filter CF2 116B associated with the second position 104B to generate, or construct, a new compensation filter specific to the user (e.g., user 102N) position (e.g., n position 104N). In some examples, the output signal generator 114 morphs or interpolates a compensation filter (e.g., CF1 116A) as a user (e.g., user 102A) moves from a first position (e.g., 104A) to another position (e.g., 104N). In certain aspects, the morphing or interpolation of the compensation occurs in the Z-plane.

[0039] In certain aspects, morphing the compensation filter in the Z-plane involves interpolating the positions of the poles and zeros between the two existing compensation filters. In certain aspects, each compensation filter can be represented by a set of poles and zeros in the complex Z-plane. The poles and zeros of the compensation filters associated with the first position (e.g., CF1) and the second position (e.g., CF2) can be used as the starting and ending points for the interpolation. When a user is in a position (e.g., n position 104N) for which there is no existing compensation filter stored, such as when a user is between two positions (e.g., first position 104A and the second position 104B) for which there are compensation filters stored, the audio device 106 may interpolate between the stored compensation filters to generate a compensation filter for the position for which there is no existing compensation filter stored. For example, where the first position 104A is associated with CF1 116A and the second position 104B is associated with CF2 116B, and the user is at n position 104N, the audio device 106 may interpolate the compensation filter for n position 104N based on CF1 116A and CF2 116B. For example, the audio device 106 may determine relative positions between first position 104A, n position 104N, and second position 104B, and starting with either CF1 116A or CF2 116B, shift, in the Z-plane, the poles and zeros of the one of the CF1 116A or CF2 116B toward the poles and zeros of the other of the CF1 116A or CF2 116B by an amount and in a direction based on the relative positions between first position 104A, n position 104N, and second position 104B, to generate the compensation filter. For example, the poles and zeros can be shifted in the Z-plane, following a trajectory that connects their positions in CF1 to their corresponding positions in CF2, or vice versa. The exact path of the trajectory and the interpolation method (e.g., linear, polynomial, orspline) can be chosen based on a desired smoothness (e.g., time steps between changing compensation fdters, distance before changing compensation fdters) and computational complexity. By morphing the poles and zeros in the Z-plane, the resulting compensation fdter may have an adapted frequency response to modify the audio playback for the user's intermediate position.Example Devices for Generating a Compensation Filter

[0040] FIG. 2 is a block diagram illustrating an example configuration of the audio device 106 in accordance with examples of the present disclosure. The audio device 106 may include a compensation filter generator 204 configured to generate compensation filters (e.g., CF1 116A and CF2 116B) during one or more calibration processes. During the calibration process, the compensation filter generator 204 may cause one or more test signals 206 to be generated and emitted via the one or more speakers 110. The test signals 206 may include various types of audio signals, such as white noise, pink noise, swept sinusoidal tones, or other suitable test tones that can be used to measure the acoustic response of an environment at different positions. The one or more speakers 110 may be any suitable type of audio output device, such as dynamic speakers, electrostatic speakers, or balanced armature speakers. In some examples, the audio device 106 may include or be coupled to a single speaker, while in other examples, the audio device 106 may include or be coupled to multiple speakers arranged in a specific configuration, such as a stereo pair or a surround sound system.

[0041] In some examples, the test signals 206 may be predefined signals stored in a memory of the audio device 106. In other examples, the test signals 206 may be dynamically generated by the compensation filter generator 204 based on the specific characteristics of the environment or the desired frequency range to be calibrated. In certain aspects, during the calibration process, the emitted test signals 206 may be captured by one or more audio input devices, such as audio input device 210A and / or audio input device 210B, located at different positions within an environment. The audio input devices 210A and / or 210B may include microphones or other sound capturing devices that can record or capture the acoustic response of the environment at their respective positions.

[0042] In some examples, the audio input devices 210A and / or 210B may be standalone devices that are temporarily placed at the desired calibration positions duringthe calibration process. Such devices may be connected to the audio device 106 via wired or wireless connections to transmit captured audio data. In other examples, the audio input devices 210A and / or 21 OB may be integrated into other devices, such as mobile phones, tablets, or remote controls, that are typically used by users at different positions within the environment.

[0043] The localizer 108, as described in FIG. 1, may be used to determine the positions of the audio input devices 210A and / or 21 OB within the environment. The localizer 108 may employ various techniques, such as wireless triangulation, image recognition, or user input, to accurately identify the positions of the audio input devices 210A and / or 210B relative to the audio device 106 or otherwise within a listening environment.

[0044] In some aspects, the localizer 108 may include or utilize a wireless transceiver 212 that can communicate with the audio input devices 210A and / or 210B using wireless technologies such as Wi-Fi®, Bluetooth®, or ultra- wideband (UWB). By measuring the signal strength, time-of-flight, or angle-of-arrival of the wireless signals, the wireless transceiver 212 can estimate the distances and directions of the audio input devices 210A and / or 210B relative to the audio device 106. In some examples, the localizer 108 may use Wi-Fi® radar or similar wireless sensing technologies to detect the presence and positions of the audio input devices 210A and 210B, where Wi-Fi® radar may leverage an existing Wi-Fi® infrastructure and devices to perform localization and tracking of a user and / or audio input devices 210A and / or 210B.

[0045] In certain aspects, Wi-Fi® radar analyzes changes in wireless signal characteristics, such as the channel state information (CSI) or the received signal strength indicator (RSSI), as the signals propagate between a Wi-Fi® transmitter and receiver. By measuring the CSI or RSSI at multiple antennas or frequency channels, Wi-Fi® radar can estimate the distance, angle, and motion of the target devices relative to the Wi-Fi® transmitter. In the context of the audio device 106, the wireless transceiver 212 may act as a Wi-Fi® radar transmitter, sending out wireless signals that can be reflected or scattered by the audio input devices 210A and 210B. The wireless transceiver 212 may also have multiple antennas and / or use techniques like beamforming to shape the wireless signal and improve the localization accuracy.

[0046] In certain aspects, the wireless transceiver 212 may detect the presence and positions of the audio input device 210A and / or 21 OB using passive Wi-Fi® sensing techniques. For example, in passive Wi-Fi® sensing, the wireless transceiver 212 may analyze the reflections and scattering of ambient Wi-Fi® signals caused by the audio input devices 210A and 21 OB, even if they are not actively transmitting or receiving WiFi® signals.

[0047] Other wireless techniques that may be used by the localizer 108 include, but are not limited to, Bluetooth® low energy (BLE) beacons, ultra-wideband (UWB) ranging, or radio frequency identification (RFID) tags. These additional presence and location tracking techniques may require the audio input devices 210A and / or 210B to be equipped with specific hardware or tags that can emit or respond to specialized wireless signals. For example, BLE beacons may refer to small battery-powered devices that periodically broadcast wireless signals containing identification and proximity information. By measuring the RS SI of the BLE signals at multiple points, the localizer 108 can estimate the positions of the audio input devices 210A and / or 210B.

[0048] As another example, UWB ranging can use short pulses of radio frequency signals to measure the time-of-flight between the UWB transmitter and receiver. The audio input devices 210A and / or 210B may be equipped with UWB tags or transceivers that can communicate with an UWB-enabled wireless transceiver in the audio device 106. In some aspects and as previously mentioned, RFID tags, which can include one or more passive devices, can be attached to the audio input devices 210A and 210B. The wireless transceiver 212, acting as an RFID reader, may emit radio frequency signals that can power up the RFID tags and retrieve their identification and location information.

[0049] In some examples, the localizer 108 may obtain the location of the audio input devices 210A and / or 210B using one or more of 802.11 az Round-Trip Time (RTT), Angle of Arrival (AoA), and / or Passive Positioning. RTT generally refers to a feature introduced in the IEEE 802.11 az standard, also known as Wi-Fi® Sensing. RTT can allow devices to measure the round-trip time of wireless signals between two devices with high accuracy, enabling precise distance estimation and positioning. AoA is another method that determines the direction from which a wireless signal is received by using multiple antennas or an antenna array. By measuring the phase differences of the signals received at different antennas, the angle of the incoming signal can be calculated which can then be used to determine a location of the audio input devices 210A and / or 210B. Passivepositioning refers to techniques that determine the location of a device without the need for active participation from the device itself. Passive positioning can be achieved by analyzing the characteristics of wireless signals emitted by the audio input devices 210A and / or 21 OB, such as signal strength, time of arrival, or frequency, as observed by multiple receivers or access points. Passive positioning can also be achieved by analyzing signals emitted by audio device 106, such as by wireless transceiver 212, and measuring propagation or reflection of such signals. Passive positioning can also be achieved by other means, such as computer vision, such as using camera, radar, or other sensors.

[0050] In some aspects, the localizer 108 may include or utilize an image sensor 214, such as a camera or depth sensor, that can visually detect the positions of the audio input devices 210A and 210B. The image sensor 214 may use object recognition algorithms to identify the audio input devices 210A and / or 210B in the captured images and determine their positions based on their pixel locations and apparent sizes.

[0051] In some aspects, the audio device 106 may include a system identifier 216. The system identifier 216 may analyze the captured audio data from the audio input devices 210A and / or 210B to determine the acoustic characteristics of the environment at their respective positions. The system identifier 216 may use various signal processing techniques, such as Fourier analysis or impulse response estimation, to extract the frequency response and time-domain characteristics of the captured audio signals.

[0052] In some examples, the system identifier 216 may compare the captured audio signals with the original test signals to calculate a transfer functions or impulse responses of the environment at each position. These transfer functions or impulse responses may represent how the environment modifies the audio signals as they propagate from the one or more speakers 110 to the audio input devices 210A and / or 210B.

[0053] The impulse response data 218 generated by the system identifier 216 may be used to characterize the acoustic behavior of the environment at each calibration position. The impulse response data 218 may include information such as the magnitude and phase responses across different frequency bands, the reverberation times, and the early reflections. In some examples, the impulse response data 218 may be stored in a memory of the audio device 106 for later use in generating the compensation filters. The impulse response data 218 may be associated with the corresponding positions of the audio input devices 210A and 210B, as determined by the localizer 108.

[0054] In certain aspects, the audio device may include an inverter 220. The inverter 220 may use the impulse response data 218 to generate compensation filters (e.g., CF1 116A and CF2 116B) for each measured, or calibration position. The inverter 220 may apply various fdter design techniques, such as least-squares optimization or frequencydomain inversion, to derive the fdter coefficients that can counteract or otherwise account for the acoustic effects of the environment. In some examples, the inverter 220 may calculate the inverse transfer functions of the impulse responses, which can be used to cancel out undesired resonances, reflections, and colorations introduced by the environment. The resulting compensation filters may have frequency responses that are complementary to the measured acoustic responses.

[0055] In some aspects, the audio device 106 may include a filter storage 222. The filter storage 222 may store the generated compensation filters (e.g., CF1 116A and CF2 116B) along with their associated positions in a memory of the audio device 106. The filter storage 222 may use various data structures, such as lookup tables or databases, to efficiently organize and retrieve the compensation filters based on their positions. In some examples, the filter storage 222 may also store additional metadata related to the compensation filters, such as the date and time of calibration, the type of audio input devices used, or the characteristics of the environment. This metadata may be used to validate the compensation filters and determine if a recalibration is needed due to changes in the environment or the system configuration.

[0056] In some examples, the audio device 106 may provide the test signal 206 to one or more second devices 224. In some aspects, the one or more second devices may be the same as or similar to the audio device. In some aspects, the one or more second devices 224 may include one or more speakers and emit sound as directed by the audio device 106. The one or more second devices 224 may be utilized to create a spatial sound environment. In certain aspects, a spatial sound environment can be an audio configuration designed to create the illusion of sound originating from specific directions or locations in three-dimensional space, enhancing a listener's sense of immersion and realism. A compensation filter can be generated based on the emitted sound from the second device 224.

[0057] FIG. 3 depicts a block diagram illustrating an example configuration of the audio device 106 in accordance with examples of the present disclosure. The audio device 106 may include an output signal generator 114 configured to generate one or more outputsignals based on a user's location within an environment. The output signal generator 114 may receive location data from the localizer 108 and compensation fdters from the fdter storage 222. Based on the received location data and compensation fdters, the output signal generator 114 may construct a location-specific compensation filter and apply it to an audio playback signal to generate a compensated audio signal that is specific to the user's location within the environment.

[0058] The localizer 108, as described in FIG. 1, may be used to determine the positions of a user within the environment and provide the position, or location information, as location data. As previously described, the localizer 108 may employ various techniques, such as wireless triangulation, image recognition, or user input, to identify the positions of one or more users in an environment.

[0059] In some aspects, the localizer 108 may include or utilize a wireless transceiver 212 that may implement or use Wi-Fi® radar or similar wireless sensing technologies to detect the presence and positions of a user, where Wi-Fi® radar may leverage an existing Wi-Fi® infrastructure and devices to perform localization and tracking of the user.

[0060] In certain aspects, the wireless transceiver 212 may detect the presence and positions of the user using passive Wi-Fi® sensing techniques. For example, in passive Wi-Fi® sensing, the wireless transceiver 212 may analyze the reflections and scattering of ambient Wi-Fi® signals resulting from interaction with the user.

[0061] In some aspects, the localizer 108 may include or utilize an image sensor 214, such as a camera or depth sensor, that can visually detect the positions of the user. The image sensor 214 may use object recognition algorithms to identify the user in the captured images and determine a position based on their pixel locations and apparent size of the user. The localizer 108 may use passive positioning to determine the location / position of the user, thereby not requiring the user to have any device in order for the location / position to be determined.

[0062] In some aspects, the output signal generator 114 may include a compensation fdter constructor 302 configured to construct a location-specific compensation filter 304 based on the user's location as determined from the localizer 108 and the stored compensation filters (e.g., CF1 116A and CF2 116B) retrieved from the filter storage 222. In some examples, the compensation filter constructor 302 may select one of the stored compensation filters that is associated with a location closest to a user's current locationor position. For instance, if the user 102N is located at a position that is closest to the first position 104A among the calibrated positions, the compensation filter constructor 302 may select the compensation filter CF1 116A as the location-specific compensation filter 304.

[0063] In other examples, the compensation filter constructor 302 may interpolate between two or more stored compensation filters to construct the location-specific compensation filter 304. The interpolation may be based on the relative distances between the user's current position and the calibrated positions associated with the stored compensation filters. For instance, if the user 102N is located between the first position 104A and the second position 104B, the compensation filter constructor 302 may interpolate between the compensation filters CF1 116A and CF2 116B to construct a location-specific compensation filter 304. The interpolation may be performed in the frequency domain, the time domain, or pole-zero domain, using techniques such as linear interpolation, polynomial interpolation, or spline interpolation.

[0064] The location-specific compensation filter 304 may be a digital filter that can be applied to an audio playback signal 306 to compensate for the acoustic characteristics of the environment at the user's specific position within the environment. The locationspecific compensation filter 304 may have a frequency response that is complementary to the measured or interpolated acoustic response at the user's position. In some aspects, the application of the location-specific compensation filter 304 to an audio playback signal 306 results in a more accurate sound reproduction that may be less distorted from the environment.

[0065] In some examples, the location-specific compensation filter 304 may be implemented as a finite impulse response (FIR) filter or an infinite impulse response (IIR) filter. Filter coefficients for the location-specific compensation filter 304 may be derived from the stored compensation filters (e.g., CF1 116A and / or CF2 116B) or the interpolated filter, using techniques such as inverse Fourier transform or filter design algorithms.

[0066] In some examples, the output signal generator 114 may include a mixer 308. The mixer 308 may apply the location-specific compensation filter 304 to the audio playback signal 306 to generate a compensated audio signal. The mixer 308 may perform a convolution operation between the audio playback signal 306 and the impulse responseof the location-specific compensation filter 304 in the time domain, or a multiplication operation between their frequency responses in the frequency domain. In some examples, the mixer 308 may use different convolution techniques, such as overlap-add or overlapsave methods, to reduce the computational complexity of the filtering operation. The mixer 308 may also apply other audio processing techniques, such as gain control, equalization, or dynamics compression, to further optimize the audio playback signal 306 based on the user's preferences or the characteristics of the audio device 106.

[0067] The audio playback signal 306 may be a digital audio signal that represents the sound content to be played back by the audio device 106. The audio playback signal 306 may be obtained from various sources, such as but not limited to local storage, streaming services, or external audio devices, and may be encoded in different formats, such as, but not limited to PCM, MP3, or AAC. In some examples, the audio playback signal 306 may be a multichannel signal, such as stereo or surround sound, that contains separate audio channels for different speakers or spatial directions. In such cases, the mixer 308 may apply the location-specific compensation filter 304 to each audio channel independently or use a multichannel compensation filter that takes into account the spatial characteristics of the audio playback signal 306 and the speaker configuration utilized by the audio device 106.

[0068] The Tenderer 310 may receive the compensated audio signal from the mixer 308 and generate one or more output signals to be played back by the one or more speakers 110. In some aspects, the Tenderer 310 may apply spatial audio processing techniques, also known as spatialization, to enhance the immersive experience of the audio playback. As previously discussed, spatialization may refer to the process of manipulating audio signals to create a sense of spatial positioning, direction, and distance, thereby simulating the natural hearing experience in a three-dimensional space. Spatialization may be implemented to reproduce sound in a way that more accurately represents the location and movement of sound sources relative to the listener, or user.

[0069] In the context of the audio device 106, the Tenderer 310 may employ various spatialization techniques to create a realistic and immersive sound field that adapts to the user's location and orientation within the environment. In some examples, a head-related transfer functions (HRTFs) that describes how sound is filtered and modified by the listener's head, ears, and torso before reaching the eardrums may be used. HRTFs cancapture the unique spectral and temporal cues that allow the human brain to localize sound sources in three-dimensional space.

[0070] In certain aspects, the output signal generated by the Tenderer 310 may be an analog or digital signal that can drive the one or more speakers 110 or external amplification devices. In some examples, the output signal may be provided to the one or more speakers 110 that are integrated within the audio device 106. Alternatively, or in addition, the output signal may be transmitted wirelessly to the speakers 110 or other audio systems using technologies such as, but not limited to Wi-Fi®, Bluetooth®, or AirPlay®. In some aspects, the output signals may be sent through wired connections, such as analog audio cables, digital audio interfaces, or HDMI.

[0071] In some aspects, the location-specific compensation filter 304 can be updated dynamically based on changes in the user's listening environment or changes in the user’s position. For example, if the user 102N moves to a different location within the environment, the audio device 106 can detect the change in user position and generate an updated location- specific compensation filter 304. For example, a new position for the user 102N can be determined by the localizer 108 and provided to the compensation filter constructor 302. The compensation filter constructor 302 can select and / or construct a new location- specific compensation filter 304 based on the position information received from the localizer 108. An updated location-specific compensation filter 304 can then be applied to the audio playback signal 306 by the mixer 308 to provide the audio playback for the new user position. Thus, a user (e.g., user 102N) can receive room compensated audio regardless of their location or movements within the environment.

[0072] In certain aspects, the output signal generator 114 may be configured to generate one or more output signals based on the locations of multiple users within the environment. The compensation filter constructor 302 can receive location data for each user from the localizer 108, which may employ various techniques as described above to determine the positions of multiple users simultaneously. For example, the location data may be provided as a set of coordinates or other spatial parameters for each user, along with user identifiers to associate each location with a specific user.

[0073] Upon receiving the location data for multiple users, the compensation filter constructor 302 may retrieve, from the filter storage 222, the respective environment compensation filters associated with each user's location. For example, if a first user is atlocation [xi, yi, zi] and a second user is at location [x2, y2, Z2], the compensation fdter constructor 302 may retrieve compensation fdters corresponding to the nearest positions to each user's location. The retrieved fdters for each user may have been previously generated using the techniques described with respect to FIG. 2.

[0074] In some aspects, to create a multi-user compensation fdter, the compensation fdter constructor 302 may combine the retrieved fdters associated with each user's location. The combination may be performed using various techniques, such as but not limited to weighted averaging and interpolation. In some aspects, weights assigned to each user's fdter may be determined based on factors such as, but not limited to the user's distance from the one or more speakers, the user's orientation or line of sight to the one or more speakers, or user-specific preferences or hearing profiles. In some cases, user preferences may be input via a user interface, allowing each user to specify their desired level of compensation or to prioritize certain frequency ranges. The compensation fdter constructor 302 may then apply these weights when combining the individual compensation fdters to generate an aggregate multi-user compensation fdter.

[0075] In certain aspects, the multi-user compensation fdter may be constructed in the frequency domain, time domain, or pole-zero domain. The resulting multi-user compensation fdter may exhibit a frequency response and impulse response that balances the acoustic characteristics of each user's location, to provide a compromise that improves the overall listening experience for all users. In certain aspects, the multi-user compensation fdter may then be applied to the audio signals by the mixer 308 to generate the output signals for playback, as described previously.Example Data Structure for Storing a Compensation Filter

[0076] FIG. 4 depicts an example data structure 400 that may be used to store compensation fdter coefficients and / or position information in accordance with examples of the present disclosure. In certain aspects, the data structure 400 includes a plurality of entries (e.g., 408-414), where each entry can include one or more of an entry ID 402, a position 404, and / or a set of fdter coefficients 406. The position 404 may be represented as a set of coordinates or other spatial parameters, while the fdter coefficients 406 may be represented as a set of numerical values that define the response of a particular compensation fdter associated with the entry (e.g., 408-414). The data structure 400 may be stored in a memory or other storage device, and may be accessed by the audio device106 (e.g., FIGS. 1-3) or other components to retrieve the appropriate compensation filter for a given device and position.

[0077] The data structure 400 is an example of how the compensation filter coefficients and associated device and position information may be stored and organized in a memory of the audio device 106. The data structure 400 may be implemented as a table, database, or other suitable data structure that allows for storage and retrieval of the compensation filter coefficients and associated information (e.g., position 404 and / or filter coefficients 406 information).

[0078] In certain aspects, each entry in the data structure 400 can correspond to a position for which a compensation filter has been generated. For example, entry 408 corresponds to a device with an entry ID "01" at position [xi, yi, zi], and includes a compensation filter hi(n). Similarly, entry 410 corresponds to a different position [x2, y2, Z2], and includes a different compensation filter h2(n). This allows the audio device 106 (e.g., FIGS. 1-3) to store and retrieve different compensation filters for different positions within the listening environment.

[0079] In some instances, the position 404 in each entry 408-414 may be represented using any suitable coordinate system or spatial parameterization. For example, the position 404 may be represented as a set of Cartesian coordinates (x, y, z), where x represents the lateral position, y represents the vertical position, and z represents the depth or distance from a reference point, such as a position of a user. Alternatively, or in addition, the position 404 may be represented using polar coordinates (r, 0, ip), where r represents the distance from a reference point, 0 represents the azimuth angle, and ip represents the elevation angle. The choice of coordinate system or spatial parameterization may depend on the specific requirements and constraints of the listening environment and the capabilities of the devices and sensors used to measure the position.

[0080] In some examples, entry 414 in the data structure 400 corresponds to an entry ID identifier “N” at position [XN, yN, ZN], and includes a compensation filter hN(n). This entry illustrates that the data structure 400 may include any number of entries, depending on the positions for which compensation filters have been generated. The number of entries in the data structure 400 may be fixed or may be dynamically adjusted based on the characteristics of the listening environment.

[0081] In certain aspects, the data structure 400 may be accessed by the compensation fdter generator 204 and / or the compensation fdter constructor 302 (FIGS. 1-3) or other components of the audio device 106 to retrieve a compensation fdter for a given position. For example, the compensation fdter constructor 302 (FIGS. 1-3) may query the data structure 400 using the position as a key to retrieve a corresponding compensation fdter. If no exact match is found, the compensation fdter constructor 302 (FIGS, 1-3) may interpolate between (e.g., nearby) entries to generate an approximate compensation fdter for the position based on the user position information obtained or generated by the localizer 108 (FIGS. 1-3). The retrieved or interpolated compensation fdter may then be applied to the audio signal to compensate for the acoustic characteristics of the environment at the current position of the user.Example Frequency Plots for a Compensation Filter

[0082] FIG. 5A depicts an example of how compensation fdter coefficients may be represented in the frequency domain in accordance with examples of the present disclosure. As depicted in FIG. 5A, a compensation fdter can be characterized by a set of poles and zeros in the complex plane, which determine the frequency response of the fdter. The poles and zeros may be represented graphically on a pole-zero plot, while the frequency response may be represented on a separate magnitude plot showing the gain of the fdter as a function of frequency. The poles and zeros may be adjusted or interpolated to modify the frequency response of the fdter and compensate for the acoustic characteristics of the environment. The compensation fdter depicted by the frequency plot 504A may correspond to a first compensation fdter (e.g., CF1 116A of FIG. 1), where the first compensation fdter (e.g., CF1 116A of FIG. 1) corresponds to a compensation fdter for a first position 104A of a user.

[0083] The example frequency plot 504 A can show the frequency response of a compensation fdter in the frequency domain. The frequency response generally represents the gain or attenuation of the fdter as a function of frequency, and may be plotted on a logarithmic scale in decibels (dB) versus frequency in Hertz (Hz). The frequency plot 504 A may be generated by applying a Fourier transform to the compensation fdter coefficients in the time domain, or by directly manipulating the poles and zeros of the fdter in the complex plane.

[0084] The poles-zero plot 506 A can show the location of the poles and zeros of the compensation filter in the complex plane. The complex plane is generally represented as a two-dimensional representation of complex numbers, with the real part on the horizontal axis and the imaginary part on the vertical axis. The poles of the filter depicted in the pole-zero plot 506A are represented by crosses or x's, while the zeros are represented by circles or o's. The location of the poles and zeros in the complex plane can determine the frequency response of the compensation filter, with poles providing gain and zeros providing attenuation at specific frequencies.

[0085] Zeros 510A may provide attenuation or cancellation of specific frequency components in the audio signal, and may be located close to the unit circle in the complex plane. The location of the zeros 510A in the complex plane can determine the frequency and bandwidth of the attenuation, with zeros closer to the unit circle providing narrower and deeper notches in the frequency response. The number and location of the zeros 510A may be adjusted to modify the frequency response of the filter and compensate for specific acoustic characteristics of the environment, such as resonances or reflections.

[0086] Poles 512A can provide gain or amplification of specific frequency components in the audio signal, and may be located inside the unit circle in the complex plane to ensure stability of the filter. The location of the poles 512A in the complex plane can determine the frequency and bandwidth of the amplification, with poles closer to the unit circle providing higher and narrower peaks in the frequency response. The number and location of the poles 512A may be adjusted to modify the frequency response of the filter and compensate for specific acoustic characteristics of the environment, such as absorption or diffusion.

[0087] The frequency response plot 504 A shows the gain of the compensation filter as a function of frequency, and may be derived from the location of the poles and zeros in the complex plane. The frequency response plot 504A may be generated by evaluating the transfer function of the compensation filter at different frequency points, or by applying a Fourier transform to the impulse response of the filter. The frequency response plot 504 A provides a visual representation of how the filter will affect different frequency components of the audio signal, with peaks and valleys corresponding to the location of the poles and zeros in the complex plane.

[0088] The poles 512A and zeros 510A may be manipulated or interpolated to adjust the frequency response of the compensation fdter and optimize the audio playback for a specific user position. For example, if the acoustic characteristics of the environment change due to the movement of the user, the poles 512A and zeros 510A may be adjusted to provide a new frequency response that compensates for the changed acoustic conditions. The adjustment of the poles 512A and zeros 510A may be performed using various techniques, such as pole-zero placement, least-squares optimization, or frequency-domain equalization. The resulting compensation filter may then be transformed back to the time domain and applied to the audio signal to provide optimized playback for the current device and position.

[0089] FIG. 5B illustrates another example of how compensation filter coefficients may be represented in the frequency domain in accordance with examples of the present disclosure. The compensation filter depicted by the frequency plot 504B may correspond to a second compensation filter (e.g., CF2 116B of FIG. 1), where the second compensation filter (e.g., CF2 116B of FIG. 1) corresponds to a compensation filter for a second position 104B of a user. Similar to FIG. 5 A, the compensation filter depicted in FIG. 5B can be characterized by a set of poles 512B and zeros 51 OB in the complex plane, which can determine the frequency response of the compensation filter. However, in this example, the poles 512B and zeros 51 OB are at different positions than the poles 512A and zeros 510A of FIG. 5 A. Accordingly, the compensation filter depicted in FIG. 5B can have a different frequency response for a different set of acoustic characteristics that may be specific to a different user position in the environment. The resulting frequency response plot shows a different shape and magnitude compared to FIG. 5A, reflecting the changes in the pole-zero locations and the corresponding acoustic compensation.

[0090] More specifically, the example frequency plot 504B shows the frequency response of a compensation filter that is different than the compensation in FIG. 5A. That is, the example frequency plot 504B shows a different shape and magnitude compared to the frequency plot 504 A of FIG. 5 A, reflecting the changes in the pole-zero locations and the corresponding acoustic compensation. Compared to the pole-zero plot 506 A in FIG. 5A, the pole-zero plot 506B shows that some of the poles 512B and zeros 510B are in different locations in the complex plane.

[0091] The frequency response plot 504B shows the gain of the compensation filter as a function of frequency, and can be derived from the different location of the poles512B and zeros 510B in the complex plane. The resulting frequency response plot 504B shows a different shape and magnitude compared to the frequency response plot 504 A of FIG. 5 A, with different peaks and valleys corresponding to the location of the poles 512B and zeros 51 OB in the complex plane.Example Frequency Plots for a Generated Compensation Filter

[0092] In certain aspects, and as depicted in FIG. 5C, an example frequency plot 504C shows the frequency response of a compensation fdter generated by the compensation fdter constructor 302 (FIG. 3). The frequency response plot 504C may be similar to the frequency plots 504A and 504B in FIG. 5A and 5IG. 6B, respectively, and may show the gain or attenuation of the compensation fdter as a function of frequency. The frequency response plot 504C may be generated by applying a Fourier transform to the compensation fdter coefficients in the time domain, or by evaluating the transfer function of the compensation fdter in the frequency domain. The frequency response plot 504C may be used to visualize the acoustic characteristics of the compensation fdter and to verify that it provides the desired compensation for the specific position.

[0093] The pole-zero plot 506C shows the location of the poles and zeros of the compensation fdter in the complex plane. The pole-zero plot 506C may be similar to the pole-zero plots 506 A and 506B in FIG. 5 A and FIG. 5B, respectively, and may show the positions of the poles and zeros relative to the unit circle. The pole-zero plot 506C may be generated by factoring the transfer function of the compensation fdter into a numerator and denominator polynomial, and finding the roots of each polynomial. The pole-zero plot 506C may be used to analyze the stability and realizability of the compensation fdter and to identify any potential issues or limitations in the fdter design.

[0094] In examples, the frequency response plot 504C shows the gain of the compensation fdter as a function of frequency, and may be similar to the frequency response plots 504A and 504B in FIG. 5A and FIG. 5B, respectively. The frequency response plot 504C may be generated by evaluating the magnitude of the transfer function of the compensation fdter at different frequency points, or by applying a Fourier transform to the impulse response of the compensation fdter. The frequency response plot 504C may be used to visualize the detailed shape and characteristics of the compensation fdter, and to compare it to the desired or ideal frequency response for the specific position or device.

[0095] In certain aspects, the location and number of the zeros 510C may be determined by the specific acoustic characteristics associated with the user position (e.g., n position 104N of FIG. 1), and may be adjusted or optimized using techniques such as zero-forcing or minimum-phase equalization. The zeros 510C may also be interpolated or morphed between different compensation filters (e.g., CF1 116A and CF2 116B of FIG. 1) to generate an optimized compensation filter for a specific position based on a user location. The location and number of the poles 512C may be determined by the specific acoustic characteristics associated with the user position (e.g., n position 104N of FIG. 1), and may be adjusted using techniques such as pole placement or maximumphase equalization. The poles 512C may also be interpolated or morphed between different compensation filters or parameters to generate an optimized compensation filter for a specific position based on a user location. For example, and as depicted in FIG. 5C, at least two of the poles 512C may be located between the poles of a first compensation filter (e.g., as depicted in FIG. 5A) and the poles of a second compensation filter (e.g., as depicted in FIG. 5B). In some aspects, as a distance between a user position (e.g., n position 104N of FIG. 1) and another position associated with an existing compensation filter (e.g., second position 104B of FIG. 1) decreases, the pole and zero locations of the generated compensation filter may become more similar to the pole and zero locations of the existing compensation filter. Accordingly, and in some aspects, the generated compensation filter may have the same number of poles and the same number of zeros as one or more of the compensation filters CF1 116A (FIG. 1) and / or CF2 116B (FIG. 1) respectively.Example Process for Generating a Compensation Filter

[0096] FIG. 6 depicts an example process 600 for generating a modified compensation filter based on a combination or interpolation of existing compensation filters in accordance with examples of the present disclosure. In certain aspects, the process may involve searching a filter database or storage to find two or more compensation filters. The identified compensation filters can then be combined to generate a new compensation filter for a current position. The combination of the filters may be performed in the time domain, frequency domain, or pole-zero domain, and may use various techniques such as linear interpolation, weighted averaging, or pole-zero mapping.

[0097] In certain aspects, and as depicted in FIG. 6, the compensation fdter search 602 searches a fdter database or storage, such as the fdter storage 222, to find two or more compensation filters. The search may be performed using various criteria or metrics, such as the Euclidean distance between a current user position obtained from position data 604 and the positions compensation filters in the fdter database or storage, such as fdter storage 222. In certain examples, the position data 604 may be obtained from the localizer 108 and may provide location information of a user. The compensation fdter search 602 may also use various indexing or hashing techniques to efficiently locate the relevant compensation filters in the database.

[0098] For example, if the current position of a user is determined to be [x, y, z], the compensation fdter search 602 may find the two closest positions in the fdter storage 222 that are closest to [x, y, z], such as [xi, yi, zi] and [x2, y2, Z2], and retrieve the corresponding compensation filters. The first compensation fdter 606 may be one of the compensation filters found by the compensation fdter search 602. The first compensation fdter 606 may be associated with a first user position (e.g., 104A of FIG. 1). In some aspects, the first compensation fdter 606 may have been generated using the techniques described in FIG. 2. The first compensation fdter 606 may be represented in the time domain as a set of fdter coefficients, in the frequency domain as a transfer function, or in the pole-zero domain as a set of poles and zeros.

[0099] In certain aspects, the second compensation fdter 608 is another one of the compensation filters found by the compensation fdter search 602. The second compensation fdter 608 may be associated with a different position (e.g. second position 104B of FIG. 1). Tike the first compensation fdter 606, the second compensation fdter 608 may have been generated using the techniques described in FIG. 2. The second compensation fdter 608 may be represented in the same domain as the first compensation fdter 606, or in a different domain that can be easily converted or transformed.

[0100] In certain aspects, the fdter combiner 610 combines or interpolates the first compensation fdter 606 and the second compensation fdter 608 to generate a compensation fdter 612 for a current position (e.g. n position 104N of FIG. 1). The fdter combiner 610 may use various techniques or methods to perform the combination or interpolation, depending on the domain and representation of the filters.

[0101] For example, if the compensation filters are represented in the time domain as sets of filter coefficients, the filter combiner 610 may use linear interpolation to generate a new set of filter coefficients that are weighted averages of the original coefficients, with the weights determined by the relative distance or similarity to positions associated with the identified compensation filters. As another example, if the filters are represented in the frequency domain as transfer functions, the filter combiner 610 may use frequencydomain interpolation to generate a new transfer function that has a shape and magnitude that is intermediate between the original transfer functions. As another example, if the filters are represented in the pole-zero domain as sets of poles and zeros, the filter combiner 610 may use pole-zero mapping to generate a new set of poles and zeros that are shifted or morphed based on the relative location of the original poles and zeros.

[0102] In some examples, a z-transform is applied to the compensation filters associated with the calibration positions if the compensation filters are represented in the time domain as sets of filter coefficients. Each compensation filter can be represented as a transfer function in the z-domain, which may be a rational function of the complex variable z. The transfer function can then describe the input-output relationship of the filter and characterizes its frequency response. In some examples, once the poles and zeros of the new compensation filter (e.g., 612) are determined or established by the filter combiner 610, an inverse z-transform can be applied to convert the poles and zeros to the time-domain representation. The inverse z-transform can provide filter coefficients that can be applied to the audio signal in real-time to compensate for the acoustic characteristics at the user’s position.

[0103] The compensation filter 612 output from the filter combiner 610 represents the new compensation filter that is for the current user position (e.g., n position 104N of FIG. 1). The compensation filter 612 may be represented in the same domain and format as the input compensation filters (e.g., first compensation filter 606 and second compensation filter 608), or may be converted or transformed to a different domain or format for application to the audio signal. The compensation filter 612 may have a frequency response or impulse response that is intermediate between the frequency responses or impulse responses of the input compensation filters (e.g., first compensation filter 606 and second compensation filter 608), and may provide improved acoustic compensation and audio quality for a current user position (e.g., n position 104N of FIG. 1) as compared to using either of the input compensation filters alone.

[0104] The compensation filter 612 may be further refined or modified using additional techniques or algorithms, such as frequency-domain equalization or timedomain windowing, to improve its performance or reduce its complexity. The compensation filter 612 may also be adapted or updated over time based on changes in the acoustic environment or feedback from the user or device, using techniques such as adaptive filtering or machine learning. The compensation filter 612 may be stored in the filter database or storage (e.g., filter storage 222) for future use, or may be discarded after it has been applied to the audio signal.

[0105] FIG. 7 illustrates an example for determining a user's position and movement within an environment 700 and utilizing this information to identify how to perform morphing of a selected compensation filter. For example, a position of a user can be tracked to predict a future position of the user based on a first position 104A and movement data. By analyzing the user's predicted path, a first compensation filter and a second compensation filter can be selected, where the second compensation filter may be associated with a user’s predicted path and may not represent a compensation filter associated with a position that is closest to the user. Thus, a subsequent compensation filter can be generated based on the selected compensation filters.

[0106] In certain aspects, a first position 104A can be monitored using various localization techniques, such as wireless signal triangulation, computer vision, or sensor fusion as previously described with respect to the localizer of FIG. 2. In certain aspects, a first position 104A can be compared to a set of locations (e.g., 702-710) within the environment 700, where each location may be associated with a compensation filter that has been previously generated and stored. Rather than selecting a closest compensation filter (e.g., 702 and / or 704) based on a user's current position, the compensation filter constructor 302 (FIG. 3) can take into account a predicted movement 712 of the user.

[0107] In certain aspects, to predict a user's future position, the audio device 106 (FIG. 1) can determine or obtain position, velocity, and acceleration data associated with a user, which can be based on the localization techniques previously described. The audio device 106 (FIG. 1) may also consider additional factors, such as the user's historical movement patterns, the layout of the environment, and the presence of obstacles or furniture. By applying machine learning algorithms or statistical models to this data, the audio device 106 (FIG. 1) can estimate the probability of the user moving towards specific locations within the environment 700. For example, if the user is moving with aconsistent velocity towards a particular chair 718, the audio device 106 (FIG. 1) may assign a high probability to the user sitting in that chair in the near future. This predictive model may allow the audio device 106 (FIG. 1) to anticipate the user's future position and select a target compensation fdter accordingly.

[0108] For example, by analyzing the user's position (e.g., 104A) and movement data, the compensation fdter constructor 302 (FIG. 3) can estimate the likelihood of the user moving towards a particular location in the near future. In certain aspects, if the user is currently situated between two locations (e.g., 702 and position X 714) but is moving with a trajectory and velocity that suggests they are likely to sit down on a nearby couch 716, the compensation fdter constructor 302 (FIG. 3) may choose to morph the current compensation fdter towards the compensation fdter associated with the couch's location (e.g., 716). This predictive approach allows for a smoother and more intuitive transition of the audio playback characteristics, as the compensation fdter gradually adapts to the expected future position of the user, rather than abruptly switching to the nearest fdter based solely on the current position or interpolating between a compensation fdter associated with a nearest position that is not in the path of the user. By considering the user's movement and predicted path or movement 712, the compensation fdter constructor 302 (FIG. 3) can provide a more seamless and immersive audio experience that adapts to the user's behavior within the environment 700.Example Method for Generating a Compensation Filter

[0109] FIG. 8 depicts an example method for performing environment compensation for audio. In one aspect, method 800, or any aspect related to it, may be performed by an apparatus (e.g., audio device 106), such as processing system 900 of FIG. 9, which includes various components operable, configured, or adapted to perform the method 800.

[0110] Method 800 begins at 802 with obtaining, using one or more sensors, of the apparatus, configured to sense user location relative to the apparatus, a first location of a user.

[0111] Method 800 ends at 804 with generating, by the apparatus, one or more output signals, wherein generating the one or more output signals comprises applying a first environment compensation audio fdter to one or more audio signals, wherein the first environment compensation audio fdter is based on the first location and at least one of the plurality of environment compensation audio filters.

[0112] In some embodiments of method 800, the at least one of the plurality of environment compensation audio filters is associated with the first location; and the at least one of the plurality of environment compensation audio filters is the first environment compensation audio filter.

[0113] In some embodiments of method 800, the at least one of the plurality of environment compensation audio filters is associated with a second location that is closest to the first location among the plurality of locations; and the at least one of the plurality of environment compensation audio filters is the first environment compensation audio filter.

[0114] In some embodiments of method 800, the at least one of the plurality of environment compensation audio filters comprises: a second environment compensation audio filter associated with a second location; and a third environment compensation audio filter associated with a third location; and the first environment compensation audio filter is based on an interpolation of at least the second environment compensation audio filter and the third environment compensation audio filter.

[0115] In some embodiments of method 800, the interpolation of at least the second environment compensation audio filter and the third environment compensation audio filter is based on relative positions between the first location, the second location, and the third location.

[0116] In some embodiments of method 800, the interpolation of at least the second environment compensation audio filter and the third environment compensation audio filter is a linear interpolation.

[0117] In some embodiments of method 800, the first environment compensation audio filter comprises one or more first zeros and one or more first poles; the second environment compensation audio filter comprises one or more second zeros and one or more second poles; the third environment compensation audio filter comprises one or more third zeros and one or more third poles; the one or more first zeros are an interpolation of the one or more second zeros and the one or more third zeros; and the one or more first poles are an interpolation of the one or more second poles and the one or more third poles.

[0118] In some embodiments of method 800, the at least one of the plurality of environment compensation audio filters comprises: a second environment compensationaudio filter; and a third environment compensation audio filter; the method further includes obtaining, using the one or more sensors, a second location of a second user; the first environment compensation audio filter is further based on the second location; and the first environment compensation audio filter is based on an interpolation of at least the second environment compensation audio filter and the third environment compensation audio filter.

[0119] In some embodiments of method 800, one of: the second environment compensation audio filter is associated with the first location; the second environment compensation audio filter is associated with a third location that is closest to the first location among the plurality of locations; or the second environment compensation audio filter is based on an interpolation of at least a fourth environment compensation audio filter and a fifth environment compensation audio filter; and one of: the third environment compensation audio filter is associated with the second location; the third environment compensation audio filter is associated with a fourth location that is closest to the second location among the plurality of locations; or the third environment compensation audio filter is based on an interpolation of at least a sixth environment compensation audio filter and a seventh environment compensation audio filter.

[0120] In some embodiments of method 800, obtaining the first location comprises performing passive positioning.

[0121] In some embodiments of method 800, obtaining the first location comprises outputting, by the one or more sensors, a signal; and receiving, by the one or more sensors, a reflection of the signal.

[0122] In some embodiments, method 800 further comprises: measuring, at each of the plurality of locations, a respective response of the environment to one or more test tones; and generating the plurality of environment compensation audio filters based on the respective response of the environment at each of the plurality of locations.

[0123] In some embodiments of method 800, generating the one or more output signals comprises rendering the one or more audio signals.

[0124] In some embodiments of method 800, rendering the one or more audio signals comprises rendering the one or more audio signals, using spatial audio, based on the first location of the user.

[0125] In some embodiments of method 800, each of the plurality of environment compensation audio filters is associated with a respective one of the plurality of locations in the environment.

[0126] In some embodiments of method 800, the one or more output signals comprise one or more analog signals; and outputting comprises outputting the one or more output signals to one or more speakers. In certain embodiments, the apparatus comprises the one or more speakers.

[0127] In some embodiments, method 800 further comprises sending the one or more output signals to a device.

[0128] In some embodiments, method 800 further comprises obtaining the first location of the user utilizing one or more transceivers.Example Processing System for Generating a Compensation Filter

[0129] FIG. 9 depicts aspects of an example processing system.

[0130] The processing system 900 includes a processing system 902 that includes one or more processors 920. The one or more processors 920 are coupled to a computer- readable medium / memory 930 via a bus 906. In certain aspects, the computer-readable medium / memory 930 is configured to store instructions (e.g., computer-executable code) that when executed by the one or more processors 920, cause the one or more processors 920 to perform the method 800 described with respect to FIG. 8, or any aspect related to it, including any additional steps or sub-steps described in relation to FIG. 8.

[0131] In the depicted example, computer-readable medium / memory 930 stores code (e.g., executable instructions) for obtaining a first location of a user 931 and code for generating one or more output signals 932. Processing of the code 931-932 may enable and cause the processing system 900 to perform the method 800 described with respect to FIG. 8, or any aspect related to it.

[0132] The one or more processors 920 include circuitry configured to implement (e.g., execute) the code stored in the computer-readable medium / memory 930, including circuitry obtaining a first location of a user 921 and code for generating one or more output signals 922. Processing with circuitry 921-922 may enable and cause the processing system 900 to perform the method 800 described with respect to FIG. 8, or any aspect related to it.Example Clauses

[0133] Implementation examples are described in the following numbered clauses:

[0134] Clause 1 : A method for performing environment compensation for audio, the method comprising: obtaining, using one or more sensors, of an apparatus, configured to sense user location relative to the apparatus, a first location of a user; and generating, by the apparatus, one or more output signals, wherein generating the one or more output signals comprises applying a first environment compensation audio filter to one or more audio signals, wherein the first environment compensation audio filter is based on the first location and at least one of the plurality of environment compensation audio filters.

[0135] Clause 2: A method in accordance with Clause 1, wherein: the at least one of the plurality of environment compensation audio filters is associated with the first location; and the at least one of the plurality of environment compensation audio filters is the first environment compensation audio filter.

[0136] Clause 3: A method in accordance with Clause 1, wherein: the at least one of the plurality of environment compensation audio filters is associated with a second location that is closest to the first location among the plurality of locations; and the at least one of the plurality of environment compensation audio filters is the first environment compensation audio filter.

[0137] Clause 4: A method in accordance with Clause 1, wherein: the at least one of the plurality of environment compensation audio filters comprises: a second environment compensation audio filter associated with a second location; and a third environment compensation audio filter associated with a third location; and the first environment compensation audio filter is based on an interpolation of at least the second environment compensation audio filter and the third environment compensation audio filter.

[0138] Clause 5 : A method in accordance with Clause 4, wherein the interpolation of at least the second environment compensation audio filter and the third environment compensation audio filter is based on relative positions between the first location, the second location, and the third location.

[0139] Clause 6: A method in accordance with Clause 4, wherein the interpolation of at least the second environment compensation audio filter and the third environment compensation audio filter is a linear interpolation.

[0140] Clause 7: A method in accordance with Clause 4, wherein: the first environment compensation audio filter comprises one or more first zeros and one or more first poles; the second environment compensation audio filter comprises one or more second zeros and one or more second poles; the third environment compensation audio filter comprises one or more third zeros and one or more third poles; the one or more first zeros are an interpolation of the one or more second zeros and the one or more third zeros; and the one or more first poles are an interpolation of the one or more second poles and the one or more third poles.

[0141] Clause 8: A method in accordance with any one of Clauses 1-7, wherein: the at least one of the plurality of environment compensation audio filters comprises: a second environment compensation audio filter; and a third environment compensation audio filter; the method further comprises obtaining, using the one or more sensors, a second location of a second user; the first environment compensation audio filter is further based on the second location; and the first environment compensation audio filter is based on an interpolation of at least the second environment compensation audio filter and the third environment compensation audio filter.

[0142] Clause 9: A method in accordance with Clause 8, wherein: one of: the second environment compensation audio filter is associated with the first location; the second environment compensation audio filter is associated with a third location that is closest to the first location among the plurality of locations; or the second environment compensation audio filter is based on an interpolation of at least a fourth environment compensation audio filter and a fifth environment compensation audio filter; and one of: the third environment compensation audio filter is associated with the second location; the third environment compensation audio filter is associated with a fourth location that is closest to the second location among the plurality of locations; or the third environment compensation audio filter is based on an interpolation of at least a sixth environment compensation audio filter and a seventh environment compensation audio filter.

[0143] Clause 10: A method in accordance with any one of Clauses 1-9, wherein obtaining the first location comprises performing passive positioning.

[0144] Clause 11 : A method in accordance with any one of Clauses 1-10, wherein obtaining the first location comprises: outputting, by the one or more sensors, a signal; and receiving, by the one or more sensors, a reflection of the signal.

[0145] Clause 12: A method in accordance with any one of Clauses 1-11, further comprising: measuring, at each of the plurality of locations, a respective response of the environment to one or more test tones; and generating the plurality of environment compensation audio filters based on the respective response of the environment at each of the plurality of locations.

[0146] Clause 13: A method in accordance with any one of Clauses 1-12, wherein generating the one or more output signals comprises rendering the one or more audio signals.

[0147] Clause 14: A method in accordance with any one of Clauses 1-13, wherein rendering the one or more audio signals comprises rendering the one or more audio signals, using spatial audio, based on the first location of the user.

[0148] Clause 15: A method in accordance with any one of Clauses 1-14, wherein each of the plurality of environment compensation audio filters is associated with a respective one of the plurality of locations in the environment.

[0149] Clause 16: A method in accordance with any one of Clauses 1-15, wherein the one or more output signals comprise one or more analog signals; and outputting the one or more signals comprises outputting the one or more output signals to one or more speakers.

[0150] Clause 17: A method in accordance with any one of Clauses 1-15, wherein outputting the one or more signals comprises sending the one or more output signals to a device.

[0151] Clause 18: A method in accordance with any one of Clauses 1-15, further comprising outputting the one or more signals via a transmitter.

[0152] Clause 19: A method in accordance with Clause 18, further comprising obtaining the first location of the user utilizing one or more transceivers.

[0153] Clause 20: One or more apparatuses, comprising: one or more memories comprising executable instructions; and one or more processors configured to execute the executable instructions and cause the one or more apparatuses to perform a method in accordance with any one of clauses 1-19.

[0154] Clause 21 : One or more apparatuses, comprising: one or more memories; and one or more processors, coupled to the one or more memories, configured to cause theone or more apparatuses to perform a method in accordance with any one of Clauses 1- 19.

[0155] Clause 22: One or more apparatuses, comprising: one or more memories; and one or more processors, coupled to the one or more memories, configured to perform a method in accordance with any one of Clauses 1-19.

[0156] Clause 23: One or more apparatuses, comprising means for performing a method in accordance with any one of Clauses 1-19.

[0157] Clause 24: One or more non-transitory computer-readable media comprising executable instructions that, when executed by one or more processors of one or more apparatuses, cause the one or more apparatuses to perform a method in accordance with any one of Clauses 1-19.

[0158] Clause 25 : One or more computer program products embodied on one or more computer-readable storage media comprising code for performing a method in accordance with any one of Clauses 1-19.Additional Considerations

[0159] The preceding description is provided to enable any person skilled in the art to practice the various aspects described herein. The examples discussed herein are not limiting of the scope, applicability, or aspects set forth in the claims. Various modifications to these aspects will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other aspects. For example, changes may be made in the function and arrangement of elements discussed without departing from the scope of the disclosure. Various examples may omit, substitute, or add various procedures or components as appropriate. For instance, the methods described may be performed in an order different from that described, and various actions may be added, omitted, or combined. Also, features described with respect to some examples may be combined in some other examples. For example, an apparatus may be implemented or a method may be practiced using any number of the aspects set forth herein. In addition, the scope of the disclosure is intended to cover such an apparatus or method that is practiced using other structure, functionality, or structure and functionality in addition to, or other than, the various aspects of the disclosure set forth herein. It should be understood that any aspect of the disclosure disclosed herein may be embodied by one or more elements of a claim.

[0160] The various illustrative logical blocks, modules and circuits described in connection with the present disclosure may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an ASIC, a field programmable gate array (FPGA) or other programmable logic device (PLD), discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but in the alternative, the processor may be any commercially available processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, a system on a chip (SoC), or any other such configuration.

[0161] As used herein, a phrase referring to “at least one of’ a list of items refers to any combination of those items, including single members. As an example, “at least one of: a, b, or c” is intended to cover a, b, c, a-b, a-c, b-c, and a-b-c, as well as any combination with multiples of the same element (e.g., a-a, a-a-a, a-a-b, a-a-c, a-b-b, a-c-c, b-b, b-b-b, b-b-c, c-c, and c-c-c or any other ordering of a, b, and c).

[0162] As used herein, the term “determining” encompasses a wide variety of actions. For example, “determining” may include calculating, computing, processing, deriving, investigating, looking up (e.g., looking up in a table, a database or another data structure), ascertaining and the like. Also, “determining” may include receiving (e.g., receiving information), accessing (e.g., accessing data in a memory) and the like. Also, “determining” may include resolving, selecting, choosing, establishing and the like.

[0163] As used herein, “coupled to” and “coupled with” generally encompass direct coupling and indirect coupling (e.g., including intermediary coupled aspects) unless stated otherwise. For example, stating that a processor is coupled to a memory allows for a direct coupling or a coupling via an intermediary aspect, such as a bus.

[0164] The methods disclosed herein comprise one or more actions for achieving the methods. The method actions may be interchanged with one another without departing from the scope of the claims. In other words, unless a specific order of actions is specified, the order and / or use of specific actions may be modified without departing from the scope of the claims. Further, the various operations of methods described above may be performed by any suitable means capable of performing the corresponding functions. Themeans may include various hardware and / or software component(s) and / or module(s), including, but not limited to a circuit, an application specific integrated circuit (ASIC), or processor.

[0165] The following claims are not intended to be limited to the aspects shown herein, but are to be accorded the full scope consistent with the language of the claims. Reference to an element in the singular is not intended to mean only one unless specifically so stated, but rather “one or more.” The subsequent use of a definite article (e.g., “the” or “said”) with an element (e.g., “the processor”) is not intended to invoke a singular meaning (e.g., “only one”) on the element unless otherwise specifically stated. For example, reference to an element (e.g., “a processor,” “a memory,” “the processor,” “the memory,” etc.), unless otherwise specifically stated, should be understood to refer to one or more elements (e.g., “one or more processors,” “one or more memories,” etc.). The terms “set” and “group” are intended to include one or more elements, and may be used interchangeably with “one or more.” Where reference is made to one or more elements performing functions (e.g., steps of a method), one element may perform all functions, or more than one element may collectively perform the functions. When more than one element collectively performs the functions, each function need not be performed by each of those elements (e.g., different functions may be performed by different elements) and / or each function need not be performed in whole by only one element (e.g., different elements may perform different sub- functions of a function). Similarly, where reference is made to one or more elements configured to cause another element (e.g., a system) to perform functions, one element may be configured to cause the other element to perform all functions, or more than one element may collectively be configured to cause the other element to perform the functions. Unless specifically stated otherwise, the term “some” refers to one or more. No claim element is to be construed under the provisions of 35 U.S.C. §112(f) unless the element is expressly recited using the phrase “means for”. All structural and functional equivalents to the elements of the various aspects described throughout this disclosure that are known or later come to be known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the claims. Moreover, nothing disclosed herein is intended to be dedicated to the public regardless of whether such disclosure is explicitly recited in the claims.

Claims

CLAIMS1. An apparatus, comprising: one or more sensors configured to sense user location relative to the apparatus; one or more memories configured to store a plurality of environment compensation audio filters associated with a plurality of locations in an environment; and one or more processors, coupled to the one or more memories, configured to: obtain, using the one or more sensors, a first location of a user; and generate one or more output signals, wherein to generate the one or more output signals comprises to apply a first environment compensation audio filter to one or more audio signals, wherein the first environment compensation audio filter is based on the first location and at least one of the plurality of environment compensation audio filters.

2. The apparatus of claim 1, wherein: the at least one of the plurality of environment compensation audio filters is associated with the first location; and the at least one of the plurality of environment compensation audio filters is the first environment compensation audio filter.

3. The apparatus of claim 1, wherein: the at least one of the plurality of environment compensation audio filters is associated with a second location that is closest to the first location among the plurality of locations; and the at least one of the plurality of environment compensation audio filters is the first environment compensation audio filter.

4. The apparatus of claim 1, wherein: the at least one of the plurality of environment compensation audio filters comprises: a second environment compensation audio filter associated with a second location; and a third environment compensation audio filter associated with a third location; andthe first environment compensation audio filter is based on an interpolation of at least the second environment compensation audio filter and the third environment compensation audio filter.

5. The apparatus of claim 4, wherein the interpolation of at least the second environment compensation audio filter and the third environment compensation audio filter is based on relative positions between the first location, the second location, and the third location.

6. The apparatus of claim 4, wherein the interpolation of at least the second environment compensation audio filter and the third environment compensation audio filter is a linear interpolation.

7. The apparatus of claim 4, wherein: the first environment compensation audio filter comprises one or more first zeros and one or more first poles; the second environment compensation audio filter comprises one or more second zeros and one or more second poles; the third environment compensation audio filter comprises one or more third zeros and one or more third poles; the one or more first zeros are an interpolation of the one or more second zeros and the one or more third zeros; and the one or more first poles are an interpolation of the one or more second poles and the one or more third poles.

8. The apparatus of claim 1, wherein: the at least one of the plurality of environment compensation audio filters comprises: a second environment compensation audio filter; and a third environment compensation audio filter; the one or more processors are configured to obtain, using the one or more sensors, a second location of a second user; the first environment compensation audio filter is further based on the second location; andthe first environment compensation audio filter is based on an interpolation of at least the second environment compensation audio filter and the third environment compensation audio filter.

9. The apparatus of claim 8, wherein: one of: the second environment compensation audio filter is associated with the first location; the second environment compensation audio filter is associated with a third location that is closest to the first location among the plurality of locations; or the second environment compensation audio filter is based on an interpolation of at least a fourth environment compensation audio filter and a fifth environment compensation audio filter; and one of: the third environment compensation audio filter is associated with the second location; the third environment compensation audio filter is associated with a fourth location that is closest to the second location among the plurality of locations; or the third environment compensation audio filter is based on an interpolation of at least a sixth environment compensation audio filter and a seventh environment compensation audio filter.

10. The apparatus of claim 1, to obtain the first location comprises to perform passive positioning.

11. The apparatus of claim 1, wherein to obtain the first location comprises to: output, by the one or more sensors, a signal; and receive, by the one or more sensors, a reflection of the signal.

12. The apparatus of claim 1, wherein the one or more processors are configured to: measure, at each of the plurality of locations, a respective response of the environment to one or more test tones; andgenerate the plurality of environment compensation audio filters based on the respective response of the environment at each of the plurality of locations.

13. The apparatus of claim 1, wherein to generate the one or more output signals comprises to render the one or more audio signals.

14. The apparatus of claim 1, wherein to render the one or more audio signals comprises to render the one or more audio signals, using spatial audio, based on the first location of the user.

15. The apparatus of claim 1, wherein each of the plurality of environment compensation audio filters is associated with a respective one of the plurality of locations in the environment.

16. The apparatus of claim 1, wherein: the one or more output signals comprise one or more analog signals; and to output the one or more output signals comprises to output the one or more output signals to one or more speakers.

17. The apparatus of claim 16, wherein the apparatus comprises the one or more speakers.

18. The apparatus of claim 1, wherein: to output the one or more output signals comprises to send the one or more output signals to a device.

19. The apparatus of claim 1, further comprising a transmitter, wherein to output the one or more output signals comprises to output the one or more output signals via the transmitter.

20. A method for performing environment compensation for audio, the method comprising: obtaining, using one or more sensors, of an apparatus, configured to sense user location relative to the apparatus, a first location of a user; andgenerating, by the apparatus, one or more output signals, wherein generating the one or more output signals comprises applying a first environment compensation audio filter to one or more audio signals, wherein the first environment compensation audio filter is based on the first location and at least one of a plurality of environment compensation audio filters.

Citation Information

Patent Citations

  • Variable equalization

    US20150341008A1

  • Acoustical listening area mapping and frequency correction

    US20200252738A1

  • Method and apparatus for location-based audio signal compensation

    US20230061896A1