Space-based adaptive filter for both-party call recovery method

By estimating and comparing the echo and target directionality of the audio signal in an adaptive filter, detecting and responding to divergence caused by both parties' calls, the signal artifact problem caused by the acoustic echo canceller during the calls of both parties is solved, and the call quality is improved.

CN120050362APending Publication Date: 2025-05-27GM GLOBAL TECHNOLOGY OPERATIONS LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410067374.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-11-24
Filing Date
2024-01-16
Publication Date
2025-05-27

AI Technical Summary

Technical Problem

During telephone calls or microphone exchange, existing acoustic echo cancellers may cause artifacts such as signal cancellation, musical tone and reverb, especially in the case of a two-party call, where the adaptive filter converges to the near-end signal and affects the output.

Method used

By receiving the audio signal at the adaptive filter and estimating the directionality of the echo signal, determining the target directionality, and comparing it with the estimated directionality of the echo signal, detecting divergence, and resetting the adaptive filter and acoustic echo canceller to deal with divergence caused by the call between the two parties.

Benefits of technology

Effectively reduce or eliminate echo signals, improve user experience, reduce feedback from third-party speakers, and improve call quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120050362A_ABST
    Figure CN120050362A_ABST
Patent Text Reader

Abstract

A method, when performed, causes data processing hardware to perform operations including simultaneously receiving a first audio signal and a second audio signal at an adaptive filter of an acoustic echo canceller (AEC). The first audio signal corresponds to a third-party source, and the second audio signal corresponds to a target source. Operations include estimating an echo signal present in a second audio signal based on a simultaneous first audio signal and second audio signal received at an adaptive filter, and estimating an echo signal directivity of the estimated echo signal, determining a target directivity of a target source, and comparing the estimated directivity of the echo signal with the determined directivity of the target. Operations include detecting divergence of an estimated echo signal direction towards a target source direction to determine AEC divergence due to both-party call scenarios and resetting an adaptive filter and an acoustic echo canceller.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure generally relates to a space-based adaptive filter for a two-party call restoration method. Background Art

[0002] The information provided in this section is for the purpose of presenting the background of the present disclosure in general. To the extent described in this section, the work of the presently named inventors, as well as aspects that may not qualify as prior art at the time of filing, are neither expressly nor implicitly admitted as prior art with respect to the present disclosure.

[0003] During a telephone call or other microphone exchange, a far-end speaker may often hear an echo. For example, a speaker may hear their own voice after speaking. Generally, an acoustic echo canceller (AEC) is typically used as part of a voice processing chain to cancel the echo. A two-party call situation occurs when a near-end speaker and a far-end speaker speak simultaneously. In some two-party call situations, the AEC may cause artifacts such as desired signal cancellation, musical tones, and reverberation due to the AEC filter converging to the near-end signal, thereby affecting the AEC output. Summary of the Invention

[0004] In some aspects, a computer-implemented method, when executed by data processing hardware, causes the data processing hardware to perform operations including simultaneously receiving a first audio signal and a second audio signal at an adaptive filter of an acoustic echo canceller (AEC). The first audio signal corresponds to a third-party source, and the second audio signal corresponds to a target source. The operations further include estimating an echo signal present in the second audio signal based on the simultaneously received first audio signal and second audio signal at the adaptive filter, and estimating the echo signal directivity of the estimated echo signal. Determining a target directivity of the target source, and comparing the estimated echo signal directivity with the determined target directivity. The operations further include detecting a divergence of the estimated echo signal direction towards the target source direction to determine an AEC divergence caused by a two-party call situation, and resetting the adaptive filter and the acoustic echo canceller.

