The WebRTC echo canceller 3 introduces signal artefacts when there are buffering issues |
|||||
Issue descriptionWhen there are buffering issues in the audio pipeline, the echo canceller 3 needs to take an appropriate action to manage to cancel the echoes. For some such issues, that action causes an artificial signal to be added to the microphone signal.
,
May 3 2017
The following revision refers to this bug: https://chromium.googlesource.com/external/webrtc.git/+/debaa442ed0317e215706c8c7d91c880e6bd6051 commit debaa442ed0317e215706c8c7d91c880e6bd6051 Author: peah <peah@webrtc.org> Date: Wed May 03 12:39:09 2017 Corrected the behavior in AEC3 during buffer overruns and underruns This CL corrects the behavior in AEC3 during buffer overruns and underruns in three ways. 1) When there is no render signal available (due to a buffering issues, a zero block is inserted instead of the previous render block. This avoids the same block being repeatedly inserted when there are many back-to-back calls. 2) The internal counters in the main adaptive filter gain are also reset when the filter is reset. 3) The internal counters in the shadow adaptive filter gain are reset when the filter is reset. BUG= chromium:717920 , webrtc:7559 Review-Url: https://codereview.webrtc.org/2862533002 Cr-Commit-Position: refs/heads/master@{#17991} [modify] https://crrev.com/debaa442ed0317e215706c8c7d91c880e6bd6051/webrtc/modules/audio_processing/aec3/main_filter_update_gain.cc [modify] https://crrev.com/debaa442ed0317e215706c8c7d91c880e6bd6051/webrtc/modules/audio_processing/aec3/render_delay_buffer.cc [modify] https://crrev.com/debaa442ed0317e215706c8c7d91c880e6bd6051/webrtc/modules/audio_processing/aec3/shadow_filter_update_gain.cc [modify] https://crrev.com/debaa442ed0317e215706c8c7d91c880e6bd6051/webrtc/modules/audio_processing/aec3/shadow_filter_update_gain.h [modify] https://crrev.com/debaa442ed0317e215706c8c7d91c880e6bd6051/webrtc/modules/audio_processing/aec3/subtractor.cc
,
May 3 2017
The following revision refers to this bug: https://chromium.googlesource.com/external/webrtc.git/+/debaa442ed0317e215706c8c7d91c880e6bd6051 commit debaa442ed0317e215706c8c7d91c880e6bd6051 Author: peah <peah@webrtc.org> Date: Wed May 03 12:39:09 2017 Corrected the behavior in AEC3 during buffer overruns and underruns This CL corrects the behavior in AEC3 during buffer overruns and underruns in three ways. 1) When there is no render signal available (due to a buffering issues, a zero block is inserted instead of the previous render block. This avoids the same block being repeatedly inserted when there are many back-to-back calls. 2) The internal counters in the main adaptive filter gain are also reset when the filter is reset. 3) The internal counters in the shadow adaptive filter gain are reset when the filter is reset. BUG= chromium:717920 , webrtc:7559 Review-Url: https://codereview.webrtc.org/2862533002 Cr-Commit-Position: refs/heads/master@{#17991} [modify] https://crrev.com/debaa442ed0317e215706c8c7d91c880e6bd6051/webrtc/modules/audio_processing/aec3/main_filter_update_gain.cc [modify] https://crrev.com/debaa442ed0317e215706c8c7d91c880e6bd6051/webrtc/modules/audio_processing/aec3/render_delay_buffer.cc [modify] https://crrev.com/debaa442ed0317e215706c8c7d91c880e6bd6051/webrtc/modules/audio_processing/aec3/shadow_filter_update_gain.cc [modify] https://crrev.com/debaa442ed0317e215706c8c7d91c880e6bd6051/webrtc/modules/audio_processing/aec3/shadow_filter_update_gain.h [modify] https://crrev.com/debaa442ed0317e215706c8c7d91c880e6bd6051/webrtc/modules/audio_processing/aec3/subtractor.cc
,
May 3 2017
,
May 3 2017
Can you please indicate which OS this fix is affecting?
,
May 3 2017
The fix affects all OS variants. Even though buffering issues may be more or less common in different OS variants, the resulting artefacts happen on all OS versions, and the fix corrects that in all OS versions.
,
May 3 2017
Your change meets the bar and is auto-approved for M59. Please go ahead and merge the CL to branch 3071 manually. Please contact milestone owner if you have questions. Owners: amineer@(Android), cmasso@(iOS), gkihumba@(ChromeOS), Abdul Syed@(Desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
May 4 2017
The following revision refers to this bug: https://chromium.googlesource.com/external/webrtc.git/+/01b3df3c4dab1e3b2708fe16ddfada56ca9ccfec commit 01b3df3c4dab1e3b2708fe16ddfada56ca9ccfec Author: peah <peah@webrtc.org> Date: Thu May 04 07:03:13 2017 Merge of Corrected the behavior in AEC3 during buffer overruns and underruns This CL contains a merge of the cl debaa442ed0317e215706c8c7d91c880e6bd6051 into the branch M59. This CL corrects the behavior in AEC3 during buffer overruns and underruns in three ways. 1) When there is no render signal available (due to a buffering issues, a zero block is inserted instead of the previous render block. This avoids the same block being repeatedly inserted when there are many back-to-back calls. 2) The internal counters in the main adaptive filter gain are also reset when the filter is reset. 3) The internal counters in the shadow adaptive filter gain are reset when the filter is reset. NOTRY=true NOPRESUBMIT=true BUG= chromium:717920 , webrtc:7559 Review-Url: https://codereview.webrtc.org/2862533002 Cr-Commit-Position: refs/heads/master@{#17991} (cherry picked from commit debaa442ed0317e215706c8c7d91c880e6bd6051) Review-Url: https://codereview.webrtc.org/2862683002 Cr-Commit-Position: refs/branch-heads/59@{#7} Cr-Branched-From: 10d095d4f743bc16f8e486e156c48a6d023b32c5-refs/heads/master@{#17657} [modify] https://crrev.com/01b3df3c4dab1e3b2708fe16ddfada56ca9ccfec/webrtc/modules/audio_processing/aec3/main_filter_update_gain.cc [modify] https://crrev.com/01b3df3c4dab1e3b2708fe16ddfada56ca9ccfec/webrtc/modules/audio_processing/aec3/render_delay_buffer.cc [modify] https://crrev.com/01b3df3c4dab1e3b2708fe16ddfada56ca9ccfec/webrtc/modules/audio_processing/aec3/shadow_filter_update_gain.cc [modify] https://crrev.com/01b3df3c4dab1e3b2708fe16ddfada56ca9ccfec/webrtc/modules/audio_processing/aec3/shadow_filter_update_gain.h [modify] https://crrev.com/01b3df3c4dab1e3b2708fe16ddfada56ca9ccfec/webrtc/modules/audio_processing/aec3/subtractor.cc
,
May 8 2017
This issue has been approved for a merge. Please merge the fix to any appropriate branches as soon as possible! If all merges have been completed, please remove any remaining Merge-Approved labels from this issue. Thanks for your time! To disable nags, add the Disable-Nags label. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
May 9 2017
Closing as the merge is completed. |
|||||
►
Sign in to add a comment |
|||||
Comment 1 by peah@chromium.org
, May 3 2017