Acoustic Echo Cancellation Using Pre-computed Filter Coefficients

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Acoustic echo cancellation in audio processing systems is computationally expensive, especially in embedded systems with limited resources, requiring efficient re-adaptation of Acoustic Echo Canceller (AEC) filters when beamformer (BF) direction changes, which is challenging in systems like smart speakers and IoT devices.

Innovation Solution

Implementing AEC with pre-computed adaptive filter coefficients stored as a matrix for reuse when BF direction changes, using background-foreground filtering to achieve fast convergence and noise robustness, allowing for efficient echo cancellation even in systems with limited computing power.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If AEC processing is used to cancel acoustic echo, then echo cancellation performance is improved, but computational complexity increases significantly

Engineering Contradiction:
Improveecho cancellation performanceVSAvoidcomputational complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system pre-computes filter coefficients for AEC when the beamformer is not actively tracking a target (i.e., when no speech is detected). These pre-computed coefficients are stored and reused when the beamformer directs attention to a target, avoiding the need to re-compute them during active speech processing. This preliminary computation during idle periods resolves the contradiction by preparing cancellation parameters in advance without impacting real-time computational load during speech processing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts the computational strategy based on the operational state of the beamformer. When the beamformer is in tracking mode (actively following a target), the system uses pre-computed filter coefficients to minimize real-time computation. When the beamformer is in idle or scanning mode, the system performs full AEC processing to update and refine the filter coefficients. This dynamic adaptation allows the system to maintain high echo cancellation performance while managing computational complexity according to operational requirements.

Inventive Principle:
Principle #15Dynamics

2Measurement precision

If AEC filters are re-adapted when BF direction changes, then echo cancellation accuracy is improved, but processing time increases

Engineering Contradiction:
Improveecho cancellation accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

Filter coefficients are pre-computed and stored in memory during periods when the beamformer is not actively tracking a target. When the beamformer changes direction or begins tracking a new target, the system retrieves the pre-computed coefficients from memory rather than performing time-consuming real-time computation. This preliminary preparation of filter coefficients during idle periods eliminates the time penalty that would otherwise be incurred during direction changes, thus resolving the contradiction between accuracy and processing time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates and stores copies of filter coefficients for different beamformer directions and operational states. These copied coefficients are kept in memory and can be quickly switched between based on the current beamformer configuration. Instead of re-computing coefficients during each direction change, the system selects the appropriate pre-computed copy, maintaining high cancellation accuracy while minimizing processing time during transitions.

Inventive Principle:
Principle #26Copying

3Reliability

If full AEC processing is applied in real-time, then cancellation performance is improved, but resource consumption increases

Engineering Contradiction:
Improvecancellation performanceVSAvoidcomputational resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system performs computationally intensive AEC filter coefficient computation during idle periods when the beamformer is not actively processing speech. By moving this heavy computational burden to pre-processing periods, the system avoids consuming excessive computational resources during real-time speech processing. The pre-computed coefficients are stored and reused during active speech processing, maintaining high cancellation performance while significantly reducing real-time resource consumption.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system alternates between periods of intensive computation (when updating filter coefficients during idle states) and periods of lightweight operation (when using stored coefficients during active speech processing). This periodic pattern of heavy and light computational phases allows the system to achieve high cancellation performance overall while managing instantaneous resource consumption within acceptable limits for embedded devices.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS10938994B2Beamformer and acoustic echo canceller (AEC) system
Publication Date: 2021.03.02 INFINEON TECHNOLOGIES AMERICAS CORP
  • US10938994B2 patent drawing
  • US10938994B2 patent drawing
  • US10938994B2 patent drawing

AI summary

Techniques for acoustic echo cancellation are described herein. In an example embodiment, a system comprises a speaker, a microphone array with multiple microphones, a beamformer (BF) logic and an acoustic echo canceller (AEC) logic. The speaker is configured to receive a reference signal. The BF logic is configured to receive audio signals from the multiple microphones and to generate a beamformed signal. The AEC logic is configured to receive the beamformed signal and the reference signal. The AEC logic is also configured to compute a vector of bias coefficients multiple times per time frame, to compute a background filter coefficient based on the vector of bias coefficients, to apply a background filter to the reference signal and the beamformed signal based on the background filter coefficient, to generate a background cancellation signal, and to generate an output signal based at least on the background cancellation signal.