[0005] In some examples, determining the target directivity may include retrieving the target directivity from a beamformer. Optionally, determining the target directivity may include utilizing a delay-and-sum model. In other examples, determining the target directivity may include training an acoustic transfer function estimate of a vehicle controller and utilizing the geometric characteristics of the vehicle. In some embodiments, comparing the estimated echo signal directivity and the determined target directivity may include determining a direction target-to-echo signal ratio. Determining the target-to-echo signal ratio may include determining an adaptive floor value of the target-to-echo signal ratio and determining a threshold of the target-to-echo signal ratio based on the determined adaptive floor value. In other embodiments, detecting divergence of the estimated echo signal direction may include detecting that a current target-to-echo signal ratio exceeds a threshold of the determined direction target-to-echo signal ratio adaptive floor value.

[0006] In other aspects, a system includes data processing hardware and memory hardware communicatively coupled to the data processing hardware. The memory hardware stores instructions that, when executed on the data processing hardware, cause the data processing hardware to perform operations. The operations include receiving a first audio signal and a second audio signal simultaneously at an adaptive filter of an acoustic echo canceller (AEC). The first audio signal corresponds to a third-party source and the second audio signal corresponds to a target source. The operations include estimating an echo signal present in the second audio signal based on the simultaneously received first audio signal and second audio signal at the adaptive filter. Estimating the echo signal directivity of the estimated echo signal and determining the target directivity of the target source. Comparing the estimated echo signal directivity with the determined target directivity. The operations further include detecting divergence of the estimated echo signal direction toward the target source direction to determine AEC divergence due to a two-party call scenario and resetting the adaptive filter and the acoustic echo canceller.

[0007] In some examples, determining the target directivity may include retrieving the target directivity from a beamformer. Optionally, determining the target directivity may include utilizing a delay-and-sum model. In other examples, determining the target directivity may include training an acoustic transfer function estimate of a vehicle controller and utilizing the geometric characteristics of the vehicle. In some embodiments, comparing the estimated echo signal directivity and the determined target directivity may include determining a direction target-to-echo signal ratio. Determining the target-to-echo signal ratio may include determining an adaptive floor value of the target-to-echo signal ratio and determining a threshold of the target-to-echo signal ratio based on the determined adaptive floor value. In other embodiments, detecting divergence of the estimated echo signal direction may include detecting that a current target-to-echo signal ratio exceeds a threshold of the determined direction target-to-echo signal ratio adaptive floor value.

[0008] In other aspects, a computer-implemented method for an adaptive filter system for a vehicle, when executed by data processing hardware, causes the data processing hardware to perform operations. The operations include simultaneously receiving a first audio signal and a second audio signal at an adaptive filter of an acoustic echo canceller (AEC). The first audio signal corresponds to a third-party source, and the second audio signal corresponds to a target source. The operations include estimating an echo signal present in the second audio signal based on the simultaneously received first audio signal and second audio signal at the adaptive filter, and estimating a directionality of the estimated echo signal. Determining a target directionality of the target source and comparing it with the estimated directionality of the echo signal. The operations further include determining a direction target-to-echo signal ratio, which includes determining an adaptive floor value of the target-to-echo signal ratio and detecting a divergence of the estimated direction of the echo signal towards the direction of the target source to determine an AEC divergence due to a two-party call scenario. Then, the operations include performing a countermeasure for the AEC.

[0009] In some examples, determining the target directionality may include retrieving the target directionality from a beamformer. Optionally, determining the target directionality may include using a delay-and-sum model. In other examples, determining the target directionality may include training an acoustic transfer function estimate of a vehicle controller and utilizing geometric characteristics of the vehicle. In some embodiments, performing the countermeasure may include resetting the adaptive filter and the AEC. Optionally, determining the direction target-to-echo signal ratio may include detecting that a current target-to-echo signal ratio exceeds a threshold of the determined direction target-to-echo signal ratio's adaptive floor value. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] The drawings described herein are for illustrative purposes only of selected configurations and are not intended to limit the scope of the present disclosure.

[0011] Figure 1 is a perspective view of a vehicle according to the present invention;

[0012] Figure 2 is a partial perspective view of an interior cab of a vehicle according to the present invention, the interior cab including a driver who is speaking;

