New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 821670 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , iOS , Chrome , Mac
Pri: 1
Type: Bug



Sign in to add a comment

Echo leakage for narrow band render signals in AEC3

Project Member Reported by peah@chromium.org, Mar 14 2018

Issue description

For good echo paths, the AEC3 may leak echo when the render signal has a narrow band characteristic. The spectral leakage in the filter output error term used to compute the adaptation gain causes the filter to diverge for frequency regions neighboring the dominating narrow band. There is functionality in place to handle that this but the effect of that is too mild.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Mar 15 2018

The following revision refers to this bug:
  https://webrtc.googlesource.com/src.git/+/971de07713ad4d35b0969331d6af9daac93ae3e5

commit 971de07713ad4d35b0969331d6af9daac93ae3e5
Author: Per Åhgren <peah@webrtc.org>
Date: Thu Mar 15 08:50:56 2018

Corrected the detection of narrowband render signals

This CL corrects the bug that only looked at narrowband
render signals above 900 Hz and only assumed that the
influence of such lasted for 6 blocks, which resulted
in filter divergence and echo leakage.


Bug:  webrtc:9008 , chromium:821670 
Change-Id: I9b2635d24b260e9d9a8c5c088ab663e03fb93c42
Reviewed-on: https://webrtc-review.googlesource.com/61800
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22434}
[modify] https://crrev.com/971de07713ad4d35b0969331d6af9daac93ae3e5/modules/audio_processing/aec3/adaptive_fir_filter_unittest.cc
[modify] https://crrev.com/971de07713ad4d35b0969331d6af9daac93ae3e5/modules/audio_processing/aec3/echo_remover.cc
[modify] https://crrev.com/971de07713ad4d35b0969331d6af9daac93ae3e5/modules/audio_processing/aec3/main_filter_update_gain_unittest.cc
[modify] https://crrev.com/971de07713ad4d35b0969331d6af9daac93ae3e5/modules/audio_processing/aec3/render_signal_analyzer.cc
[modify] https://crrev.com/971de07713ad4d35b0969331d6af9daac93ae3e5/modules/audio_processing/aec3/render_signal_analyzer.h
[modify] https://crrev.com/971de07713ad4d35b0969331d6af9daac93ae3e5/modules/audio_processing/aec3/render_signal_analyzer_unittest.cc
[modify] https://crrev.com/971de07713ad4d35b0969331d6af9daac93ae3e5/modules/audio_processing/aec3/shadow_filter_update_gain_unittest.cc
[modify] https://crrev.com/971de07713ad4d35b0969331d6af9daac93ae3e5/modules/audio_processing/aec3/subtractor_unittest.cc
[modify] https://crrev.com/971de07713ad4d35b0969331d6af9daac93ae3e5/modules/audio_processing/aec3/suppression_gain_unittest.cc

Comment 2 by peah@chromium.org, Mar 23 2018

Labels: Merge-Request-66
I would like to ask for a merge of this into M66. The feature has been tested in Canary for 7 days and performs well in the stats.

The feature is only activated beneath an experimental flag so the merge is safe in the sense that the code can be turned off in case any issue would arise. 
Project Member

Comment 3 by sheriffbot@chromium.org, Mar 23 2018

Labels: -Merge-Request-66 Merge-Review-66 Hotlist-Merge-Review
This bug requires manual review: Less than 21 days to go before AppStore submit on M66
Please contact the milestone owner if you have questions.
Owners: cmasso@(Android), cmasso@(iOS), josafat@(ChromeOS), abdulsyed@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Comment 4 by cmasso@google.com, Mar 23 2018

Labels: -Hotlist-Merge-Review -Merge-Review-66 Merge-Approved-66
Project Member

Comment 5 by bugdroid1@chromium.org, Mar 23 2018

Labels: merge-merged-66
The following revision refers to this bug:
  https://webrtc.googlesource.com/src.git/+/cda6357a6638c483eea32f683f6f44b2ea9d26ea

commit cda6357a6638c483eea32f683f6f44b2ea9d26ea
Author: Per Åhgren <peah@webrtc.org>
Date: Fri Mar 23 22:43:24 2018

Merge to M66: Corrected the detection of narrowband render signals

This CL corrects the bug that only looked at narrowband
render signals above 900 Hz and only assumed that the
influence of such lasted for 6 blocks, which resulted
in filter divergence and echo leakage.


(cherry picked from commit 971de07713ad4d35b0969331d6af9daac93ae3e5)

TBR: ivoc@webrtc.org, henrik.lundin@webrtc.org
Bug:  webrtc:9008 , chromium:821670 
Change-Id: I9b2635d24b260e9d9a8c5c088ab663e03fb93c42
Reviewed-on: https://webrtc-review.googlesource.com/61800
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Original-Commit-Position: refs/heads/master@{#22434}
Reviewed-on: https://webrtc-review.googlesource.com/64481
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/branch-heads/66@{#11}
Cr-Branched-From: 12c8110e8c717b7f0f87615d3b99caac2a69fa6c-refs/heads/master@{#22215}
[modify] https://crrev.com/cda6357a6638c483eea32f683f6f44b2ea9d26ea/modules/audio_processing/aec3/adaptive_fir_filter_unittest.cc
[modify] https://crrev.com/cda6357a6638c483eea32f683f6f44b2ea9d26ea/modules/audio_processing/aec3/echo_remover.cc
[modify] https://crrev.com/cda6357a6638c483eea32f683f6f44b2ea9d26ea/modules/audio_processing/aec3/main_filter_update_gain_unittest.cc
[modify] https://crrev.com/cda6357a6638c483eea32f683f6f44b2ea9d26ea/modules/audio_processing/aec3/render_signal_analyzer.cc
[modify] https://crrev.com/cda6357a6638c483eea32f683f6f44b2ea9d26ea/modules/audio_processing/aec3/render_signal_analyzer.h
[modify] https://crrev.com/cda6357a6638c483eea32f683f6f44b2ea9d26ea/modules/audio_processing/aec3/render_signal_analyzer_unittest.cc
[modify] https://crrev.com/cda6357a6638c483eea32f683f6f44b2ea9d26ea/modules/audio_processing/aec3/shadow_filter_update_gain_unittest.cc
[modify] https://crrev.com/cda6357a6638c483eea32f683f6f44b2ea9d26ea/modules/audio_processing/aec3/subtractor_unittest.cc
[modify] https://crrev.com/cda6357a6638c483eea32f683f6f44b2ea9d26ea/modules/audio_processing/aec3/suppression_gain_unittest.cc

Comment 6 by peah@chromium.org, Mar 23 2018

Status: Fixed (was: Assigned)

Comment 7 by peah@chromium.org, Mar 23 2018

Labels: M-66
Project Member

Comment 8 by sheriffbot@chromium.org, Mar 27 2018

Cc: cmasso@google.com
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
Labels: -Merge-Approved-66
Looks to have been merged already to M66, as per comment 5.

Sign in to add a comment