Method and apparatus for location-based audio signal compensation

CN115380543BActive Publication Date: 2026-09-15QUALCOMM INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202180025658.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-04-07
Filing Date
2021-03-08
Publication Date
2026-09-15
Estimated Expiration
2041-03-08

AI Technical Summary

Technical Problem

此类校准过程被设计为补偿在头戴式耳机的地点处的房间响应,但是对于在房间的其它地点处的收听者而言通常遭受声音质量降低

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115380543B_ABST
    Figure CN115380543B_ABST
Patent Text Reader

Abstract

A device for performing location-based audio signal compensation includes a memory configured to store instructions and one or more processors. The one or more processors are configured to execute the instructions to receive an audio input signal corresponding to sound received from a second device, determine location data indicative of a location of the device, and generate, based on the audio input signal, a compensation filter to be applied to an audio playback signal before the audio playback signal is played from the second device to at least partially compensate for distortion associated with sound propagation from the second device to the location of the device.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-references to related applications

[0002] This application claims priority to Greek provisional patent application No. 20200100177, filed on April 7, 2020, entitled “METHOD AND APPARATUS FORLOCATION-BASED AUDIO SIGNAL COMPENSATION”, the entire contents of which are incorporated herein by reference. Technical Field

[0003] In summary, this disclosure relates to compensation filters for audio playback. Background Technology

[0004] When designing soundbars or "smart speaker" devices (e.g., wireless speakers with integrated assistant applications and voice command devices), electroacoustic compensation (or equalization) is often performed offline using an anechoic chamber during the product design phase. However, this pre-compensation does not account for nonlinearities introduced by the acoustic environment when the device is used by an end user. For example, nonlinearities may be introduced by the characteristics of the room in which the device is operated (e.g., the shape or geometry of the room, the materials used in the room, reverberation characteristics, etc.).

[0005] Room response equalization typically involves a tedious manual calibration process that requires the user to wear headphones with a shared microphone and play a set of noise / tonality signals from a smart speaker or soundbar. This manual calibration process is often lengthy, often requiring the user to sit still for 15 minutes, sometimes up to 30 minutes, while the smart speaker or soundbar emits sounds that are generally perceived as irritating. This calibration process is designed to compensate for the room response at the location of the headphones, but often results in a degraded sound quality for listeners in other parts of the room.

[0006] Furthermore, some soundbars and smart speaker devices (e.g., those lacking onboard processing, microphones, or "traditional" or low-cost versions of both) are not designed for manual calibration. This lack of compensation for the local acoustic environment (aside from the specific location where the soundbar or smart speaker device is intended for manual calibration) can result in a suboptimal listening experience due to reduced audio quality. Summary of the Invention

[0007] According to one implementation of the technology disclosed herein, an apparatus for performing location-based audio signal compensation includes a memory configured to store instructions and one or more processors. The one or more processors are configured to execute the instructions to: receive an audio input signal corresponding to sound received from a second device; determine location data indicating the location of the device; and generate a compensation filter based on the audio input signal, the compensation filter being applied to the audio playback signal before playback from the second device to at least partially compensate for distortion associated with sound propagation from the second device to the location of the device.

[0008] According to another implementation of the technology disclosed herein, a method for performing location-based audio signal compensation includes: receiving, at one or more processors of a first device, an audio input signal corresponding to sound received from a second device. The method further includes: determining location data indicating the location of the first device; and generating a compensation filter based on the audio input signal, the compensation filter being applied to the audio playback signal before it is played from the second device to at least partially compensate for distortion associated with sound propagation from the second device to the location of the first device.

[0009] According to another implementation of the technology disclosed herein, an apparatus includes: a unit for receiving sound from a transmitting device and generating an audio input signal corresponding to the sound. The apparatus further includes: a unit for determining location data indicating the location of the unit for receiving sound; and a unit for generating a compensation filter based on the audio input signal, the compensation filter being applied to the audio playback signal before it is played from the transmitting device to at least partially compensate for distortion associated with sound propagation from the transmitting device to the location of the unit for receiving sound.

[0010] According to another implementation of the technology disclosed herein, a non-transitory computer-readable medium includes instructions for location-based audio signal compensation. When executed by one or more processors of a first device, the instructions cause the one or more processors to: receive an audio input signal corresponding to sound received from a second device; determine location data indicating the location of the first device; and generate a compensation filter based on the audio input signal, the compensation filter being applied to the audio playback signal before it is played from the second device to at least partially compensate for distortion associated with sound propagation from the second device to the location of the first device. Attached Figure Description

[0011] Figure 1The diagram illustrates specific implementations of a system including a device operable to perform location-based audio signal compensation, based on some examples of this disclosure.

[0012] Figure 2 These are some examples based on the content of this disclosure. Figure 1 A diagram showing the specific implementation of the system's components during the acquisition phase.

[0013] Figure 3 These are some examples based on the content of this disclosure. Figure 1 A diagram showing the specific implementation of the system's components during the playback phase.

[0014] Figure 4 These are some examples based on the content of this disclosure. Figure 1 A diagram of another specific implementation of the system's components during the playback phase.

[0015] Figure 5 Examples based on this disclosure include Figure 1 The device is illustrated with a diagram showing a specific implementation of a system for location-based audio signal compensation at multiple locations on the device.

[0016] Figure 6 These are some examples of storage methods based on the content of this disclosure. Figure 1 A diagram illustrating a specific implementation of the memory structure for a device-accessible, location-based compensation filter.

[0017] Figure 7 Some examples based on this disclosure may be included Figure 1 A diagram showing the specific implementation of components in a device.

[0018] Figure 8A This is a diagram illustrating specific implementations of wearable electronic devices capable of performing location-based audio signal compensation, based on some examples of this disclosure.

[0019] Figure 8B This is a diagram illustrating another specific implementation of a wearable electronic device capable of performing location-based audio signal compensation, based on some examples of this disclosure.

[0020] Figure 9 Based on some examples of this disclosure, it can be derived by Figure 1 A diagram illustrating a specific implementation of a location-based audio signal compensation method performed by the device.

[0021] Figure 10 This is a block diagram of another specific implementation of a device operable to perform location-based audio signal compensation, based on some examples of this disclosure.

[0022] Figure 11 This is a block diagram of another particular illustrative example of a device operable to perform location-based audio signal compensation, based on some examples of this disclosure. Detailed Implementation

[0023] Apparatus and methods for performing location-based audio signal compensation are described. A portable device (e.g., a smartphone or smartwatch) having one or more microphones is used to measure the acoustic response associated with an audio playback device (e.g., a soundbar or smart speaker device). The portable device determines its own location based on absolute or relative location information and generates or retrieves a compensation filter associated with that location. In some implementations, such as when the portable device streams user-selected audio content to the playback device for playback, the portable device applies the compensation filter to generate pre-compensated audio content streamed to the playback device. In other implementations, the portable device sends the compensation filter to the playback device for onboard processing at the playback device.

[0024] In some implementations, the management of system identification and compensation filter generation is performed by a portable device, another device (e.g., a server), or distributed across multiple devices. Multiple compensation filters can be generated, each corresponding to a different location. Each compensation filter can be stored along with information indicating its associated location so that it can be retrieved for future use by listeners at that location. In some examples, information about the portable device, playback device, or both is also stored in conjunction with the compensation filters so that the portable device can distinguish between multiple compensation filters associated with the same location, for example, when compensation filters have already been generated for different playback devices (e.g., soundbars and teleconferencing systems) located in the same room or acoustic environment.

[0025] Using a portable device to generate or retrieve location-specific compensation filters allows audio signal compensation to be performed using the location of the portable device as a proxy for the location of the user of the portable device. For example, the portable electronic device may be carried by the user, worn on the user's body (e.g., on the wrist), or placed close to the user. The resulting location-specific compensation enables an improved audio experience for the user.