[0013] Figure 3 is a schematic block diagram of an adaptive filter system according to the present disclosure;

[0014] Figure 4 is an example schematic diagram of an adaptive filter system and a two-party call scenario according to the present disclosure; and

[0015] Figure 5 is an example flowchart of an adaptive filter system according to the present disclosure.

[0016] In all the drawings, corresponding reference numerals represent corresponding parts. Detailed Implementation Modes

[0017] Example configurations will now be described more fully with reference to the accompanying drawings. The example configurations are provided so that this disclosure will be thorough and will fully convey the scope of the disclosure to those of ordinary skill in the art. Specific details are set forth, such as examples of specific components, devices, and methods, to provide a thorough understanding of the configurations of this disclosure. It will be apparent to those of ordinary skill in the art that specific details need not be employed, and the example configurations may be implemented in many different forms, and the specific details and example configurations should not be construed as limiting the scope of this disclosure.

[0018] The terminology used herein is for the purpose of describing particular example configurations only and is not intended to be limiting. As used herein, the singular articles "a", "an", and "the" may also be intended to include the plural forms, unless the context clearly indicates otherwise. The terms "comprising", "including", "containing", and "having" are inclusive and thus specify the presence of stated features, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, steps, operations, elements, components, and / or groups thereof. The method steps, processes, and operations described herein should not be construed as necessarily requiring them to be performed in the particular order discussed or illustrated, unless specifically identified as an order of performance. Additional or alternative steps may be employed.

[0019] When an element or layer is referred to as being "on", "engaged to", "connected to", "attached to", or "coupled to" another element or layer, it can be directly on, engaged, connected, attached, or coupled to the other element or layer, or intervening elements or layers may be present. In contrast, when an element is referred to as being "directly on", "directly engaged to", "directly connected to", "directly attached to", or "directly coupled to" another element or layer, intervening elements or layers may not be present. Other words used to describe the relationship between elements should be interpreted in a like manner (e.g., "between" versus "directly between", "adjacent" versus "directly adjacent", etc.). As used herein, the term "and / or" includes any and all combinations of one or more of the associated listed items.

[0020] The terms first, second, third, etc. may be used herein to describe various elements, components, regions, layers, and / or sections. These elements, components, regions, layers, and / or sections should not be limited by these terms. These terms are only used to distinguish one element, component, region, layer, or section from another. Terms such as "first", "second", and other numerical terms do not imply an order or sequence, unless the context clearly indicates otherwise. Thus, the first element, component, region, layer, or section discussed below may be referred to as a second element, component, region, layer, or section without departing from the teachings of the example configurations.

[0021] In this application, including the following definitions, the term module may be replaced by the term circuit. The term "module" may refer to an application specific integrated circuit (ASIC) or a part thereof, or include an application specific integrated circuit (ASIC); digital, analog, or mixed analog / digital discrete circuits; digital, analog, or mixed analog / digital integrated circuits; combinational logic circuits; field programmable gate arrays (FPGAs); processors (shared, dedicated, or group) that execute code; memories (shared, dedicated, or group) that store code executed by the processors; other suitable hardware components that provide the functions; or some or all of the combinations of the above, such as in a system on a chip.

[0022] The term code as used above may include software, firmware, and / or microcode, and may refer to programs, routines, functions, classes, and / or objects. The term shared processor includes a single processor that executes some or all of the code from multiple modules. The term group processor includes a processor that, in combination with additional processors, executes some or all of the code from one or more modules. The term shared memory includes a single memory that stores some or all of the code from multiple modules. The term group memory includes a memory that, in combination with additional memories, stores some or all of the code from one or more modules. The term memory may be a subset of the term computer-readable medium. The term computer-readable medium does not include transient electrical and electromagnetic signals propagated through a medium and may thus be considered tangible non-transitory memory. Non-limiting examples of non-transitory memory include tangible computer-readable media, including non-volatile memory, magnetic memory, and optical memory.

