The linear filter in AEC3 is slow to respond to echo path gain changes that causes saturations |
|||||||||
Issue descriptionDue to the way the linear filter adaptation in AEC3 is frozen when there is saturation of the echo it is in some important scenarios less quick than needed to adapt to echo path gain changes. One such very important scenario is when the loudspeaker and nearend levels are such that the analog AGC changes gain whenever there is a speaker switch between the nearend and farend. The gain changes then can cause echo saturations which must be handled by the AEC, and the more rapidly the AEC can respond to those the better they can be handled. The current implementation enforces a significant amount of ducking when handling this.
,
Jun 29 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8b08f8dbae47d60ac509b431e27bde7f84ded395 commit 8b08f8dbae47d60ac509b431e27bde7f84ded395 Author: webrtc-chromium-autoroll <webrtc-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com> Date: Fri Jun 29 07:09:14 2018 Roll src/third_party/webrtc 0601d68ac85e..82d171c82469 (3 commits) https://webrtc.googlesource.com/src.git/+log/0601d68ac85e..82d171c82469 git log 0601d68ac85e..82d171c82469 --date=short --no-merges --format='%ad %ae %s' 2018-06-29 mbonadei@webrtc.org Skip PeerConnectionEndToEndTest.CallWithCustomCodec on Win ASan builds. 2018-06-28 peah@webrtc.org AEC3: Allow filter adaptation even though the estimated echo is saturated 2018-06-28 terelius@webrtc.org Port RtcEventLog encoder unittests to the new parser API. Created with: gclient setdep -r src/third_party/webrtc@82d171c82469 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:None,chromium:857426 TBR=webrtc-chromium-sheriffs-robots@google.com Change-Id: I2dc160e12af018a946993c8cbb0055e44cd8e9b7 Reviewed-on: https://chromium-review.googlesource.com/1119707 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@{#571416} [modify] https://crrev.com/8b08f8dbae47d60ac509b431e27bde7f84ded395/DEPS
,
Jun 29 2018
The following revision refers to this bug: https://webrtc.googlesource.com/src.git/+/2e79d2b398b430348845e5d5deccb66bca78f1a1 commit 2e79d2b398b430348845e5d5deccb66bca78f1a1 Author: Jesús de Vicente Peña <devicentepena@webrtc.org> Date: Fri Jun 29 15:05:14 2018 AEC3: Misadjustment estimator of the linear filter. In this work the performance of the linear filter is estimated. The estimation aims at capture situations when the linear filter is largely over-estimating the echo. In those circumstances, the linear filter is scaled with the purpose of accelerating its convergence. Change-Id: I05ea3739d82838a6f08673432da92125c47943e0 Bug: webrtc:9466 , chromium:857426 Reviewed-on: https://webrtc-review.googlesource.com/86133 Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org> Commit-Queue: Jesus de Vicente Pena <devicentepena@webrtc.org> Cr-Commit-Position: refs/heads/master@{#23789} [modify] https://crrev.com/2e79d2b398b430348845e5d5deccb66bca78f1a1/modules/audio_processing/aec3/adaptive_fir_filter.cc [modify] https://crrev.com/2e79d2b398b430348845e5d5deccb66bca78f1a1/modules/audio_processing/aec3/adaptive_fir_filter.h [modify] https://crrev.com/2e79d2b398b430348845e5d5deccb66bca78f1a1/modules/audio_processing/aec3/subtractor.cc [modify] https://crrev.com/2e79d2b398b430348845e5d5deccb66bca78f1a1/modules/audio_processing/aec3/subtractor.h [modify] https://crrev.com/2e79d2b398b430348845e5d5deccb66bca78f1a1/modules/audio_processing/aec3/subtractor_output.h
,
Jun 29 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d6417bc161af8e97042df9692eac96a04efe5f11 commit d6417bc161af8e97042df9692eac96a04efe5f11 Author: webrtc-chromium-autoroll <webrtc-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com> Date: Fri Jun 29 21:39:59 2018 Roll src/third_party/webrtc deee55b3d522..cf5de1da0720 (5 commits) https://webrtc.googlesource.com/src.git/+log/deee55b3d522..cf5de1da0720 git log deee55b3d522..cf5de1da0720 --date=short --no-merges --format='%ad %ae %s' 2018-06-29 buildbot@webrtc.org Roll chromium_revision a88423acf9..a714568fbe (571410:571512) 2018-06-29 srte@webrtc.org Removes redundant AlrDetector. 2018-06-29 srte@webrtc.org Adds srte@webrtc.org as modules/pacing/ OWNER. 2018-06-29 devicentepena@webrtc.org AEC3: Misadjustment estimator of the linear filter. 2018-06-29 danilchap@webrtc.org Add Generic frame descritpor header extension Created with: gclient setdep -r src/third_party/webrtc@cf5de1da0720 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:None,chromium:857426 TBR=webrtc-chromium-sheriffs-robots@google.com Change-Id: I8ce05b9ba63368a1a56098fa9be00dd0c4c7fc17 Reviewed-on: https://chromium-review.googlesource.com/1121048 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@{#571643} [modify] https://crrev.com/d6417bc161af8e97042df9692eac96a04efe5f11/DEPS
,
Jul 2
We kindly ask for merge approval to M68 of the above two CLs. They were first released to Canary users on June 30. The changes fix serious issues found during beta testing, and we find them critical for M68. We would like to stress that both CLs are fitted with kill-switches, which can easily be activated from the server if needed. Moreover, the changes only touch code in AEC3, which in itself can be fully disabled from the server side if something goes wrong which minimizes the risk of this change.
,
Jul 2
This bug requires manual review: DEPS changes referenced in bugdroid comments. Please contact the milestone owner if you have questions. Owners: cmasso@(Android), kariahda@(iOS), bhthompson@(ChromeOS), abdulsyed@(Desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Jul 2
,
Jul 6
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
,
Jul 7
The merge has been done. The merging CLs are: -https://webrtc-review.googlesource.com/c/src/+/87433 -https://webrtc-review.googlesource.com/c/src/+/87434
,
Jul 7
,
Jul 31
,
Aug 27
|
|||||||||
►
Sign in to add a comment |
|||||||||
Comment 1 by bugdroid1@chromium.org
, Jun 28 2018