[0026] In some examples, the techniques described herein enable at least partial equalization of electroacoustic and device-specific sound reproduction. For instance, variability associated with components of a playback device (e.g., transducers within a relatively low-cost or "lower-level" model of the playback device) can be at least partially mitigated by generating and using location-specific compensation filters for that particular playback device. In another example, improved time alignment and phase correction can be provided for multi-channel arrangements. As a further example, speech intelligibility in audio can be improved, for example, due to reverberation reduction, by using location-specific compensation filters. As an illustrative, non-limiting example, improved speech intelligibility can enhance the user experience during voice user interface interactions, video calls, teleconferences, and audio content with dialogue (e.g., podcasts or movies).

[0027] Unless explicitly limited by its context, the term "signal" is used herein to indicate any meaning in its ordinary sense, including the state of a memory location (or set of memory locations) expressed on a wire, bus, or other transmission medium. Unless explicitly limited by its context, the term "generate" is used herein to indicate any meaning in its ordinary sense, such as operation or otherwise production. Unless explicitly limited by its context, the term "compute" is used herein to indicate any meaning in its ordinary sense, such as operation, evaluation, smoothing, and / or selection from multiple values. Unless explicitly limited by its context, the term "obtain" is used herein to indicate any meaning in its ordinary sense, such as calculation, derivation, receiving (e.g., from another component, block, or device) and / or retrieving (e.g., from a memory register or array of memory elements).

[0028] Unless explicitly limited by its context, the term "generate" is used to indicate any meaning in its ordinary sense, such as calculating, generating, and / or providing. Unless explicitly limited by its context, the term "provide" is used to indicate any meaning in its ordinary sense, such as calculating, generating, and / or producing. Unless explicitly limited by its context, the term "couple" is used to indicate a direct or indirect electrical or physical connection. If the connection is indirect, other blocks or components may exist between the "coupled" structures. For example, a loudspeaker may be acoustically coupled to a nearby wall via an intermediate medium (e.g., air) that allows waves (e.g., sound) to propagate from the loudspeaker to the wall (or vice versa).

[0029] The term “configuration” may be used with reference to a method, apparatus, device, system, or any combination thereof, as indicated by its particular context. When the term “comprising” is used in this specification and claims, it does not exclude other elements or operations. The term “based on” (as in “A is based on B”) is used to indicate any meaning in its general sense, including (i) “at least based on” (e.g., “A is at least based on B”), and, if appropriate in the particular context, (ii) “equal to” (e.g., “A equals B”). In (i) A is based on B, including at least based on, this may include a configuration of A coupled to B. Similarly, the term “in response to” is used to indicate any meaning in its general sense, including “at least in response to”. The term “at least one” is used to indicate any meaning in its general sense, including “one or more”. The term “at least two” is used to indicate any meaning in its general sense, including “two or more”.

[0030] Unless the specific context otherwise indicates, the terms "location" and "position" may be used interchangeably. Unless the specific context otherwise indicates, the terms "apparatus" and "equipment" may be used generally and interchangeably. Unless otherwise indicated, any disclosure of the operation of an apparatus having specific characteristics is also expressly intended to disclose a method having similar characteristics (and vice versa), and any disclosure of the operation of an apparatus according to a specific configuration is also expressly intended to disclose a method according to a similar configuration (and vice versa). Unless the specific context otherwise indicates, the terms "method," "process," "procedure," and "technology" may be used generally and interchangeably. The terms "element" and "module" may be used to indicate a portion of a larger configuration. The term "group" may correspond to a data unit that includes a header section and a payload section. Any incorporation of a part of the document by reference shall also be understood to include the definition of a term or variable referenced within that section, wherein such definition appears elsewhere in the document and in any figures referenced in the incorporated section.

[0031] As used herein, the term "communication device" refers to an electronic device that can be used for voice and / or data communication over a wireless communication network. Examples of communication devices include soundbars, smart speakers, cellular phones, personal digital assistants (PDAs), handheld devices, headsets, wireless modems, laptops, personal computers, and the like.

[0032] Figure 1A system 100 is depicted including a device 104 for performing location-based audio signal compensation. Device 104 is wirelessly coupled to a second device 106 via a wireless network 108. The second device 106 includes one or more speakers, such as a soundbar, a smart speaker device, or another device with audio playback capabilities. Device 104 is located near a user 102 (e.g., held by them) and at a position 180 relative to the second device 106. Device 104 is configured to send a pre-compensated audio signal 142 to the second device 106 for playback by the second device 106. The pre-compensated audio signal 142 is configured to reduce or eliminate distortion of sound 162 played by the second device 106 and received at device 104 via an acoustic path 152, for example, due to geometry, materials, and furniture in the acoustic environment, due to non-ideal operation of electronic components in the second device 106, or a combination thereof.

[0033] The acoustic path 152 between the second device 106 and the device 104 represents the propagation of sound played by the second device 106 and received at the device 104. Due to one or more distortion effects, the sound received at the device 104 may differ from the sound played from the second device 106. Although the acoustic path 152 is shown as a straight arrow for ease of illustration, it should be understood that the acoustic path 152 may include a combination or superposition of multiple paths (e.g., via one or more reflections from one or more walls, ceilings, floors, one or more pieces of furniture or other objects, or any combination thereof) from the sound from the second device 106 to one or more microphones 110 at the device 104. As a result, the acoustic path 152 is associated with distortion, which may include attenuation, amplification (e.g., in the case of acoustic resonance), delay, echo, other distortions, or any combination thereof.

[0034] As an illustrative and non-limiting example, device 104 (also referred to as "first device 104") is a portable device, such as a portable communication device (e.g., a smartphone) or a wearable electronic device (e.g., a smartwatch). Device 104 includes one or more microphones 110, one or more position sensors 120, a position-based compensation filter generator 130, a mixer 140, and a wireless transceiver 150 (e.g., a wireless transmitter, a wireless receiver, or both).

[0035] One or more microphones 110 are configured to generate an audio input signal 112 in response to receiving sound 162 from the second device 106. One or more position sensors 120 are configured to determine position data 122 indicating the position 180 of the device 104. In some implementations, the position data 122 is determined based on at least one of the following: acoustic position sensing, millimeter-wave-based sensing, ultrasonic sensing, satellite-based positioning, camera-based tracking data (e.g., images or infrared tracking of user 102) received from the second device, or any combination thereof.

[0036] For example, one or more position sensors 120 may include one or more microphones (e.g., one or more microphones 110) and associated electronics configured to determine acoustic positioning (e.g., determining the orientation and distance of the second device 106 based on differences in sound 162 received at the respective microphones). In another example, one or more position sensors 120 include a radio frequency (RF) position sensor, such as a millimeter-wave (mmWave) antenna array, and associated electronics configured to determine positioning relative to one or more mmWave sources. In other examples, one or more position sensors 120 include an ultrasonic sensor, a satellite-based positioning (e.g., Global Positioning System (GPS)) unit, a camera-based tracking unit at device 104, one or more receivers for receiving camera-based user tracking data from the second device 106, a motion-based tracking unit (e.g., a motion or acceleration sensor for enabling position tracking via dead reckoning), or any combination thereof.

[0037] Position data 122 can indicate position 180 as an absolute position, for example, when position data 122 includes satellite-based positioning information. Alternatively or additionally, position data 122 can indicate position 180 as a relative position based on a specific reference. As shown, position 180 is identified based on a distance 172 from a reference position 178 and an offset angle 174 from a reference direction 176. Although two-dimensional polar coordinates are depicted for illustrative purposes, any other two-dimensional or three-dimensional coordinate system, such as three-dimensional spherical coordinates, two-dimensional Cartesian coordinates (e.g., (x,y) coordinates), or three-dimensional Cartesian coordinates (e.g., (x,y,z) coordinates), can be used in other implementations as a non-limiting example. Similarly, although reference position 178 and reference direction 176 are depicted based on the position and orientation of the second device 106, any coordinate origin, such as based on room geometry, can be used in other implementations as an illustrative non-limiting example.