[0023] The devices and methods described in this application may be implemented in part or in whole by one or more computer programs executed by one or more processors. The computer programs include processor-executable instructions stored on at least one non-transitory tangible computer-readable medium. The computer programs may also include and / or rely on stored data.

[0024] A software application (i.e., software resource) may refer to computer software that causes a computing device to perform tasks. In some examples, a software application may be referred to as an "application", "app", or "program". Example applications include, but are not limited to, system diagnostic applications, system management applications, system maintenance applications, word processing applications, spreadsheet applications, messaging applications, media streaming applications, social networking applications, and gaming applications.

[0025] A non-transitory memory can be a physical device for temporarily or permanently storing programs (e.g., sequences of instructions) or data (e.g., program state information) for use by a computing device. The non-transitory memory can be volatile and / or non-volatile addressable semiconductor memory. Examples of non-volatile memory include, but are not limited to, flash memory and read-only memory (ROM) / programmable read-only memory (PROM) / erasable programmable read-only memory (EPROM) / electrically erasable programmable read-only memory (EEPROM) (e.g., commonly used for firmware such as a boot program). Examples of volatile memory include, but are not limited to, random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), phase change memory (PCM), and magnetic disks or tapes.

[0026] These computer programs (also referred to as programs, software, software applications, or code) include machine instructions for a programmable processor and can be implemented in high-level procedural and / or object-oriented programming languages and / or assembly / machine languages. As used herein, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, non-transitory computer-readable medium, apparatus, and / or device (e.g., a magnetic disk, an optical disk, a memory, a programmable logic device (PLD)) that provides machine instructions and / or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term "machine-readable signal" refers to any signal that provides machine instructions and / or data to a programmable processor.

[0027] The various implementations of the systems and techniques described herein can be implemented in digital electronic and / or optical circuits, integrated circuits, specially designed application-specific integrated circuits (ASICs), computer hardware, firmware, software, and / or combinations thereof. These different implementations can include implementations in one or more computer programs executable and / or interpretable on a programmable system including at least one programmable processor, at least one input device, and at least one output device, the programmable processor being either special-purpose or general-purpose and being coupled to receive data and instructions from, and to send data and instructions to, a storage system.

[0028] The processes and logical flows described in this specification can be performed by one or more programmable processors, also known as data processing hardware, executing one or more computer programs to perform functions by operating on input data and generating output. These processes and logical flows can also be performed by special-purpose logic circuitry, such as an FPGA (Field Programmable Gate Array) or ASIC (Application Specific Integrated Circuit). By way of example, processors suitable for executing computer programs include both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read only memory or a random access memory or both. The essential elements of a computer are a processor for executing instructions and one or more storage devices for storing instructions and data. Generally, a computer will also include or be operatively coupled to one or more mass storage devices for storing data, such as magnetic disks, magneto-optical disks, or optical disks, to receive data from or transfer data to the mass storage device, or both. However, a computer need not have such devices. Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and storage devices, including by way of example semiconductor storage devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks, such as internal hard disks or removable disks; magneto-optical disks; and CD ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special-purpose logic circuitry.

[0029] To provide for interaction with a user, one or more aspects of the present disclosure may be implemented on a computer having a display device, such as a CRT (Cathode Ray Tube), LCD (Liquid Crystal Display) monitor, or touch screen, for displaying information to the user, and a keyboard and a pointing device, such as a mouse or a trackball, optional, by which the user can provide input to the computer. Other types of devices may also be used to provide for interaction with the user; for example, feedback provided to the user may be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback; and input received from the user may be in any form, including acoustic, speech, or tactile input. Additionally, the computer may interact with the user by sending documents to and receiving documents from the device used by the user; for example, by sending a web page to a web browser on a client device of the user in response to a request received from the web browser.

