Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(338)

Issue 1887003002: Added support in the AEC for refined filter adaptation. (Closed)

Created:
4 years, 8 months ago by peah-webrtc
Modified:
4 years, 8 months ago
CC:
webrtc-reviews_webrtc.org, interface-changes_webrtc.org, yujie_mao (webrtc), kwiberg-webrtc, Andrew MacDonald, hlundin-webrtc, tterriberry_mozilla.com, audio-team_agora.io, qiang.lu, niklas.enbom, peah-webrtc, minyue-webrtc, the sun, aluebs-webrtc, bjornv1
Base URL:
https://chromium.googlesource.com/external/webrtc.git@master
Target Ref:
refs/pending/heads/master
Project:
webrtc
Visibility:
Public.

Description

Added support in the AEC for refined filter adaptation. The following algorithmic functionality was added: -Add support for an exact regressor power to be computed which avoids the issue with the updating of the filter sometimes being unstable. -Lowered the fixed step size of the adaptive filter to 0.05 which significantly reduces the sensitivity of the adaptive filter to near-end noise, nonlinearities, doubletalk and the unmodelled echo path tail. It also reduces the tracking speed of the adaptive filter but the chosen value proved to give a sufficient tradeoff for the requirements on the adaptive filter. To allow the new functionality to be selectively applied the following was done: -A new Config was added for selectively activating the functionality. -Functionality was added in the audioprocessing and echocancellationimpl classes for passing the activation of the functionality down to the AEC algorithms. To make the code for the introduction of the functionality clean, the following refactoring was done: -The selection of the step size was moved to a single place. -The constant for the step size of the adaptive filter in extended filter mode was made local. -The state variable storing the step-size was renamed to a more describing name. When the new functionality is not activated, the changes have been tested for bitexactness on Linux. TBR=minyue@webrtc.org BUG=webrtc:5778, webrtc:5777 Committed: https://crrev.com/0332c2db39d6f5c780ce9e92b850bcb57e24e7f8 Cr-Commit-Position: refs/heads/master@{#12384}

Patch Set 1 #

Total comments: 26

Patch Set 2 : Changes in response to reviewer comments #

Patch Set 3 : Preinitialized the sample rate to avoid the possiblitily of access to uninitialized value #

Total comments: 6

Patch Set 4 : Corrected the issue with the missing const specifier in the header file #

Total comments: 1

Patch Set 5 : Rebase with latest master #

Patch Set 6 : Added experiment string for the refined adaptive filter experiment in the aecdump #

Total comments: 8

Patch Set 7 : Changes in response to reviewer comments. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+243 lines, -67 lines) Patch
M webrtc/common.h View 1 1 chunk +2 lines, -1 line 0 comments Download
M webrtc/modules/audio_processing/aec/aec_core.h View 1 2 3 1 chunk +6 lines, -0 lines 0 comments Download
M webrtc/modules/audio_processing/aec/aec_core.cc View 1 2 3 4 5 6 9 chunks +107 lines, -25 lines 0 comments Download
M webrtc/modules/audio_processing/aec/aec_core_internal.h View 1 2 4 chunks +6 lines, -11 lines 0 comments Download
M webrtc/modules/audio_processing/aec/aec_core_mips.cc View 1 1 chunk +2 lines, -7 lines 0 comments Download
M webrtc/modules/audio_processing/aec/aec_core_neon.cc View 1 1 chunk +2 lines, -7 lines 0 comments Download
M webrtc/modules/audio_processing/aec/aec_core_sse2.cc View 1 2 chunks +4 lines, -12 lines 0 comments Download
M webrtc/modules/audio_processing/echo_cancellation_impl.h View 1 2 3 4 2 chunks +2 lines, -0 lines 0 comments Download
M webrtc/modules/audio_processing/echo_cancellation_impl.cc View 1 2 3 4 5 3 chunks +15 lines, -1 line 0 comments Download
M webrtc/modules/audio_processing/include/audio_processing.h View 1 1 chunk +12 lines, -0 lines 0 comments Download
M webrtc/modules/audio_processing/test/debug_dump_test.cc View 1 2 3 4 5 6 3 chunks +81 lines, -3 lines 0 comments Download
M webrtc/modules/audio_processing/test/process_test.cc View 2 chunks +4 lines, -0 lines 0 comments Download