[0038] The location-based compensation filter generator 130 is configured to generate a compensation filter 132 based on the audio input signal 112 and before playing the audio playback signal 134 at the second device 106. The compensation filter 132 is generated and applied to the audio playback signal 134 to at least partially compensate for distortion associated with sound propagation from the second device 106 to the location 180 of the device 104. For example, the location-based compensation filter generator 130 is operable to perform an acquisition operation including sending a test signal to the second device 106 for playback, and processing the audio input signal 112 generated from the playback of the test signal to generate the compensation filter 132. Reference Figure 2 An example of a retrieval operation is described.

[0039] Mixer 140 is configured to apply compensation filter 132 to audio playback signal 134 (e.g., convolution) to generate a pre-compensated audio signal 142. For example, audio playback signal 134 may correspond to an audio file retrieved from the memory of device 104, a media stream received from a remote source (e.g., a media server), an audio component of a teleconference or video call, one or more other audio content sources, or any combination thereof. In some implementations, audio playback signal 134 is convolved with compensation filter 132 to obtain a corrected (e.g., at least partially equalized) response that mitigates adverse acoustic effects within second device 106 and along acoustic path 152.

[0040] Device 104 is configured to send a pre-compensated audio signal 142 to a second device 106 for playback. For example, the pre-compensated audio signal 142 is provided to a wireless transceiver 150 for transmission to the second device 106 via a wireless network 108. For example, the wireless network 108 may correspond to a wireless telephone or data network, an IEEE 802.11 type network (e.g., Wi-Fi), a short-range, ad hoc network (e.g., Bluetooth), one or more other networks, or any combination thereof (Wi-Fi is a trademark of the Wi-Fi Alliance, and Bluetooth is a trademark of BlueTooth SIG). In other implementations, at least a portion of the transmission of the pre-compensated audio signal 142 from device 104 to the second device 106 is performed via a wired network.

[0041] For reference Figure 2 and Figure 3In further detail, in some implementations, the location-based compensation filter generator 130, mixer 140, or both are implemented via one or more processors configured to execute instructions to generate compensation filter 132, apply compensation filter 132 to audio playback signal 134, or a combination thereof. Alternatively, in some implementations, at least a portion of the location-based compensation filter generator 130, mixer 140, or both is implemented using dedicated circuitry.

[0042] During operation, user 102 can choose to play audio content at the second device 106, for example, by selecting a playlist via a graphical user interface at device 104. Device 104 determines its position 180 based on position data 122 and determines whether a compensation filter associated with position 180 (e.g., compensation filter 132) is available, for example, by referring to... Figure 3 and Figure 5 A further detailed description follows. If compensation filter 132 is unavailable, the location-based compensation filter generator 130 generates compensation filter 132 during the acquisition operation, for example, referring to... Figure 2 Further detailed description.

[0043] Once compensation filter 132 is generated or retrieved, device 104 applies compensation filter 132 to audio playback signal 134 corresponding to the audio content selected by the user to generate pre-compensated audio signal 142. Wireless transceiver 150 transmits pre-compensated audio signal 142 to second device 106 for playback.

[0044] The second device 106 receives the pre-compensated audio signal 142 and generates a sound 162 corresponding to the pre-compensated audio signal 142 via a playback operation through one or more speakers. When the sound 162 reaches the user 102 via the acoustic path 152, the pre-compensation at least partially cancels out the distortion caused along the acoustic path 152, resulting in an improved quality of sound received by the user 102 compared to when the audio playback signal 134 is played from the second device 106 without pre-compensation.

[0045] In response to user 102 (and device 104) moving away from position 180 while audio playback is in progress, device 104 repeats the process by: determining a new position of device 104 based on position data 122 and generating a new compensation filter associated with the new position (since no compensation filter associated with the new position is available). Device 104 uses the new compensation filter to adjust the audio playback signal 134 to generate a pre-compensated audio signal 142 to at least partially compensate for distortion corresponding to the acoustic path between the second device 106 and the new position, for example, by referencing... Figure 5 Further description.

[0046] By calibrating audio playback using a location-based compensation filter generator 130, device 104 can at least partially compensate for distortions caused by room geometry, materials, and furniture, as well as distortions caused by the non-ideal performance of components in the second device 106, without requiring manual calibration or user input for calibrating conventional systems. The compensation is location-specific to device 104 and is updated as device 104 moves within the acoustic environment.

[0047] Figure 2 The specific implementation of the components and operations of device 104 and second device 106 during the acquisition operation is described. In addition... Figure 1 In addition to one or more position sensors 120 and wireless transceivers 150, device 104 also includes one or more processors 220 coupled to memory 210. The second device 106 includes a wireless transceiver 250 (e.g., a wireless transmitter, a wireless receiver, or both) coupled to one or more speakers 252.

[0048] Memory 210 includes instructions 212, one or more audio files 214, and filter storage units 216. Instructions 212 can be executed by one or more processors 220 to perform one or more operations or functions belonging to the one or more processors 220, as described below. The one or more audio files 214 include audio data corresponding to audio content that can be selected by a user of device 104 for playback. In one example, the one or more audio files 214 include audio data corresponding to audio content that can be selected by a user of device 104 for playback. Figure 1 The audio data corresponds to the audio playback signal 134. In a particular implementation, one or more audio files 214 include audio data corresponding to the test signal 230 used during the acquisition operation, as further described below.

[0049] One or more processors 220 are configured to receive an audio input signal 112 corresponding to sound received from the second device 106. For example, in some implementations, the audio input signal 112 corresponds to a multi-channel analog or digital signal received at an audio interface (e.g., an audio bus interface) of one or more processors 220. Receiving the audio input signal 112 may include performing analog-to-digital conversion or other processing, such as referencing... Figure 11 Further description.

[0050] One or more processors 220 are configured to determine position data 122 indicating the location of device 104. In some implementations, the one or more processors 220 receive sensor data from one or more position sensors 120 and process the sensor data to generate position data 122, for example, by performing multi-microphone direction-of-arrival analysis, updating position and motion estimates based on motion sensor data, or processing camera data (e.g., structured light images) to determine the distance and orientation of device 104 relative to a reference, as illustrative and non-limiting examples. In some implementations, the one or more processors 220 perform coordinate transformations or other processing to combine or "fuse" position estimates from multiple different types of position sensors, for example, by reconciling absolute position data (e.g., satellite-based positioning data) with relative position data (e.g., acoustic position sensing). In other implementations, one or more position sensors 120 include onboard signal processing and output position data 122 without requiring additional processing by the one or more processors 220, and position data 122 is determined by receiving position data 122 via the one or more processors 220.

[0051] One or more processors 220 are configured to generate a compensation filter 132 based on the audio input signal 112 to be applied to the audio playback signal to at least partially compensate for distortion associated with sound propagation from the location of the second device 106 to the device 104. For example, a wireless transceiver 150 is configured to transmit a test signal 230 to the second device 106. The test signal 230 may include a dedicated audio signal, such as scans, noise, music, or other audio content, streamed from the device 104 to the second device 106 via wireless transmission 232. In some implementations, an automatic calibration process is performed when the device 104 streams unknown music or movie content as the test signal 230. Because the device 104 can access the original audio content via loopback, the audio content of the test signal 230, which was unknown before playback by the second device 106, is monitored during playback to determine the compensation filter 132.