[0030] Reference Figures 1-3, an adaptive filter system 10 for a vehicle 100 according to the present disclosure includes an adaptive filter 12 of an acoustic echo canceller (AEC) 14. The adaptive filter system 10 may be configured as part of an electronic control unit (ECU) 16 of the vehicle 100. It is also contemplated that in other examples, the adaptive filter system 10 may be used in computer systems other than vehicles. Such examples include, but are not limited to, mobile devices, headphones, headsets, speaker systems, and any other viable devices that utilize voice-to-voice and / or voice-to-machine (ASR) communication through an audio system. For exemplary purposes, the adaptive filter system 10 is described herein with respect to the vehicle 100.

[0031] The adaptive filter system 10 may be electrically coupled to a sensor array 102 of the vehicle 100 to receive an audio signal 18. In some examples, the sensor array 102 may include a microphone array within the vehicle 100 configured to at least partially capture the audio signal 18. The audio signal 18 includes a third-party audio signal 18a and a target audio signal 18b, where the third-party audio signal 18a emanates from a third-party source 200 and the target audio signal 18b emanates from a target source 202. For example, the target source 202 may be a passenger of the vehicle 100, depicted as the driver of the vehicle 100 in Figure 2 and, in one example, the third-party source 200 may be a speaker system 104 within the vehicle 100.

[0032] The adaptive filter system 10 receives the audio signal 18 from the sensor array 102 and monitors potential AEC adaptation of the audio signal 18 during an overlapping period of the audio signal 18. For example, the third-party source 200 and the target source 202 may speak simultaneously such that the sensor array 102 receives the third-party audio signal 18a and the target audio signal 18b simultaneously. In other examples, the audio signal 18 is received sequentially such that there is no overlap of the audio signal 18. The adaptive filter system 10 is configured to detect adaptation during an overlap of the audio signal 18 based on the directivity of the respective audio signal 18. For example, the third-party source 200 and the target source 202 inherently have different positions relative to each other. Thus, if the adaptive filter system 10 detects an audio signal 18 emanating from a common direction, a two-party call divergence scenario 20 is detected, as described in more detail below.

[0033] Still referring to Figures 1-3, the adaptive filter system 10 coordinates the ECU 16 with the adaptive filter 12 and the AEC 14 to monitor the audio signal 18 and adjust the audio output 22 from the adaptive filter system 10. The ECU 16 includes data processing hardware 24 and memory hardware 26, and the memory hardware 26 can store instructions and operations of the adaptive filter system 10 executable by the data processing hardware 24. In some examples, the adaptive filter 12 and the AEC 14 can be configured as part of the ECU 16. In other examples, the adaptive filter 12 and the AEC 14 are separated from the ECU 16 and communicate with the ECU 16.

[0034] The adaptive filter system 10 is configured to detect a two-way call divergence situation 20. In operation, the AEC 14 converges to a third-party audio signal 18a. The convergence of the AEC 14 is configured to remove the echo caused by the coupling between the speaker system 104 and the microphone array 102 within the vehicle 100. The convergence of the AEC 14 can trigger the adaptive filter 12 to estimate the echo signal 30 present in the target audio signal 18b. The echo signal 30 can come from the speaker system 104 of the vehicle 100. For example, the AEC 14 can simultaneously receive the target signal 18b and the third-party signal 18a, and the adaptive filter 12 can estimate the echo signal 30 based on the simultaneously received audio signals 18. The echo signal 30 can be estimated based on the potential simultaneous detection of the target audio signal 18b and the third-party audio signal 18a, which may cause the adaptive filter 12 to diverge from the estimated echo signal 30 towards the target signal 18b. The echo signal 30 can be detected by the sensor array 102 and can result in feedback to the third-party speaker 200. For example, the third-party speaker 200 can hear the echo emitted from the speaker system 104 as feedback through the canceled echo signal 30a. This may occur when the audio signal 18 appears to be emitted from a direction similar to that of the target speaker 202. The audio signal 18 should instead be emitted from a different direction because the positions of the third-party source 200 (i.e., the speaker system 104) and the target source 202 are inherently different.

