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

Issue 867873 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

AEC3: The shadow filter is slow to re-adapt which significantly limits the adaptive filter performance

Project Member Reported by peah@chromium.org, Jul 26

Issue description

The shadow filter in AEC3 is often slow to re-adapt when it has diverged. This means that it cannot support the adaptation of the main linear filter in the AEC3 in the way that is intended by the design.

The results of this has in recordings been shown to both be echo leakage and sub-optimal transparency.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Jul 26

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

commit e4db6a1518065d5d827c80c6c43840d35548c0cf
Author: Per Åhgren <peah@webrtc.org>
Date: Thu Jul 26 14:51:32 2018

AEC3: Improved the accuracy of the adaptive filter

This CL adds a functionality that jump-starts the
AEC3 shadow filter whenever it performs consistently
worse than the main filter.
The jump-start is done such that the shadow filter
is re-initialized using the main filter coefficients.

The effects of this is a significantly more accurate
main linear filter which leads to less echo leakage
and better transparency

Bug:  webrtc:9565 ,  chromium:867873 
Change-Id: Ie0b23cd536adc7ce96fc3ed2a7db112aec7437f1
Reviewed-on: https://webrtc-review.googlesource.com/90413
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24117}
[modify] https://crrev.com/e4db6a1518065d5d827c80c6c43840d35548c0cf/api/audio/echo_canceller3_config.h
[modify] https://crrev.com/e4db6a1518065d5d827c80c6c43840d35548c0cf/modules/audio_processing/aec3/BUILD.gn
[modify] https://crrev.com/e4db6a1518065d5d827c80c6c43840d35548c0cf/modules/audio_processing/aec3/adaptive_fir_filter.cc
[modify] https://crrev.com/e4db6a1518065d5d827c80c6c43840d35548c0cf/modules/audio_processing/aec3/adaptive_fir_filter.h
[modify] https://crrev.com/e4db6a1518065d5d827c80c6c43840d35548c0cf/modules/audio_processing/aec3/aec_state.cc
[modify] https://crrev.com/e4db6a1518065d5d827c80c6c43840d35548c0cf/modules/audio_processing/aec3/aec_state_unittest.cc
[modify] https://crrev.com/e4db6a1518065d5d827c80c6c43840d35548c0cf/modules/audio_processing/aec3/echo_canceller3.cc
[modify] https://crrev.com/e4db6a1518065d5d827c80c6c43840d35548c0cf/modules/audio_processing/aec3/subtractor.cc
[modify] https://crrev.com/e4db6a1518065d5d827c80c6c43840d35548c0cf/modules/audio_processing/aec3/subtractor.h
[add] https://crrev.com/e4db6a1518065d5d827c80c6c43840d35548c0cf/modules/audio_processing/aec3/subtractor_output.cc
[modify] https://crrev.com/e4db6a1518065d5d827c80c6c43840d35548c0cf/modules/audio_processing/aec3/subtractor_output.h
[modify] https://crrev.com/e4db6a1518065d5d827c80c6c43840d35548c0cf/modules/audio_processing/aec3/subtractor_output_analyzer.cc
[modify] https://crrev.com/e4db6a1518065d5d827c80c6c43840d35548c0cf/modules/audio_processing/aec3/subtractor_output_analyzer.h

Project Member

Comment 2 by bugdroid1@chromium.org, Jul 26

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/08cfe7f0f98e2d52bcac000248442294a13790bf

commit 08cfe7f0f98e2d52bcac000248442294a13790bf
Author: webrtc-chromium-autoroll <webrtc-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Date: Thu Jul 26 18:11:01 2018

Roll src/third_party/webrtc 17aff35e1dea..e4db6a151806 (4 commits)

https://webrtc.googlesource.com/src.git/+log/17aff35e1dea..e4db6a151806


git log 17aff35e1dea..e4db6a151806 --date=short --no-merges --format='%ad %ae %s'
2018-07-26 peah@webrtc.org AEC3: Improved the accuracy of the adaptive filter
2018-07-26 buildbot@webrtc.org Roll chromium_revision 56d606947d..9617755102 (578186:578286)
2018-07-26 titovartem@webrtc.org Untangle fft third party lib from dependon WebRTC
2018-07-26 mbonadei@webrtc.org Enable clang::find_bad_constructs for congestion_controller/goog_cc.


Created with:
  gclient setdep -r src/third_party/webrtc@e4db6a151806

The AutoRoll server is located here: https://webrtc-chromium-roll.skia.org

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=luci.chromium.try:linux_chromium_archive_rel_ng;master.tryserver.chromium.mac:mac_chromium_archive_rel_ng

BUG= chromium:867873 ,chromium:None
TBR=webrtc-chromium-sheriffs-robots@google.com

Change-Id: Ifa388fe6b4bb81c65959a0729af3afa38081cad5
Reviewed-on: https://chromium-review.googlesource.com/1151549
Reviewed-by: webrtc-chromium-autoroll <webrtc-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: webrtc-chromium-autoroll <webrtc-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#578370}
[modify] https://crrev.com/08cfe7f0f98e2d52bcac000248442294a13790bf/DEPS

Cc: gustaf@chromium.org hlundin@chromium.org
Labels: Merge-Request-69
We would like to merge this issue into M69. It addresses an important issue in the echo canceller that was emphasized with some of the changes done for M69.

It has been tested in Chrome Canary and both the manual testing results and the metrics look good. The merge is considered to be very safe, as the feature is only active beneath an experiment flag, and also has a specific kill-switch.

The CL that would be part of the merge is
-https://webrtc-review.googlesource.com/90413


Since this functionality has been tested together with the functionalities in 
-https://bugs.chromium.org/p/chromium/issues/detail?id=868329
-https://bugs.chromium.org/p/chromium/issues/detail?id=867373
we have also asked for merges of those.

Project Member

Comment 4 by sheriffbot@chromium.org, Jul 30

Labels: -Merge-Request-69 Merge-Review-69 Hotlist-Merge-Review
This bug requires manual review: DEPS changes referenced in bugdroid comments.
Please contact the milestone owner if you have questions.
Owners: amineer@(Android), kariahda@(iOS), cindyb@(ChromeOS), govind@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -Merge-Review-69 Merge-Approved-69
Approving merge to M69 branch 3497 based on comment #3. Please merge ASAP. Thank you.
Labels: -Merge-Approved-69 Merge-Merged Merge-Merged-69
This issue has been merged to M69.

The merging CL was
-https://webrtc-review.googlesource.com/c/src/+/91261
Labels: M-69
Status: Fixed (was: Started)

Sign in to add a comment