[0052] One or more microphones 110 are configured to receive sound from a second device 106 corresponding to the playback of a test signal 230 from the second device 106, and generate an audio input signal 112 representing the received sound corresponding to the playback of the test signal 230. One or more processors 220 are configured to perform a system identification operation 222 to generate impulse response data 226 based on the audio input signal 112 and the test signal 230, and to perform a reverse operation 224 based on the output 228 of the system identification operation 222 to generate a compensation filter 132. In some implementations, device 104 uses a normalized least mean square adaptive filter (e.g., single-channel or multi-channel, and single-band or multi-band) to perform system identification, and determines the room impulse response (RIR) based on the filter once the filter has converged (e.g., after a few seconds). In some implementations, the room impulse response is used to automatically obtain the compensation filter using a weighted least squares (WLS) method, where an “ideal” Dirac increment is used as the desired response. Further regularization and weighting can be performed to mitigate spikes that may otherwise appear in the resulting compensation filter (also known as a playback equalizer).

[0053] One or more processors 220 are configured to store the compensation filter 132 in association with the position data 122 in the filter storage unit 216, such that the compensation filter 132 can be retrieved in response to a position-based compensation filter search, for example, by referring to... Figure 3 and Figure 5 Further described. As shown, one or more processors 220 store entry 260 in filter storage unit 216. Entry 260 includes an indication of the second device 106 (“D1”), position data 122 (“P1”), and data representing compensation filter 132 (“CF1”).

[0054] During operation, device 104 and second device 106 establish a wireless connection (e.g., via a Wi-Fi or Bluetooth network). Device 104 receives metadata 234 from second device 106. For example, metadata 234 may include a unique or semi-unique identifier for second device 106, and may also include information such as data indicating the location of device 104 as determined by one or more cameras or other sensors of second device 106.

[0055] One or more processors 220 search for filter storage units 216 for a compensation filter used in the second device 106 and corresponding to the position indicated by the position data 122. In response to determining that filter storage units 216 do not contain a suitable filter, one or more processors 220 initiate the execution of an acquisition operation.

[0056] During the acquisition operation, test signal 230 is streamed to second device 106 via transmission 232. Test signal 230 is received at wireless transceiver 250 and played as test sound at one or more speakers 252 of second device 106. The test sound may be distorted due to imperfect performance of one or more components within second device 106, and may be further distorted during propagation along acoustic path 152 before being received at one or more microphones 110. Audio input signal 112 corresponding to the received test sound is generated by one or more microphones 110 and provided to one or more processors 220.

[0057] In a position-based compensation filter generator 130 at one or more processors 220, a system identification operation 222 processes the audio input signal 112 and a test signal 230 to generate an output 228, and the output 228 is processed by a reverse operation 224 to generate a compensation filter 132. The compensation filter 132 is stored in a filter storage unit 216 via the storage of entry 260, enabling the filter storage unit 216 to be searched based on the identifier of the second device 106 and based on the position data 122. The compensation filter 132 is also used for pre-compensation of audio playback, as referenced... Figure 3 and Figure 4 Further description.

[0058] After generating compensation filter 132, one or more processors 220 are configured to determine second position data (“P2”) indicating a second position of device 104 after device 104 moves to another location, for example, when user 102 stands up from a table and moves to a sofa while audio playback is taking place at second device 106. One or more processors 220 search filter storage unit 216 for compensation filters associated with the second position. In response to determining that filter storage unit 216 does not contain a suitable filter, one or more processors 220 initiate another iteration of the acquisition operation to generate a second compensation filter 264, which can be stored in filter storage unit 216 as an entry 262 identifying second device 106 (“D1”), the second position data (“P2”), and the data corresponding to the second compensation filter 264 (“CF2”). Reference Figure 5 An example of using multiple filters based on the movement of device 104 is provided.

[0059] The location-based compensation filter generation for device 104 enables at least partial compensation for distortions caused by room geometry, materials, and furniture along a specific acoustic path to device 104, as well as distortions caused by the non-ideal performance of components in the second device 106, without requiring manual calibration or user input for calibrating conventional systems. By informing the location-based compensation filter generator 130 with a test signal 230 during system identification operation 222, actual music or movie audio content can be used for calibration during normal use by user 102 without playing test tones or noise signals, resulting in an improved user experience.