[0035] Now refer to Figures 2-4, the adaptive filter 12 can estimate the echo directivity 32 of the estimated echo signal 30 and can also determine the target directivity 34 of the target source 202 and / or the target audio signal 18b. As described herein, the third-party source 200 generally corresponds to a third-party speaker external to the vehicle 100 and emits a third-party signal 18a through the speaker system 104. In one example, the third-party source 200 can be a person speaking to the target source 202 through the vehicle 100's telephone system, which uses the sensor array 102 and the speaker system 104. Thus, although the third-party source 200 is referred to as the speaker system 104, in other examples, the third-party source 200 can be different from the speaker system 104. It is expected that the directivity 34 of the target audio signal 18b and the target directivity 34 of the target source 202 are synonymous. In other words, the target directivity 34 can refer to the target directivity 34 of either the target source 202 or the target audio signal 18b. In some examples, the audio signal 18 emitted from the speaker system 104 can also include a directivity 36, referred to as the far-end directivity 36. As described below, the far-end directivity 36 corresponds to the audio signal 18 from the speaker system 104 that is estimated as the echo signal 30.

[0036] Estimating the directivities 32, 34 of the echo signal 30 and the target audio signal 18b can be used to detect the two-party call divergence situation 20. For example, the AEC 14 can detect the presence of the two-party call divergence situation 20 based on the convergence of the echo directivity 32 and the target directivity 34. The two-party call divergence situation 20 can correspond to the divergence of the AEC 14. The two-party call divergence situation 20 is defined by the overlap of the target signal 18b and the third-party signal 18a, which results in the echo signal 30. The overlap of the signals 18a, 18b is determined by the corresponding directivities 34, 36, which can be used in combination with the echo directivity 32.

[0037] Multiple methods can be used to determine the target directivity 34. In one example, the target directivity 34 can be identified by the beamformer 40 of the adaptive filter system 10. The beamformer 40 can be used in various audio filtering mechanisms of the adaptive filter system 10 and as a result produces an output 42. The beamformer 40 is used to extract the target signal 18b to calculate the target directivity 34. In some examples, the beamformer 40 can include useful knowledge from which the target directivity 34 can be calculated. In other examples, the output 42 can include additional data that can be used by the adaptive filter 12 to determine the target directivity 34 from the beamformer 40.

[0038] In another example, the target directivity 34 can be determined by a delay and sum model 44. The delay and sum model 44 is a beamforming algorithm that can be programmed into the memory hardware 26 of the ECU 16. When the delay and sum model 44 is executed, the audio signal 18 is delayed by a predetermined amount of time before being added or summed. In yet another example, a pre-trained acoustic transfer function estimate (pre-trained estimate) 46 can be used to determine the target directivity 34. The pre-trained estimate 46 can be provided by a system identification that utilizes the geometric characteristics of the vehicle 100. Any of the methods described here can be used to determine the target directivity 34.

[0039] Still referring to Figures 2-4 , once the target directivity 34 is determined, the adaptive filter 12 can further estimate the echo energy 50 relative to the target source 202. For example, the estimated echo energy 50 relative to the target directivity 34 can be calculated using the following example equation:

[0040] ENG src = |y H h| 2

[0041] where (ENG src ) represents the estimated echo energy 50, (y) represents the estimated echo signal 30, and (h) represents the target directivity 34. After estimating the echo energy 50, the adaptive filter 12 can determine the direction target to echo signal ratio 52. For example, the estimated echo directivity 32 and the target directivity 34 can be compared to determine the target to echo signal ratio 52.

[0042] For example, when comparing the echo directivity 32 and the target directivity 34, the adaptive filter 12 can determine the direction target to echo signal ratio 52. The adaptive filter system 10 is configured to cancel, minimize, or eliminate the estimated echo signal 30. The estimated echo signal 30 can be determined based on the speaker system 104 and the target speaker 202. By evaluating the target directivity 34, the adaptive filter system 10 can learn the potential response between the speaker system 104 and the target speaker 202, which can provide an indication of the estimated echo signal 30. Although the sensor array 102 is configured to detect the audio signal 18 from the third-party source 200 and the target speaker 202, it is contemplated that the sensor array 102 can receive feedback corresponding to the estimated echo signal 30 from the speaker system 104.