Messages

Total messages: 55 (26 generated)
peah-webrtc
4 years, 8 months ago (2016-04-14 12:49:15 UTC) #4
hlundin-webrtc
LG, with just a few minor comments and questions? https://codereview.webrtc.org/1887003002/diff/1/webrtc/common.h File webrtc/common.h (right): https://codereview.webrtc.org/1887003002/diff/1/webrtc/common.h#newcode36 webrtc/common.h:36: ...
4 years, 8 months ago (2016-04-14 14:02:27 UTC) #5
tlegrand-webrtc
I want to take one more look at the RegressorPower function, to make sure I ...
4 years, 8 months ago (2016-04-14 14:32:42 UTC) #6
hlundin-webrtc
One more comment that must be fixed. https://codereview.webrtc.org/1887003002/diff/1/webrtc/modules/audio_processing/aec/aec_core.cc File webrtc/modules/audio_processing/aec/aec_core.cc (right): https://codereview.webrtc.org/1887003002/diff/1/webrtc/modules/audio_processing/aec/aec_core.cc#newcode243 webrtc/modules/audio_processing/aec/aec_core.cc:243: float mu, ...
4 years, 8 months ago (2016-04-14 14:47:46 UTC) #7
peah-webrtc
https://codereview.webrtc.org/1887003002/diff/1/webrtc/common.h File webrtc/common.h (right): https://codereview.webrtc.org/1887003002/diff/1/webrtc/common.h#newcode36 webrtc/common.h:36: kRefinedAdaptiveFilter On 2016/04/14 14:02:26, hlundin-webrtc wrote: > I think ...
4 years, 8 months ago (2016-04-14 22:12:41 UTC) #8
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1887003002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1887003002/40001
4 years, 8 months ago (2016-04-14 22:13:35 UTC) #10
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_msan on tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/linux_msan/builds/9275)
4 years, 8 months ago (2016-04-14 22:57:47 UTC) #12
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1887003002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1887003002/60001
4 years, 8 months ago (2016-04-15 04:02:15 UTC) #14
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 8 months ago (2016-04-15 05:06:46 UTC) #16
hlundin-webrtc
A few more comments. https://codereview.webrtc.org/1887003002/diff/60001/webrtc/modules/audio_processing/aec/aec_core.cc File webrtc/modules/audio_processing/aec/aec_core.cc (right): https://codereview.webrtc.org/1887003002/diff/60001/webrtc/modules/audio_processing/aec/aec_core.cc#newcode964 webrtc/modules/audio_processing/aec/aec_core.cc:964: int extended_filter_enabled, Now this is ...
4 years, 8 months ago (2016-04-15 06:39:24 UTC) #17
peah-webrtc
https://codereview.webrtc.org/1887003002/diff/60001/webrtc/modules/audio_processing/aec/aec_core.cc File webrtc/modules/audio_processing/aec/aec_core.cc (right): https://codereview.webrtc.org/1887003002/diff/60001/webrtc/modules/audio_processing/aec/aec_core.cc#newcode964 webrtc/modules/audio_processing/aec/aec_core.cc:964: int extended_filter_enabled, On 2016/04/15 06:39:23, hlundin-webrtc wrote: > Now ...
4 years, 8 months ago (2016-04-15 06:53:26 UTC) #18
hlundin-webrtc
LGTM with the promise that you clean up the input parameters in EchoSubtraction() in a ...
4 years, 8 months ago (2016-04-15 07:04:21 UTC) #19
peah-webrtc
Hi, I did a rebase to the latest changes in master, and then added a ...
4 years, 8 months ago (2016-04-15 08:38:18 UTC) #21
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1887003002/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1887003002/140001
4 years, 8 months ago (2016-04-15 08:38:53 UTC) #23
tlegrand-webrtc
LGTM https://codereview.webrtc.org/1887003002/diff/1/webrtc/modules/audio_processing/aec/aec_core.cc File webrtc/modules/audio_processing/aec/aec_core.cc (right): https://codereview.webrtc.org/1887003002/diff/1/webrtc/modules/audio_processing/aec/aec_core.cc#newcode242 webrtc/modules/audio_processing/aec/aec_core.cc:242: static void ScaleErrorSignal(int extended_filter_enabled, On 2016/04/14 22:12:41, peah-webrtc ...
4 years, 8 months ago (2016-04-15 09:07:04 UTC) #24
hlundin-webrtc
LGTM, but with a question and an optional comment. https://codereview.webrtc.org/1887003002/diff/140001/webrtc/modules/audio_processing/test/debug_dump_test.cc File webrtc/modules/audio_processing/test/debug_dump_test.cc (right): https://codereview.webrtc.org/1887003002/diff/140001/webrtc/modules/audio_processing/test/debug_dump_test.cc#newcode361 webrtc/modules/audio_processing/test/debug_dump_test.cc:361: ...
4 years, 8 months ago (2016-04-15 09:24:02 UTC) #26
minyue-webrtc
great work! I added a couple of drive-in comments. https://codereview.webrtc.org/1887003002/diff/140001/webrtc/modules/audio_processing/aec/aec_core.cc File webrtc/modules/audio_processing/aec/aec_core.cc (right): https://codereview.webrtc.org/1887003002/diff/140001/webrtc/modules/audio_processing/aec/aec_core.cc#newcode1356 webrtc/modules/audio_processing/aec/aec_core.cc:1356: ...
4 years, 8 months ago (2016-04-15 09:51:13 UTC) #28
peah-webrtc
https://codereview.webrtc.org/1887003002/diff/140001/webrtc/modules/audio_processing/aec/aec_core.cc File webrtc/modules/audio_processing/aec/aec_core.cc (right): https://codereview.webrtc.org/1887003002/diff/140001/webrtc/modules/audio_processing/aec/aec_core.cc#newcode1356 webrtc/modules/audio_processing/aec/aec_core.cc:1356: // Calculate absolute spectra On 2016/04/15 09:51:13, minyue-webrtc wrote: ...
4 years, 8 months ago (2016-04-15 10:08:40 UTC) #29
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1887003002/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1887003002/160001
4 years, 8 months ago (2016-04-15 10:17:02 UTC) #37
hlundin-webrtc
lgtm
4 years, 8 months ago (2016-04-15 10:32:20 UTC) #38
minyue-webrtc
lgtm
4 years, 8 months ago (2016-04-15 11:35:55 UTC) #39
commit-bot: I haz the power
Try jobs failed on following builders: android_arm64_rel on tryserver.webrtc (JOB_TIMED_OUT, no build URL) android_dbg on ...
4 years, 8 months ago (2016-04-15 12:17:38 UTC) #41
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1887003002/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1887003002/160001
4 years, 8 months ago (2016-04-15 13:02:27 UTC) #43
commit-bot: I haz the power
Try jobs failed on following builders: android_arm64_rel on tryserver.webrtc (JOB_TIMED_OUT, no build URL) linux_baremetal on ...
4 years, 8 months ago (2016-04-15 15:02:52 UTC) #45
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1887003002/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1887003002/160001
4 years, 8 months ago (2016-04-15 15:07:50 UTC) #47
commit-bot: I haz the power
Exceeded global retry quota
4 years, 8 months ago (2016-04-15 17:08:28 UTC) #49
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1887003002/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1887003002/160001
4 years, 8 months ago (2016-04-15 18:07:55 UTC) #51
commit-bot: I haz the power
Committed patchset #7 (id:160001)
4 years, 8 months ago (2016-04-15 18:23:38 UTC) #53
commit-bot: I haz the power
4 years, 8 months ago (2016-04-15 18:23:46 UTC) #55
Message was sent while issue was closed.
Patchset 7 (id:??) landed as
https://crrev.com/0332c2db39d6f5c780ce9e92b850bcb57e24e7f8
Cr-Commit-Position: refs/heads/master@{#12384}

Powered by Google App Engine
This is Rietveld 408576698