[0060] Although device 104 is described as searching filter storage unit 216 for a suitable compensation filter before initiating the generation of compensation filter 132, in other implementations, device 104 may not search filter storage unit 216 before generating compensation filter 132. For example, device 104 may be configured to periodically and automatically generate calibration filters in response to detecting movement of device 104, in response to receiving a command from user 102 (e.g., via device 104's user interface (e.g., a graphical user interface for obtaining a compensation filter, selecting a compensation filter, or a voice command, or both)) or any combination thereof.

[0061] Although device 104 streams test signal 230, generates compensation filter 132, and maintains filter storage unit 216 in memory 210, in other implementations, streaming test signal 230, generating compensation filter 132, maintaining filter storage unit, or any combination thereof, can be performed by another device communicating with device 104, the second device 106, or both, such as an edge server or cloud server. (See reference) Figure 5 An example of using a filter storage unit from an external device is provided.

[0062] Figure 3 Specific implementations of the components and operations of device 104 and second device 106 during the playback phase are described. For example, the playback phase may occur... Figure 2 After one or both of the acquisition operations described herein, during this period, compensation filter 132 and second compensation filter 264 are generated and stored in filter storage unit 216 as entries 260 and 262, respectively.

[0063] During playback, one or more processors 220 apply a suitable compensation filter (e.g., compensation filter 132) to the audio playback signal 134 to generate a pre-compensated audio signal 142. For example, mixer 140 convolves the audio playback signal 134 with compensation filter 132 to generate the pre-compensated audio signal 142. The pre-compensated audio signal 142 is transmitted to a second device 106 via transmission 332 (e.g., streaming audio). The second device 106 plays the pre-compensated audio signal 142 via one or more speakers 252, as shown in... Figure 1 As described in [the text].

[0064] One or more processors 220 are also configured to perform a location-based compensation filter search 310. For example, when location data 122 indicates that device 104 has moved to a first location (“P1”), one or more processors 220 can use the identifier of the second device 106 (“D1”) and the first location (“P1”) as an index to perform a table lookup operation to determine whether any entry in filter storage unit 216 includes a suitable filter. In other implementations, the entries in filter storage unit 216 are arranged or managed as a database, list, array, or one or more other data structures, and the location-based compensation filter search 310 is configured to access the device identifier and location of the entries in filter storage unit 216 to compare them with search criteria (e.g., device identifier and location).

[0065] In some implementations, the location-based compensation filter search 310 uses a distance threshold to determine whether a compensation filter is suitable for the current location of device 104. In one example, the location-based compensation filter search 310 locates an entry in filter storage unit 216 that has an associated location closest to the location of device 104. If the distance between the location associated with the stored compensation filter and the location of device 104 is less than the distance threshold, the compensation filter associated with the located entry is used. Otherwise, the location of device 104 is used. Figure 2 The acquisition operation is used to generate a new compensation filter. Alternatively, in another example, the new compensation filter is generated based on a combination of two or more other compensation filters, as shown in the reference. Figure 7 Further description.

[0066] Figure 4 These are some examples based on the content of this disclosure. Figure 1 A diagram illustrating another specific implementation of the system's components during the playback phase. Figure 4 In the implementation described, the audio playback signal 134 is stored (or received) at the second device 106 instead of the device 104. This is identified by the position-based compensation filter search 310 (or by...). Figure 2The compensation filter 132 generated by the acquisition operation is sent to the second device 106 via transmission 432.

[0067] The second device 106 receives the compensation filter 132 and applies the compensation filter 132 to the audio playback signal 134 (e.g., via convolution at mixer 440) to generate a pre-compensated audio signal 142. The pre-compensated audio signal 142 is played through one or more speakers 252.

[0068] Figure 5 This is a diagram illustrating a specific implementation of system 500, which includes a first device 104, a second device 106, and a third device 508 coupled to a wireless network 108. In a particular example, the third device 508 corresponds to an edge server or a cloud server. The third device 508 includes a filter storage unit 516 and is configured to perform a location-based compensation filter search 510 of the filter storage unit 516 in a manner similar to that described for the reference filter storage unit 216 and the location-based compensation filter search 310.

[0069] As shown in the figure, user 102 can operate device 104 at position 180 (also referred to as "first position" 180) at a first time, and can later change the location so that device 104 is at second position 502 at a second time after the first time. Second position 502 is located at a second distance 504 from reference position 178 and at a second offset angle 506 relative to reference direction 176.

[0070] At the first position 180, device 104 sends position data 122 indicating position 180 to the third device 508. In some examples, device 104 includes a local filter storage unit (e.g., filter storage unit 216), and when a compensation filter search is performed based on the local filter (e.g., ...), Figure 3 If the location-based compensation filter search (310) fails to identify any locally stored compensation filters, the location data 122 is sent to a third device 508 to search for a suitable compensation filter. In other examples, device 104 is not configured to maintain a local filter storage unit.

[0071] In response to receiving location data 122, the third device 508 performs a location-based compensation filter search 510 to locate the entry 560 associated with the second device 106 (“D1”) and location data 122 (“P1”), and sends a compensation filter 132 to device 104 for generating a pre-compensated audio signal 142 (e.g., in…). Figure 3 In the implementation described in the figure, the pre-compensated audio signal 142 is streamed to the second device 106 for playback of sound 162.

[0072] After user 102 has moved device 104 to the second position 502, device 104 sends second position data 522, indicating the second position 502, to the third device 508. For example, device 104 may determine the second position data 522, indicating the second position 502, after the movement of device 104. Device 104 may not find a suitable compensation filter in its local filter storage unit, or may not be configured to maintain the local filter storage unit. In response to receiving the second position data 522, the third device 508 performs a position-based compensation filter search 510 to locate the entry 562 associated with the second device 106 (“D1”) and the second position data 522 (“P2”), and sends the second compensation filter 264 to device 104. Device 104 uses the second compensation filter 264 to replace compensation filter 132 and continues streaming the pre-compensated audio signal. However, after replacing the compensation filter 132 with the second compensation filter 264, the pre-compensated audio signal is adjusted to compensate for the distortion in the sound 162 received at the second position 502, rather than to compensate for the distortion at position 180.

[0073] If the filter storage unit 516 does not include a suitable compensation filter, the third device 508 may send a notification to device 104, which causes device 104 to initiate, as in Figure 2 The acquisition operation described herein. For example, if the filter storage unit 516 does not include an entry 560 corresponding to the first position 180 (“P1”), the device 104 generates a compensation filter 132 and sends the compensation filter 132 and position data 122 to the third device 508 so that the compensation filter 132 can be retrieved later at the third device 508 in response to a position-based compensation filter search 510.

[0074] Although the third device 508 sends compensation filter 132 and second compensation filter 264 to device 104, in other implementations, the third device 508 alternatively sends compensation filter 132 and second compensation filter 264 to the second device 106, for example, when the second device 106 is operable to apply compensation filters to generate a pre-compensated audio signal, such as in... Figure 4 As described in [the text].

[0075] Figure 6This is a diagram illustrating a specific implementation of a memory structure 600 that can be used to store location-based compensation filters. For example, memory structure 600 may correspond to filter storage unit 216, filter storage unit 516, or a combination thereof. Memory structure 600 has a first column 602 containing entry indexes (entries), a second column 604 containing device identifiers (device IDs), a third column 606 containing location information (locations), and a fourth column 608 containing filter data (filters). Each row of memory structure 600 corresponds to a single entry, for example... Figure 2 Entries 260 and 262 or Figure 5 Entries 560 and 562.

[0076] The first entry 612 has index 1, device identifier 01 (e.g., the second device 106), position [x1, y1, z1] (e.g., the position of device 104 is represented as coordinates in a three-dimensional Cartesian coordinate system), and filter data h1(n) (e.g., a set of filter coefficient values ​​or "tap"). The second entry 614 has index 2, device identifier 01, position [x2, y2, z2], and filter data h2(n). The third entry 616 has index 3, device identifier 02 (e.g., a playback device different from the second device 106), position [x3, y3, z3], and filter data h3(n). The Nth entry 618 (where N is an integer greater than 3) has index N, device identifier 01, position [x1, y1, z1], position [x1, y1, z1], and filter data h1(n). N ,y N ,z N ] and filter data h N (n).

[0077] In some implementations, entries 612-618 are sorted (e.g., based on location) to reduce the latency associated with the location-based compensation filter search. As an illustrative, non-limiting example, the memory structure 600 may first be sorted by device ID, and the entries for each device ID may be sorted based on location (e.g., by the x-coordinate of each entry).

[0078] Figure 7An example of implementation 700 is depicted, in which one or more processors 220 are operable to generate a compensation filter 732 based on a combination of multiple stored filters. In response to a location-based compensation filter search 310 failing to find a suitable compensation filter in filter storage unit 216 for a specific location data 722 (e.g., the nearest location associated with a stored compensation filter is greater than a threshold distance from the location associated with location data 722), the location-based compensation filter search 310 retrieves multiple compensation filters, shown as compensation filter 132 and compensation filter 532. For example, the location-based compensation filter search 310 may identify compensation filter 132 and compensation filter 532 as two compensation filters in filter storage unit 216 whose associated locations are closest to the location indicated by location data 722.

[0079] Compensation filter 132 and second compensation filter 532 are provided to filter combiner 702, which is configured to generate compensation filter 732 based on a combination of two or more other compensation filters. In a particular implementation, filter combiner 702 is configured to perform interpolation of the received compensation filters, such as linear interpolation, polynomial interpolation, or spline interpolation, as illustrative and non-limiting examples. In some implementations, filter combiner 702 is configured to perform filter prediction based on stored compensation filters. For example, filter combiner 702 can generate a model of filter parameters for an acoustic space and estimate compensation filter 732 based on that model.

[0080] Therefore, device 104 can use compensation filters applied at multiple listening positions for the same playback device (e.g., second device 106) to predict the response at unmeasured points in the acoustic environment. In some implementations, one or more users can use multiple personal devices (e.g., different versions of device 104) at the same listening position (or listening positions very close to each other) to generate compensation filters for the same playback device. Filter combiner 702 can average the multiple compensation filters to mitigate device-specific acoustic characteristics introduced by the various personal devices.

[0081] although Figure 7 The illustration depicts the use of filter combiner 702 to generate compensation filter 732; however, in other implementations, one or more processors 220 do not combine multiple filters. For example, in some implementations, the closest matching compensation filter in filter storage unit 216 is selected for use, regardless of the distance between the location of device 104 and the location associated with the closest matching compensation filter. In other implementations, a continuous filter generated via adaptive filtering can be used.

[0082] Figure 8A and 8B An example is depicted in which device 104 is implemented as a wearable electronic device. Figure 8A In this device, one or more microphones 110, one or more position sensors 120, memory 210, and one or more processors 220 are implemented in a virtual reality (VR) or augmented reality (AR) headset device 802. The memory 210 and the one or more processors 220 are shown in dashed lines to indicate that these components may be internal components that are not visible from the outside of the device 104. Figure 8B In this device 804, one or more microphones 110, one or more position sensors 120, memory 210 and one or more processors 220 are implemented.