[0043] The direction target to echo signal ratio 52 can be calculated using the following example equation:

[0044]

[0045] Wherein, (DUR) represents the direction target to echo signal ratio 52. The adaptive filter 12 can use the recursive average of the direction target to echo signal ratio 52 to determine the adaptive floor value 54 of the target to echo signal ratio 52. When the target audio signal 18b is not in the target to echo signal ratio 52, the adaptive floor value 54 is generated. The adaptive floor value 54 can be calculated using the following example equation:

[0046] DUR floor (n)=λDUR floor (n - 1)+(1 - λ)DUR(n - 1)

[0047] Wherein, (n) is the current time frame, and (λ) is the averaging constant. The adaptive floor value 54 reflects the nominal correlation with the target directivity 34.

[0048] It is conceivable that the adaptive floor value 54 is an adaptive value continuously adapted based on the data collected by the adaptive filter system 10. For example, the adaptive floor value 54 is a data-driven value that slowly changes over time based on the target directivity 34 and the echo directivity 32 that change in each session. Therefore, the adaptive floor value 54 is a dynamic value. The adaptive filter 12 includes filter weights 56, which can be adjusted to simulate the far-end directivity 36. When the filter weights 56 simulate the target directivity 34, the adaptive filter system 10 can detect an error as the estimated echo signal 30 or the echo directivity 32. Therefore, as described below, the adaptive filter 12 should be adjusted to simulate the far-end directivity 36.

[0049] Further referring to Figures 2-4 , the adaptive filter 12 can further determine a threshold 58 for the target to echo signal ratio 52. For example, the threshold 58 can be determined based on the adaptive floor value 54. The adaptive floor value 54 can be used to determine the direction target to echo signal ratio 52 by detecting that the current target to echo signal ratio exceeds the threshold 58 of the adaptive floor value 54. The threshold 58 provides a measure by which the adaptive filter system 10 can determine that the echo directivity 32 has shifted towards the target directivity 34. The threshold 58 can be calculated using the following example formula:

[0050]

[0051] The threshold 58 is determined based on the ratio of the target to echo ratio 52 represented by (DUR(n)) and the adaptive floor value 54 represented by (DUR floor (n)). The threshold 58 is designed to be less than the ratio between the target to echo ratio 52 and the adaptive floor value 54. The adaptive floor value 54 is configured to reflect the nominal correlation with the target directivity 34. Therefore, when the target to echo ratio 52 exceeds the adaptive floor value 54, it can be assumed that the echo directivity 32 has shifted towards the target source 202.

[0052] The adaptive filter system 10 monitors the echo directionality 32 and the target directionality 34 to consistently monitor the relationship between the third-party signal 18a and the target signal 18b by calculation. Thus, the adaptive filter 10 adapts continuously based on the new signal data received by the sensor array 102. When no audio signal is detected, the adaptive filter 10 does not adapt, and once the third-party far-end speaker 200 starts speaking again, the adaptive filter 10 will start new calculations. Thus, if the adaptive filter 12 is mis-adapted when the target speaker 202 is active, the adaptive filter system 10 can detect the mis-adaptation. When the audio signal 18 is detected, the adaptive filter system 10 performs the above calculations to compare the two audio signals 18a, 18b. The adaptive filter system 10 can detect the two-party call divergence situation 20 and thus can determine the AEC divergence caused by the two-party call situation 20.

[0053] In response to the echo directionality 32 shifting towards the target source 202, the adaptive filter system 10 can perform a countermeasure 60. The countermeasure 60 can be performed by the AEC 14. In some examples, the countermeasure 60 can include resetting the adaptive filter 12. In other examples, the countermeasure 60 can include restoring the adaptive filter 12 to the adaptive filter 12 without the two-party call divergence situation 20.

