Acoustic Echo Cancellation Bypass for VoIP Jitter Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Acoustic echo cancellation techniques in VoIP software can cause jitter spikes when stalls occur in the sound output rendering process, leading to delays and packet loss due to internal buffering of sound input frames.
Innovation Solution
A computing device is configured to detect sound output frame rendering stalls and suppress the acoustic echo cancellation module, sending unprocessed sound input frames to the remote computing device, thereby preventing internal buffering and jitter spikes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If acoustic echo cancellation module processes sound input frames using reference frames from buffer, then echo cancellation effectiveness is improved, but internal buffering causes jitter spikes during rendering stalls
Solution Approach 1:
The system dynamically adjusts the echo cancellation processing mode based on rendering stall detection. When a stall is detected, the system transitions from normal buffered processing to direct processing mode, eliminating the buffering that causes jitter spikes while maintaining echo cancellation functionality through adaptive mode switching
Solution Approach 2:
The processing pipeline is segmented into distinct paths: normal processing path with buffering for echo cancellation, and bypass path for stall conditions. This segmentation allows the system to select the appropriate processing path based on real-time rendering status, preventing jitter while maintaining echo cancellation when conditions permit
2Loss of time
If sound output frame rendering stall is detected and acoustic echo cancellation is suppressed, then jitter spikes are prevented, but echo cancellation functionality is lost
Solution Approach 1:
The echo cancellation module operates dynamically in two states: active processing mode during normal rendering, and bypass mode during stalls. This dynamic state transition ensures echo cancellation functionality is preserved when possible while eliminating jitter-causing buffering during stalls
Solution Approach 2:
The system changes the processing parameter from buffered processing to direct processing based on rendering stall detection. This parameter change eliminates the time delay introduced by buffering while maintaining the ability to restore echo cancellation functionality when rendering resumes
Data Source
AI summary
A computing device is provided that may include a sound processing device configured to output sound output frames via a sound output device and capture sound input frames via a sound input device. The computing device further includes a processor configured to render a stream of sound output frames based on at least sound output data received from a remote computing device over a computer network, provide reference frames for each of the sound output frames to a reference frame buffer of an acoustic echo cancellation module. The processor may be further configured to detect a sound output frame rendering stall condition, and based on detecting the sound output frame rendering stall condition, suppress the acoustic echo cancellation module and send the stream of sound input frames to the remote computing device without being processed by the acoustic echo cancellation module.