[0083] refer to Figure 9 This describes a specific implementation of a location-based audio signal compensation method 900, which can be performed by... Figure 1 Equipment 104 Figure 8A Headphones 802 Figure 8B The smartwatch device 804, one or more other devices, or any combination thereof, shall be used to perform this action.

[0084] Method 900 includes, at 902, receiving an audio input signal corresponding to sound received from a second device at one or more processors of a first device. For example, in some implementations, method 900 includes: wirelessly transmitting a test signal from the first device to the second device; and receiving sound from the second device, the sound corresponding to playback of the test signal from the second device, for example, referencing... Figure 2 The test signal 230 is described. An audio input signal can be generated at the microphone of the first device in response to receiving sound, for example, an audio input signal 112 can be generated at one or more microphones 110 in response to receiving sound 162.

[0085] Method 900 includes: at 904, determining location data indicating the location of the first device. In some examples, the location data is determined based on at least one of the following: acoustic location sensing, millimeter-wave-based sensing, ultrasonic sensing, satellite-based positioning, camera-based tracking from a second device, or any combination thereof, as described with reference to one or more location sensors 120.

[0086] Method 900 includes: at 906, generating a compensation filter based on the audio input signal, the compensation filter being applied to the audio playback signal before playback from the second device to at least partially compensate for distortion associated with sound propagation from the second device to the first device. In some examples, generating the compensation filter includes: performing a system identification operation (e.g., Figure 2 The system identification operation 222) generates impulse response data based on the audio input signal and the test signal; and performs a reverse operation based on the result of the system identification operation (e.g., Figure 2 The reverse operation 224).

[0087] For example, in some implementations, method 900 includes: applying a compensation filter 132 to an audio playback signal 134 at a first device 104 to generate a pre-compensated audio signal 142; and sending the pre-compensated audio signal 142 from the first device 104 to a second device 106 for playback, for example in... Figure 3 As depicted in [the text]. In other implementations, method 900 includes: sending the compensation filter 132 to the second device 106 (e.g., in [the context of the previous sentence]). Figure 4 (as depicted in the document), which allows a compensation filter 132 to be applied at the second device 106 before the playback of the audio playback signal 134.

[0088] In some implementations, method 900 includes storing a compensation filter in association with location data at a filter storage unit of a first device, enabling retrieval of the compensation filter in response to a location-based compensation filter search (e.g., in entry 260 stored at filter storage unit 216 for retrieval based on location-based compensation filter search 310). In other implementations, method 900 includes transmitting the compensation filter and location data to a third device, enabling retrieval of the compensation filter at the third device in response to a location-based compensation filter search, for example, referring to... Figure 5 The third device 508 is described. In some examples, method 900 includes: determining second position data (e.g., indicating a second position of the first device) after the first device has been moved. Figure 3 The second position data “P2”); and a second compensation filter (e.g., for the second position) associated with the second position. Figure 3 The second compensation filter “CF2” (332) in entry 362 is used to search for filter storage units.

[0089] In some implementations, method 900 includes generating a second compensation filter based on a combination of multiple stored filters, for example, for a filter composed of... Figure 7The compensation filter 732 generated by the filter combiner 702 is described. In other implementations, a compensation filter associated with the location closest to the second location data is selected from the filter storage unit. In some examples, if the distance between the device location and the nearest location associated with the compensation filter in the filter storage unit exceeds a distance threshold, a filter acquisition operation is performed to generate a compensation filter for that location, for example, referring to... Figure 2 As described.

[0090] By generating a compensation filter based on sound received at a location in the first device, method 900 enables the calibration of audio playback of the second device based on output sound received at the microphone of the first device, and at least partially compensates for distortions at the location in the first device, such as distortions due to room geometry, materials, and furniture, as well as distortions due to the non-ideal performance of components in the second device. For example, location-based compensation can enable the use of lower-cost components in the second device to provide sound quality associated with relatively expensive audio components, and can improve speech intelligibility through reverberation reduction. Method 900 achieves location-based distortion compensation without requiring manual calibration used for calibrating conventional systems. Music or movie audio content can be used for calibration during normal use without playing test tones or noise signals, resulting in an improved user experience.

[0091] Figure 9 Method 900 can be executed by a field-programmable gate array (FPGA) device, an application-specific integrated circuit (ASIC), a processing unit such as a central processing unit (CPU), a DSP, a controller, another hardware device, a firmware device, or any combination thereof. As an example, Figure 9 Method 900 can be executed by a processor that executes instructions, such as those described with reference to one or more processors 220.

[0092] Figure 10 An implementation 1000 of device 1002 is described, device 1002 including components integrated into, for example, a semiconductor chip or package (as shown in reference). Figure 11Memory 210 and processor 220 are discrete components such as (further described) in the device 1002. The device 1002 includes an input interface 1010 (e.g., a first bus interface) to enable the reception of audio input signals 112 and location data 122 from one or more microphones, one or more position sensors, or other components external to the device 1002 (e.g., one or more microphones 110 and one or more position sensors 120). The device 1002 also includes an output interface 1012 (e.g., a second bus interface) to enable the transmission of pre-compensated audio signals 142 (or compensation filters 132) to an external playback device (e.g., via wireless transceiver 150). The device 1002 enables location-based audio signal compensation to be implemented as a component in a system including one or more microphones, one or more position sensors, and an external playback device, such as in... Figure 8A and Figure 8B In the wearable electronic devices depicted in or Figure 11 The wireless communication devices depicted are provided as illustrative, non-limiting examples.

[0093] Reference Figure 11 A block diagram depicting a specific illustrative implementation of the device is provided, and is collectively designated 1100. In various implementations, device 1100 may have more features than in... Figure 11 The components shown may be more or fewer. In an illustrative implementation, device 1100 may correspond to device 104. In an illustrative implementation, device 1100 may perform reference... Figures 1-10 One or more operations described.

[0094] In a particular implementation, device 1100 includes processor 1106 (e.g., a central processing unit (CPU)). Device 1100 may include one or more additional processors 1110 (e.g., one or more DSPs). Processor 1110 may include a voice and music codec (CODEC) 1108 and a location-based compensation filter generator 130. For example, processor 1110, processor 1106, or a combination thereof may correspond to... Figure 2 One or more processors 220. The voice and music codec 1108 may include a voice encoder (“vocoder”) encoder 1136, a vocoder decoder 1138, or both.

[0095] Device 1100 may include memory 1186 and CODEC 1134. Memory 1186 may correspond to memory 210 and may include instructions 1156 (e.g., Figure 2Instructions 212), which can be executed by one or more additional processors 1110 (or processor 1106) to implement the functions described with reference to the location-based compensation filter generator 130. Device 1100 may include a wireless controller 1140 coupled to antenna 1190 via transceiver 1150.

[0096] Device 1100 may include a display 1128 coupled to display controller 1126. A first microphone 1160 and a second microphone 1162 may correspond to one or more microphones 110 and may be coupled to CODEC 1134 together with one or more speakers 1164. CODEC 1134 may include a digital-to-analog converter 1102 and an analog-to-digital converter 1104. In a particular implementation, CODEC 1134 may receive analog signals from microphones 1160 and 1162, convert the analog signals to digital signals using analog-to-digital converter 1104, and provide the digital signals to voice and music codec 1108. Voice and music codec 1108 may process the digital signals. In a particular implementation, voice and music codec 1108 may provide digital signals to CODEC 1134. CODEC 1134 can use digital-to-analog converter 1102 to convert digital signals into analog signals, and can provide analog signals to one or more speakers 1164 for local audio playback (as opposed to playback via an external device (e.g., a second device 106)).