[0054] Specifically referring to Figure 5 FIG., an example flowchart of the adaptive filter system 10 is shown. At 400, the adaptive filter system 10 receives the audio signal 18, which is then received and processed by the AEC 14 at 402. The adaptive filter system 10 determines the target directionality 34 at 404 and determines the echo directionality 32 at 406. At 408, the adaptive filter system 10 determines whether the estimated echo signal 30 emanates from the target directionality 34 by comparing the target directionality 34 and the echo directionality 32. If the estimated echo signal 30 does not emanate from the target directionality 34, the adaptive filter system 10 continues to repeat the process for future audio signals 18. If the estimated echo signal 30 emanates or tracks the target directionality 34, the adaptive filter system 10 performs the countermeasure 60 at 410. The adaptive filter system 10 can then continuously run this process to monitor the audio signal 18 received by the system 10.

[0055] Referring again to Figures 1-5, the adaptive filter system 10 is configured to minimize and / or eliminate the two-way call divergence scenario 20 during the operation of the adaptive filter system 10. By monitoring the target directivity 34 and comparing the echo directivity 32 with the target directivity 34, the adaptive filter 12 and the AEC 14 can control the estimated echo signal 30. As a result, the third-party speaker 200 receives minimal or even no two-way call feedback when speaking with the target speaker 202. Consequently, by reducing the echo signal 30 and continuously adapting the adaptive filter 12 using the AEC 14 and the estimated echo signal 30, the user experience of the third-party speaker 200 is improved.

[0056] Numerous embodiments have been described. However, it should be understood that various modifications can be made without departing from the spirit and scope of the present disclosure. Accordingly, other embodiments are also within the scope of the following claims.

[0057] For purposes of illustration and description, the foregoing description has been provided. It is not intended to be exhaustive or to limit the present disclosure. The individual elements or features of a particular configuration are generally not limited to that particular configuration, but are interchangeable where applicable and can be used in a selected configuration. This can also vary in many ways. Such variations should not be regarded as a departure from the present disclosure, and all such modifications are intended to be included within the scope of the present disclosure.

Claims

1. A computer-implemented method which, when executed by data processing hardware, causes the data processing hardware to perform operations comprising: receiving simultaneously at an adaptive filter of an acoustic echo canceller (AEC) a first audio signal and a second audio signal, the first audio signal corresponding to a third party source and the second audio signal corresponding to a target source; estimating an echo signal present in the second audio signal based on the simultaneous first and second audio signals received at the adaptive filter; estimating an echo signal directivity of the estimated echo signal; Determine the target directionality of the target source; comparing the estimated echo signal directionality with the determined target directionality; as well as Divergence of the estimated echo signal direction toward the target source direction is detected to determine AEC divergence due to a double talk situation.

2. The method according to claim 1, wherein: Determining the target directionality includes retrieving the target directionality from a beamformer.

3. The method according to claim 1, wherein: Determining target directionality involves utilizing a delay and summation model.

4. The method according to claim 1, wherein: Determining target directionality involves training an acoustic transfer function estimate for the vehicle controller and exploiting the vehicle's geometric properties.

5. The method according to claim 1, wherein: Comparing the estimated echo signal directionality to the determined target directionality includes determining a directional target to echo signal ratio.

6. The method according to claim 5, wherein: Determining the target to echo signal ratio includes determining an adaptive floor value of the target to echo signal ratio.

7. The method according to claim 6, wherein: Determining the target to echo signal ratio includes determining a threshold value of the target to echo signal ratio based on the determined adaptive floor value.

8. The method according to claim 6, wherein: Detecting the divergence of the estimated echo signal direction includes detecting that the current target to echo signal ratio exceeds an adaptive bottom value-threshold of the determined directional target to echo signal ratio.

9. The method of claim 1, further comprising executing a countermeasure of the AEC.

10. The method according to claim 9, wherein: Performing the countermeasure includes resetting the adaptive filter and the acoustic echo canceller.