Client-Side Echo Cancellation for Scalable Multi-Party Conferencing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multiparty audio conferences, traditional centralized architectures face increased CPU load and bandwidth requirements as the number of clients grows, leading to performance degradation due to the need for each client to receive a unique encoded signal and struggle with echo cancellation caused by non-linear quantization-based distortions in the composite signal.
Innovation Solution
A Client-Side Echo Canceller system where a single MCU combines audio inputs from all clients to create a composite signal sent to all clients, with each client locally processing this signal to remove its own contribution before playback, using techniques like quantization noise estimation and adaptive noise fill to mitigate artifacts.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a centralized architecture with a single MCU is used to combine audio signals from all clients, then MCU computational overhead is reduced, but local echo problems occur because clients hear their own voices in the composite signal
Solution Approach 1:
The echo cancellation function is segmented and distributed to individual clients rather than being handled centrally by the MCU. Each client receives the composite signal and independently performs echo cancellation by subtracting their own local signal from the composite signal, thereby eliminating local echo without increasing MCU computational burden
Solution Approach 2:
Each client performs self-service echo cancellation by using their own local audio signal to subtract from the composite signal received from the MCU. This allows clients to eliminate their own voices from the mixed signal independently, resolving the local echo problem without requiring additional centralized processing
2Object-affected harmful factors
If each client receives a unique encoded signal containing only other clients' signals, then local echo is prevented, but CPU load and transmission bandwidth requirements of the MCU increase proportionally to the number of clients
Solution Approach 1:
Multiple individual encoded signals from different clients are merged into a single composite encoded signal that contains all clients' signals. This unified approach reduces the total transmission bandwidth and CPU load on the MCU compared to sending separate signals to each client, while echo cancellation is handled at the client side to maintain audio quality
Solution Approach 2:
The single composite signal serves multiple functions: it carries audio information from all clients simultaneously and enables each client to perform echo cancellation independently. This universal signal transmission approach eliminates the need for multiple dedicated signals while maintaining the ability to prevent local echo through client-side processing
3Object-affected harmful factors
If direct subtraction of local signal from composite signal is performed, then echo cancellation is achieved, but quantization noise and signal distortion are introduced
Solution Approach 1:
The client uses feedback from their own local audio signal to perform precise echo cancellation. By continuously monitoring their local signal and using it to subtract from the composite signal, the system can adapt to signal variations and maintain high audio quality while effectively eliminating echo
Solution Approach 2:
The system changes the parameter approach by using the local audio signal as a reference for cancellation rather than performing simple fixed subtraction. This allows dynamic adjustment of cancellation parameters based on the actual local signal characteristics, improving signal quality while reducing echo
Data Source
AI summary
A “Client-Side Echo Canceller” provides a unique system and method for reducing Multipoint Control Unit (MCU) computational overhead in a multi-point audio conference. In general, the local audio input signal of each client is transmitted in real-time to the MCU. The MCU then combines the audio input signals of all clients to create a single composite signal that is transmitted back to all clients in real-time. Each client then locally processes the composite signal to remove each client's local contribution to the composite signal prior to local playback in order to eliminate a local echo of each client's local audio input. In various embodiments, local cancellation of the local audio input from the composite signal is performed on either a time domain or a transform domain representation of the composite signal. Further, since each client receives the same signal, MCU transmission bandwidth can be reduced via multicast transmissions.


