webrtc/modules/audio_processing/aec3
Jesús de Vicente Peña e9a7e90625 AEC3: ERLE: Allowing increases of the ERLE estimate for low render signals.
Specially for devices with high echo path gain, even low render signal can allow the linear filter of the AEC3 to converge. However, the conditions that were used for updating the ERLE avoided to update that estimation. In this commit, we allow adapting the ERLE estimator using even low render signal but the update of the ERLE is constraint in a way that decreases are not allowed.

Bug: webrtc:9776
Change-Id: Ic4331efcc47a0b05f394cdea9a88f336292de5a1
Reviewed-on: https://webrtc-review.googlesource.com/101641
Commit-Queue: Jesus de Vicente Pena <devicentepena@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24859}
2018-09-27 10:41:10 +00:00
..
mock Enabling clang::find_bad_constructs for AEC3. 2018-07-17 08:49:15 +00:00
adaptive_fir_filter_unittest.cc Make fewer copies when using StringBuilder. 2018-09-24 09:39:19 +00:00
adaptive_fir_filter.cc AEC3: Further utilize the shadow filter to boost adaptation 2018-08-10 17:16:23 +00:00
adaptive_fir_filter.h AEC3: Improved the accuracy of the adaptive filter 2018-07-26 14:51:32 +00:00
aec3_common.cc Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
aec3_common.h AEC3: Increasing the accuracy of the detection for early reverb 2018-07-30 22:34:19 +00:00
aec3_fft_unittest.cc Removed the updating of the padding data buffer in the AEC3 FFT 2018-04-27 19:26:03 +00:00
aec3_fft.cc Remove all remaining non-test uses of std::stringstream. 2018-09-13 08:52:05 +00:00
aec3_fft.h Removed the updating of the padding data buffer in the AEC3 FFT 2018-04-27 19:26:03 +00:00
aec_state_unittest.cc AEC3: ERLE: Allowing increases of the ERLE estimate for low render signals. 2018-09-27 10:41:10 +00:00
aec_state.cc AEC3: Correction of the suppressor behavior at delay changes 2018-09-10 13:05:14 +00:00
aec_state.h AEC3: ERLE: Allowing increases of the ERLE estimate for low render signals. 2018-09-27 10:41:10 +00:00
block_delay_buffer_unittest.cc AEC3: Adding the option for applying a fixed delay to the capture signal 2018-08-23 10:05:07 +00:00
block_delay_buffer.cc AEC3: Adding the option for applying a fixed delay to the capture signal 2018-08-23 10:05:07 +00:00
block_delay_buffer.h AEC3: Adding the option for applying a fixed delay to the capture signal 2018-08-23 10:05:07 +00:00
block_framer_unittest.cc Make fewer copies when using StringBuilder. 2018-09-24 09:39:19 +00:00
block_framer.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
block_framer.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
block_processor_metrics_unittest.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
block_processor_metrics.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
block_processor_metrics.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
block_processor_unittest.cc Make fewer copies when using StringBuilder. 2018-09-24 09:39:19 +00:00
block_processor.cc Replace rtc::Optional with absl::optional in modules/audio processing 2018-06-19 10:38:56 +00:00
block_processor.h Allow AEC3 to use any externally reported audio buffer delay in AEC3 2018-04-18 09:05:54 +00:00
BUILD.gn AEC3: ERLE: Allowing increases of the ERLE estimate for low render signals. 2018-09-27 10:41:10 +00:00
cascaded_biquad_filter_unittest.cc AEC3: Move decimator filters to the new notation 2018-06-07 08:09:17 +00:00
cascaded_biquad_filter.cc AEC3: Move decimator filters to the new notation 2018-06-07 08:09:17 +00:00
cascaded_biquad_filter.h AEC3: Move decimator filters to the new notation 2018-06-07 08:09:17 +00:00
comfort_noise_generator_unittest.cc Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
comfort_noise_generator.cc Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
comfort_noise_generator.h Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
decimator_unittest.cc Make fewer copies when using StringBuilder. 2018-09-24 09:39:19 +00:00
decimator.cc AEC3: Avoid static initializers 2018-06-07 18:13:01 +00:00
decimator.h AEC3: Delay estimator uses bandpass filtered signal with downsampling factor 8 2018-05-25 09:31:38 +00:00
delay_estimate.h Inform the AEC3 echo remover about the status of the estimated delay 2018-02-21 17:08:36 +00:00
downsampled_render_buffer.cc Corrections of the render buffering scheme in AEC3 to ensure causality 2017-12-11 21:09:56 +00:00
downsampled_render_buffer.h Corrections of the render buffering scheme in AEC3 to ensure causality 2017-12-11 21:09:56 +00:00
echo_audibility.cc AEC3: option for using the stationarity estimator at render from the beginning of the call 2018-08-31 17:07:02 +00:00
echo_audibility.h AEC3: Correction of the suppressor behavior at delay changes 2018-09-10 13:05:14 +00:00
echo_canceller3_unittest.cc Make fewer copies when using StringBuilder. 2018-09-24 09:39:19 +00:00
echo_canceller3.cc AEC3: Adding the option for applying a fixed delay to the capture signal 2018-08-23 10:05:07 +00:00
echo_canceller3.h AEC3: Adding the option for applying a fixed delay to the capture signal 2018-08-23 10:05:07 +00:00
echo_path_delay_estimator_unittest.cc Make fewer copies when using StringBuilder. 2018-09-24 09:39:19 +00:00
echo_path_delay_estimator.cc AEC3: Parametrize the delay estimator to leverage strong echo paths 2018-09-06 23:01:58 +00:00
echo_path_delay_estimator.h Replace rtc::Optional with absl::optional in modules/audio processing 2018-06-19 10:38:56 +00:00
echo_path_variability_unittest.cc Redesign of the render buffering in AEC3 2017-12-01 23:14:32 +00:00
echo_path_variability.cc Redesign of the render buffering in AEC3 2017-12-01 23:14:32 +00:00
echo_path_variability.h Redesign of the render buffering in AEC3 2017-12-01 23:14:32 +00:00
echo_remover_metrics_unittest.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
echo_remover_metrics.cc AEC3: ERLE: Allowing increases of the ERLE estimate for low render signals. 2018-09-27 10:41:10 +00:00
echo_remover_metrics.h Added ERL and ERLE metrics to UMA. 2017-11-29 09:06:59 +00:00
echo_remover_unittest.cc Make fewer copies when using StringBuilder. 2018-09-24 09:39:19 +00:00
echo_remover.cc AEC3: ERLE: Allowing increases of the ERLE estimate for low render signals. 2018-09-27 10:41:10 +00:00
echo_remover.h AEC3: Adding explicit handling of microphone gain changes 2018-07-16 16:02:07 +00:00
erl_estimator_unittest.cc Compute ERL over all frequency bins in AEC3. 2017-11-16 14:40:33 +00:00
erl_estimator.cc Redesign of the render buffering in AEC3 2017-12-01 23:14:32 +00:00
erl_estimator.h Redesign of the render buffering in AEC3 2017-12-01 23:14:32 +00:00
erle_estimator_unittest.cc AEC3: ERLE: Allowing increases of the ERLE estimate for low render signals. 2018-09-27 10:41:10 +00:00
erle_estimator.cc AEC3: ERLE: Allowing increases of the ERLE estimate for low render signals. 2018-09-27 10:41:10 +00:00
erle_estimator.h AEC3: ERLE: Allowing increases of the ERLE estimate for low render signals. 2018-09-27 10:41:10 +00:00
fft_buffer.cc Corrections of the render buffering scheme in AEC3 to ensure causality 2017-12-11 21:09:56 +00:00
fft_buffer.h Corrections of the render buffering scheme in AEC3 to ensure causality 2017-12-11 21:09:56 +00:00
fft_data_unittest.cc Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
fft_data.h Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
filter_analyzer.cc AEC3: Increasing the accuracy of the detection for early reverb 2018-07-30 22:34:19 +00:00
filter_analyzer.h AEC3: Increasing the accuracy of the detection for early reverb 2018-07-30 22:34:19 +00:00
frame_blocker_unittest.cc Make fewer copies when using StringBuilder. 2018-09-24 09:39:19 +00:00
frame_blocker.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
frame_blocker.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
fullband_erle_estimator.cc AEC3: ERLE: Allowing increases of the ERLE estimate for low render signals. 2018-09-27 10:41:10 +00:00
fullband_erle_estimator.h AEC3: ERLE: Allowing increases of the ERLE estimate for low render signals. 2018-09-27 10:41:10 +00:00
main_filter_update_gain_unittest.cc Make fewer copies when using StringBuilder. 2018-09-24 09:39:19 +00:00
main_filter_update_gain.cc AEC3: Disabling explicit handling of microphone gain changes 2018-08-28 07:26:40 +00:00
main_filter_update_gain.h Adding a smooth transition from the startup phase parameter set in AEC3 2018-03-15 13:38:16 +00:00
matched_filter_lag_aggregator_unittest.cc AEC3: Parametrize the delay estimator to leverage strong echo paths 2018-09-06 23:01:58 +00:00
matched_filter_lag_aggregator.cc AEC3: Parametrize the delay estimator to leverage strong echo paths 2018-09-06 23:01:58 +00:00
matched_filter_lag_aggregator.h AEC3: Parametrize the delay estimator to leverage strong echo paths 2018-09-06 23:01:58 +00:00
matched_filter_unittest.cc Make fewer copies when using StringBuilder. 2018-09-24 09:39:19 +00:00
matched_filter.cc AEC3: Delay estimator adapts even when estimated echo saturates 2018-09-24 13:44:21 +00:00
matched_filter.h AEC3: Parametrize the delay estimator to leverage strong echo paths 2018-09-06 23:01:58 +00:00
matrix_buffer.cc Corrections of the render buffering scheme in AEC3 to ensure causality 2017-12-11 21:09:56 +00:00
matrix_buffer.h Corrections of the render buffering scheme in AEC3 to ensure causality 2017-12-11 21:09:56 +00:00
moving_average_unittest.cc AEC3: Unittests for MovingAverage 2018-06-19 12:45:10 +00:00
moving_average.cc AEC3: Average the spectrum of multiple nearend frames in the suppressor. 2018-06-19 11:50:30 +00:00
moving_average.h AEC3: Average the spectrum of multiple nearend frames in the suppressor. 2018-06-19 11:50:30 +00:00
render_buffer_unittest.cc Simplified the usage of the render buffer in AEC3 2017-12-20 14:46:36 +00:00
render_buffer.cc Remove all remaining non-test uses of std::stringstream. 2018-09-13 08:52:05 +00:00
render_buffer.h AEC3: Allow the main and shadow filters to have different lengths 2018-08-10 19:59:50 +00:00
render_delay_buffer_unittest.cc Make fewer copies when using StringBuilder. 2018-09-24 09:39:19 +00:00
render_delay_buffer.cc Replace rtc::Optional with absl::optional in modules/audio processing 2018-06-19 10:38:56 +00:00
render_delay_buffer.h Replace rtc::Optional with absl::optional in modules/audio processing 2018-06-19 10:38:56 +00:00
render_delay_controller_metrics_unittest.cc Replace rtc::Optional with absl::optional in modules/audio processing 2018-06-19 10:38:56 +00:00
render_delay_controller_metrics.cc Replace rtc::Optional with absl::optional in modules/audio processing 2018-06-19 10:38:56 +00:00
render_delay_controller_metrics.h Replace rtc::Optional with absl::optional in modules/audio processing 2018-06-19 10:38:56 +00:00
render_delay_controller_unittest.cc Make fewer copies when using StringBuilder. 2018-09-24 09:39:19 +00:00
render_delay_controller.cc Replace rtc::Optional with absl::optional in modules/audio processing 2018-06-19 10:38:56 +00:00
render_delay_controller.h Replace rtc::Optional with absl::optional in modules/audio processing 2018-06-19 10:38:56 +00:00
render_signal_analyzer_unittest.cc Replace rtc::Optional with absl::optional in modules/audio processing 2018-06-19 10:38:56 +00:00
render_signal_analyzer.cc Replace rtc::Optional with absl::optional in modules/audio processing 2018-06-19 10:38:56 +00:00
render_signal_analyzer.h Replace rtc::Optional with absl::optional in modules/audio processing 2018-06-19 10:38:56 +00:00
residual_echo_estimator_unittest.cc AEC3: Refactor the code for analyzing filter convergence 2018-07-12 23:13:08 +00:00
residual_echo_estimator.cc AEC3: Increasing the accuracy of the detection for early reverb 2018-07-30 22:34:19 +00:00
residual_echo_estimator.h AEC3: Increasing the transparency during call startup 2018-07-27 14:18:42 +00:00
reverb_decay_estimator.cc AEC3: Improving and optimizing the reverberation decay estimator. 2018-08-28 09:07:46 +00:00
reverb_decay_estimator.h AEC3: Improving and optimizing the reverberation decay estimator. 2018-08-28 09:07:46 +00:00
reverb_frequency_response.cc AEC3: Improving and optimizing the reverberation decay estimator. 2018-08-28 09:07:46 +00:00
reverb_frequency_response.h AEC3: Increasing the accuracy of the detection for early reverb 2018-07-30 22:34:19 +00:00
reverb_model_estimator_unittest.cc AEC3: Increasing the accuracy of the detection for early reverb 2018-07-30 22:34:19 +00:00
reverb_model_estimator.cc AEC3: Increasing the accuracy of the detection for early reverb 2018-07-30 22:34:19 +00:00
reverb_model_estimator.h AEC3: Increasing the accuracy of the detection for early reverb 2018-07-30 22:34:19 +00:00
reverb_model_fallback.cc AEC3: Changes to how the reverberation decay is applied. 2018-06-13 14:54:04 +00:00
reverb_model_fallback.h AEC3: Changes to how the reverberation decay is applied. 2018-06-13 14:54:04 +00:00
reverb_model.cc AEC3: Reverb modeling: Including the freq shape of the tails when modeling the reverberation 2018-06-26 16:17:45 +00:00
reverb_model.h AEC3: Reverb modeling: Including the freq shape of the tails when modeling the reverberation 2018-06-26 16:17:45 +00:00
shadow_filter_update_gain_unittest.cc Make fewer copies when using StringBuilder. 2018-09-24 09:39:19 +00:00
shadow_filter_update_gain.cc Adding a smooth transition from the startup phase parameter set in AEC3 2018-03-15 13:38:16 +00:00
shadow_filter_update_gain.h Adding a smooth transition from the startup phase parameter set in AEC3 2018-03-15 13:38:16 +00:00
skew_estimator_unittest.cc Replace rtc::Optional with absl::optional in modules/audio processing 2018-06-19 10:38:56 +00:00
skew_estimator.cc Replace rtc::Optional with absl::optional in modules/audio processing 2018-06-19 10:38:56 +00:00
skew_estimator.h Replace rtc::Optional with absl::optional in modules/audio processing 2018-06-19 10:38:56 +00:00
stationarity_estimator.cc AEC3: Reverberation model: Changes on the decay estimation. 2018-07-04 10:04:32 +00:00
stationarity_estimator.h AEC3: Reverberation model: Changes on the decay estimation. 2018-07-04 10:04:32 +00:00
subband_erle_estimator.cc AEC3: ERLE: Allowing increases of the ERLE estimate for low render signals. 2018-09-27 10:41:10 +00:00
subband_erle_estimator.h AEC3: ERLE: Allowing increases of the ERLE estimate for low render signals. 2018-09-27 10:41:10 +00:00
subtractor_output_analyzer.cc AEC3: Removing some old kill switches 2018-08-28 06:59:42 +00:00
subtractor_output_analyzer.h AEC3: Removing some old kill switches 2018-08-28 06:59:42 +00:00
subtractor_output.cc AEC3: Utilize shadow filter output to respond to audio path changes 2018-08-01 15:20:33 +00:00
subtractor_output.h AEC3: Utilize shadow filter output to respond to audio path changes 2018-08-01 15:20:33 +00:00
subtractor_unittest.cc Make fewer copies when using StringBuilder. 2018-09-24 09:39:19 +00:00
subtractor.cc AEC3: Disabling explicit handling of microphone gain changes 2018-08-28 07:26:40 +00:00
subtractor.h AEC3: Further utilize the shadow filter to boost adaptation 2018-08-10 17:16:23 +00:00
suppression_filter_unittest.cc Reuse the AEC2 coherence-based gain for the lower bands in AEC3. 2018-04-24 11:24:44 +00:00
suppression_filter.cc Reuse the AEC2 coherence-based gain for the lower bands in AEC3. 2018-04-24 11:24:44 +00:00
suppression_filter.h Reuse the AEC2 coherence-based gain for the lower bands in AEC3. 2018-04-24 11:24:44 +00:00
suppression_gain_limiter.cc AEC3: Gain limiter: Improving the behavior of the gain limiter. 2018-05-25 15:49:38 +00:00
suppression_gain_limiter.h AEC3: Loosen the echo removal requirements in conservative mode 2018-08-19 10:43:46 +00:00
suppression_gain_unittest.cc AEC3: Bounding the nearend spectrum used as input for the suppressor gain computation 2018-09-24 11:15:52 +00:00
suppression_gain.cc AEC3: Bounding the nearend spectrum used as input for the suppressor gain computation 2018-09-24 11:15:52 +00:00
suppression_gain.h AEC3: Bounding the nearend spectrum used as input for the suppressor gain computation 2018-09-24 11:15:52 +00:00
vector_buffer.cc Corrections of the render buffering scheme in AEC3 to ensure causality 2017-12-11 21:09:56 +00:00
vector_buffer.h AEC3: Gain limiter: Improving the behavior of the gain limiter. 2018-05-25 15:49:38 +00:00
vector_math_unittest.cc Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
vector_math.h Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00