[0097] In a particular implementation, memory 1186, processor 1106, processor 1110, display controller 1126, CODEC 1134, and wireless controller 1140 are included in a system-in-package or system-on-a-chip device 1122. In a particular implementation, input device 1130 and power supply 1144 are coupled to system-on-a-chip device 1122. Furthermore, in a particular implementation, such as Figure 11 As shown, the display 1128, input device 1130, one or more speakers 1164, microphones 1160, 1162, antenna 1190, and power supply 1144 are external to the system-on-chip device 1122. In a particular implementation, each of the display 1128, input device 1130, one or more speakers 1164, microphones 1160, 1162, antenna 1190, and power supply 1144 may be coupled to a component of the system-on-chip device 1122 (e.g., an interface or controller).

[0098] Device 1100 can be implemented as an electronic device with a shape factor (e.g., size and weight) adapted for portability, making it easy for a user to carry (so that the location of device 1100 can approximate the user's location), such as a mobile communication device, smartphone, cellular phone, laptop computer, tablet device, personal digital assistant, game controller, music player, radio unit, portable digital video player, portable digital video disc (DVD) player, tuner, camera, navigation device, or any combination thereof. In other implementations, device 1100 can be implemented with a shape factor that is less adapted for portability, such as a smart speaker (e.g., processor 1106 can execute instructions 1156 to run a voice-controlled digital assistant application), soundbar, computer, display device, television, game console, music player, radio unit, digital video player, digital video disc (DVD) player, tuner, or any combination thereof.

[0099] In conjunction with the described implementation, an apparatus includes a unit for receiving sound from a transmitting device and generating an audio input signal corresponding to the sound. For example, the unit for receiving sound may correspond to one or more microphones 110, 1160, 1162, one or more other circuits or components configured to receive sound from a transmitting device and generate an audio input signal corresponding to the sound, or any combination thereof.

[0100] The device also includes a unit for determining location data indicating the location of the unit for receiving sound. For example, the unit for determining the location data may correspond to one or more position sensors 120, one or more other circuits or components configured to determine the location data, or any combination thereof.

[0101] The apparatus also includes a unit for generating a compensation filter based on the audio input signal. This compensation filter is applied to the audio playback signal before it is played back from the transmitting device to at least partially compensate for distortion associated with sound propagation from the transmitting device to the location of the unit for receiving sound. For example, the unit for generating the compensation filter may correspond to a location-based compensation filter generator 130, device 104, one or more processors 220, device 1002, processor 1106, one or more processors 1110, one or more other circuits or components configured to generate room impulse response data, or any combination thereof.

[0102] In some implementations, the apparatus further includes a unit for storing the compensation filter in association with location data, enabling retrieval of the compensation filter in response to a location-based compensation filter search. For example, the unit for storing the compensation filter may correspond to filter storage unit 216, memory 210, third device 508, filter storage unit 516, memory 1186, one or more other circuits or components configured to store the compensation filter in association with location data, or any combination thereof, in response to a location-based compensation filter search.

[0103] In some implementations, the apparatus also includes a unit for applying a compensation filter to the audio signal to generate a pre-compensated audio signal. For example, the unit for applying the compensation filter may correspond to mixer 140, one or more processors 220, device 104, device 1002, processor 1106, one or more processors 1110, one or more other circuits or components configured to apply the compensation filter to the audio signal, or any combination thereof.

[0104] In some implementations, the device also includes a unit for transmitting a pre-compensated audio signal to a transmitting device for playback. For example, the unit for transmitting may correspond to wireless transceiver 150, output interface 1012, wireless controller 1140, transceiver 1150, antenna 1190, one or more other circuits or components configured to transmit a pre-compensated audio signal to a transmitting device for playback, or any combination thereof.

[0105] In some implementations, a non-transitory computer-readable medium stores instructions for location-based audio signal compensation. When executed by one or more processors, the instructions cause the processors to: receive an audio input signal corresponding to sound received from a second device; determine location data indicating the location of a first device; and generate a compensation filter based on the audio input signal, the compensation filter being applied to the audio playback signal before playback from the second device to at least partially compensate for distortion associated with sound propagation from the second device to the first device. For example, the instructions may cause one or more processors to perform... Figure 9 At least a part of method 900.

[0106] Those skilled in the art will also understand that the various illustrative logic blocks, configurations, modules, circuits, and algorithm steps described in connection with the implementations disclosed herein can be implemented as electronic hardware, computer software executed by a processor, or a combination of both. The foregoing has provided a general description of the functions of the various illustrative components, blocks, configurations, modules, circuits, and steps. Whether such functionality is implemented as hardware or as processor-executable instructions depends on the specific application and the design constraints imposed on the overall system. Those skilled in the art can implement the described functionality in varying ways for each specific application, and such implementation decisions should not be construed as departing from the scope of this disclosure.

[0107] The steps of the methods or algorithms described in conjunction with the implementations disclosed herein can be directly embodied in hardware, in a software module executed by a processor, or a combination of both. The software module can reside in random access memory (RAM), flash memory, read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, hard disks, removable disks, compressed optical disc read-only memory (CD-ROM), or any other form of non-transitory storage medium known in the art. An exemplary storage medium is coupled to a processor such that the processor can read information from and write information to the storage medium. Alternatively, the storage medium can be a component of the processor. The processor and storage medium can reside in an application-specific integrated circuit (ASIC). The ASIC can reside in a computing device or user terminal. Alternatively, the processor and storage medium can reside as discrete components in a computing device or user terminal.

[0108] The foregoing description of the disclosed implementations is provided to enable those skilled in the art to make or use the disclosed implementations. Various modifications to these implementations will be readily apparent to those skilled in the art, and the principles defined herein can be applied to other implementations without departing from the scope of this disclosure. Therefore, this disclosure is not intended to be limited to the implementations shown herein, but is endowed with the widest possible scope consistent with the principles and novel features defined by the following claims.

Claims

1. An apparatus for performing location-based audio signal compensation, the apparatus comprising: Memory, configured to store instructions; as well as One or more processors configured to execute the instructions to perform the following operations: Receive an audio input signal corresponding to the sound received from the second device; Determine the first position of the device; A first set of coefficients for a compensation filter is generated based on the audio input signal, and the compensation filter is configured as follows: The audio playback signal is applied to the audio playback signal before it is played from the second device, and At least partially compensate for the distortion associated with sound propagation from the second device to the first location of the device; Generate first position data indicating the first position of the device; Initiate the storage of the first coefficient set and the first position data in the data structure; After the device moves from the first position to the second position, the second position is determined; The data structure is searched for the second set of coefficients corresponding to the second position of the compensation filter; as well as In response to the failure to locate the second set of coefficients, the second set of coefficients is generated based on the first set of coefficients and a third set of coefficients of the compensation filter, the third set of coefficients being associated with a third position that is greater than a threshold distance from the second position of the device.

2. The apparatus of claim 1, wherein, The one or more processors are further configured to: Receive identifier data indicating the identifier of the second device; and Initiate the storage of the first coefficient set, the first position data, and the identifier data in the same entry of the data structure, wherein the data structure includes multiple entries sorted based on the position data.

3. The apparatus of claim 1, wherein, The one or more processors are further configured to: A pre-compensated audio signal is generated by applying the compensation filter to the audio playback signal; and The pre-compensated audio signal is sent to the second device for playback.

4. The apparatus of claim 1, wherein, The one or more processors are further configured to send the first set of coefficients to the second device.

5. The device according to claim 1, wherein: The memory includes a filter storage unit; and The one or more processors are further configured to store the data structure at the filter storage unit.

6. The apparatus of claim 1, wherein, The first location data includes the absolute location of the device and the relative location of the device, and wherein, in order to determine the first location data, the one or more processors are configured to execute the instructions to coordinate the absolute location with the relative location.

7. The device according to claim 1, wherein, The one or more processors are further configured to: initiate storage of the first coefficient set in the same entry as the first position data in the data structure, and wherein, in order to initiate storage of the first coefficient set in the same entry as the first position data, the one or more processors are further configured to execute the instructions to: send the first coefficient set and the first position data to a third device, such that the first coefficient set can be retrieved at the third device in response to a position-based compensation filter search, and wherein the third device includes a server.

8. The device according to claim 1, further comprising: A wireless transceiver coupled to the one or more processors and configured to transmit a test signal to the second device; as well as The microphone is configured as follows: The sound is received from the second device, the sound corresponding to the playback of the test signal from the second device; as well as The audio input signal is generated based on the received sound.

9. The device according to claim 8, wherein, The one or more processors are further configured to: Performing a system identification operation, wherein, in order to perform the system identification operation, the one or more processors are configured to execute the instructions to: Generate impulse response data based on the audio input signal and the test signal; The system generates the output of the identification operation based on the impulse response data; and The first set of coefficients is generated based on a reverse operation, which is performed based on the output of the system identification operation.

10. The device according to claim 1, wherein, The first location data is determined based on satellite-based positioning operations.

11. The device according to claim 1, wherein, The memory and the one or more processors are incorporated into a portable communication device.

12. The device according to claim 1, wherein, The memory and the one or more processors are incorporated into the wearable electronic device.

13. A method for performing location-based audio signal compensation, the method comprising: The first device receives an audio input signal corresponding to the sound received from the second device at one or more processors. Determine the first position of the first device; A first set of coefficients for a compensation filter is generated based on the audio input signal, and the compensation filter is configured as follows: The audio playback signal is applied to the audio playback signal before it is played from the second device, and At least partially compensate for the distortion associated with sound propagation from the second device to the first location of the first device; Generate first position data indicating the first position of the first device; Initiate the storage of the first coefficient set and the first position data in the data structure; After the first device moves from the first position to the second position, the second position is determined; The data structure is searched for the second set of coefficients corresponding to the second position of the compensation filter; as well as In response to the failure to locate the second set of coefficients, the second set of coefficients is generated based on the first set of coefficients and a third set of coefficients of the compensation filter, the third set of coefficients being associated with a third position that is greater than a threshold distance of the second position of the first device.

14. The method according to claim 13, wherein, The data structure includes multiple entries, wherein the multiple entries are ordered based on location data, and wherein the method further includes: generating the audio input signal at the microphone of the first device in response to receiving the sound.

15. The method of claim 13, further comprising: A pre-compensated audio signal is generated by applying the compensation filter to the audio playback signal. as well as The pre-compensated audio signal is sent from the first device to the second device for playback.

16. The method of claim 13, further comprising: The first set of coefficients is sent to the second device.

17. The method of claim 13, further comprising: The data structure is stored in the filter storage unit of the first device so that the first set of coefficients can be identified in response to a location-based compensation filter search operation performed in the filter storage unit. Apply the first set of coefficients to the audio playback signal; During the application of the first set of coefficients to the audio playback signal, third position data indicating the third position of the first device is obtained; A third set of coefficients is obtained based on a second position-based compensation filter search operation performed at the filter storage unit, wherein the second position-based compensation filter search operation is performed based on the third position. as well as The third set of coefficients of the compensation filter is applied to the audio playback signal.

18. The method of claim 13, further comprising: Perform satellite-based positioning operations to determine second location data including the second location of the first device after the first device moves from the first location, wherein the second location includes the absolute location of the first device; A search is performed on the filter storage unit based on the second position; and The second set of coefficients is identified based on the search results.

19. The method of claim 13, further comprising: Establish a wireless connection between the first device and the second device; Obtain a device identifier indicating the second device from the second device via the wireless connection; Based on the device identifier, receive from the filter storage unit a set of multiple stored coefficients corresponding to multiple stored filters; as well as The second coefficient set is generated based on the combination of the multiple stored coefficient sets.

20. The method of claim 13, further comprising: Initiating the storage of the first coefficient set in the entry of the data structure that is identical to the data at the first position, wherein initiating the storage of the first coefficient set in the entry of the data structure that is identical to the data at the first position includes: The data structure is sent to a third device so that the first set of coefficients can be retrieved at the third device in response to a location-based compensation filter search.

21. The method of claim 13, further comprising: The test signal is wirelessly transmitted from the first device to the second device; as well as The sound is received from the second device, the sound corresponding to the playback of the test signal from the second device.

22. The method according to claim 21, wherein, Generating the first set of coefficients includes: Perform system identification operations to generate impulse response data based on the audio input signal and the test signal; and The reverse operation is performed based on the result of the system's identification operation.

23. The method according to claim 13, wherein, The first location data is determined based on acoustic location sensing operations, millimeter-wave sensing operations, ultrasonic sensing operations, satellite-based positioning operations, camera-based tracking information received from the second device, or any combination thereof.

24. A non-transitory computer-readable medium storing instructions for location-based audio signal compensation, the instructions, when executed by one or more processors of a first device, causing the one or more processors to perform the following operations: Receive an audio input signal corresponding to the sound received from the second device; Determine the first position of the first device; A first set of coefficients for a compensation filter is generated based on the audio input signal, and the compensation filter is configured as follows: The audio playback signal is applied to the audio playback signal before it is played from the second device, and At least partially compensate for the distortion associated with sound propagation from the second device to the first location of the first device; Generate first position data indicating the first position of the first device; Initiate the storage of the first coefficient set and the first position data in the data structure; After the first device moves from the first position to the second position, the second position is determined; The data structure is searched for the second set of coefficients corresponding to the second position of the compensation filter; as well as In response to the failure to locate the second set of coefficients, the second set of coefficients is generated based on the first set of coefficients and a third set of coefficients of the compensation filter, the third set of coefficients being associated with a third position that is greater than a threshold distance of the second position of the first device.

25. The non-transitory computer-readable medium according to claim 24, wherein, When executed by the one or more processors, the instructions also cause the one or more processors to: send the data structure to the filter storage unit so as to identify the first set of coefficients in response to a location-based compensation filter search operation performed at the filter storage unit.

26. An apparatus for performing location-based audio signal compensation, comprising: A unit for receiving sound from a transmitting device and generating an audio input signal corresponding to the sound; A unit for determining the first position of the unit for receiving sound; A unit for generating a first set of coefficients for a compensation filter based on the audio input signal, the compensation filter being configured as follows: The audio playback signal is applied to the audio playback signal before it is played from the transmitting device, and At least partially compensate for the distortion associated with sound propagation from the transmitting device to the first position of the unit for receiving sound; A unit for generating first location data indicating the first location; A unit used to initiate the storage of the first coefficient set and the first position data in a data structure; A unit for determining the second position after the unit for receiving sound has moved from the first position to the second position of the unit for receiving sound; Units for searching the data structure for the second set of coefficients corresponding to the second position of the compensation filter; as well as In response to the failure to locate the second set of coefficients, a unit for generating the second set of coefficients based on the first set of coefficients and a third set of coefficients of the compensation filter, the third set of coefficients being associated with a third position that is greater than a threshold distance from the second position of the unit for receiving sound.

27. The apparatus of claim 26, further comprising: A unit for generating the data structure, wherein the data structure includes multiple entries, and wherein the multiple entries are ordered based on position data; and The data structure is used to store the data so that the cell of the compensation filter can be identified in response to a location-based compensation filter search operation performed at the cell used for storage.

28. The apparatus of claim 26, further comprising: A unit for applying the compensation filter to the audio playback signal to generate a pre-compensated audio signal; as well as A unit for sending the pre-compensated audio signal to the transmitting device for playback.

Citation Information

Patent Citations

  • Audio system equalization for portable media playback devices

    US20130066453A1

  • Enhancing audio using a mobile device

    US20160261247A1