webrtc/modules/audio_processing/aec3
Per Åhgren 31122d6c5f Correct and soften the AEC3 handling of saturated mic signals
This CL changes the handling of saturated microphone signals in AEC3.

Some of the changes included are
-Make the detection of saturated echoes depend on the echo path gain
 estimate.
-Remove redundant code related to echo saturation.
-Correct the computation of residual echoes when the echo is saturated.
-Soften the echo removal during echo saturation.

Bug: webrtc:9119
Change-Id: I5cb11cd449de552ab670beeb24ed8112f8beb734
Reviewed-on: https://webrtc-review.googlesource.com/67220
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22809}
2018-04-10 15:28:45 +00:00
..
mock Robustification of the echo suppression behavior during headset usage. 2018-03-22 00:23:23 +00:00
adaptive_fir_filter.cc Adding a smooth transition from the startup phase parameter set in AEC3 2018-03-15 13:38:16 +00:00
adaptive_fir_filter.h Adding a smooth transition from the startup phase parameter set in AEC3 2018-03-15 13:38:16 +00:00
adaptive_fir_filter_unittest.cc Robustification of the echo suppression behavior during headset usage. 2018-03-22 00:23:23 +00:00
aec3_common.cc Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
aec3_common.h Use the filter delay to use the proper render block in the AEC3 AecState 2018-01-10 15:53:02 +00:00
aec3_fft.cc Correct the FFT windowing when computing the AEC NLP gain 2018-01-11 14:41:11 +00:00
aec3_fft.h Correct the FFT windowing when computing the AEC NLP gain 2018-01-11 14:41:11 +00:00
aec3_fft_unittest.cc Correct the FFT windowing when computing the AEC NLP gain 2018-01-11 14:41:11 +00:00
aec_state.cc Correct and soften the AEC3 handling of saturated mic signals 2018-04-10 15:28:45 +00:00
aec_state.h Correct and soften the AEC3 handling of saturated mic signals 2018-04-10 15:28:45 +00:00
aec_state_unittest.cc Robustification of the echo suppression behavior during headset usage. 2018-03-22 00:23:23 +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_framer_unittest.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
block_processor.cc Robustification of the echo suppression behavior during headset usage. 2018-03-22 00:23:23 +00:00
block_processor.h APM reports ERL and ERLE metrics for AEC3. 2017-11-22 15:01:47 +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_metrics_unittest.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
block_processor_unittest.cc Robustification of the echo suppression behavior during headset usage. 2018-03-22 00:23:23 +00:00
BUILD.gn Robustification of the echo suppression behavior during headset usage. 2018-03-22 00:23:23 +00:00
cascaded_biquad_filter.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
cascaded_biquad_filter.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
cascaded_biquad_filter_unittest.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
comfort_noise_generator.cc Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
comfort_noise_generator.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
comfort_noise_generator_unittest.cc Redesign of the render buffering in AEC3 2017-12-01 23:14:32 +00:00
decimator.cc AEC3 delay estimator refactoring and introducing ability to customize 2017-11-17 17:51:37 +00:00
decimator.h AEC3 delay estimator refactoring and introducing ability to customize 2017-11-17 17:51:37 +00:00
decimator_unittest.cc AEC3 delay estimator refactoring and introducing ability to customize 2017-11-17 17:51:37 +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_canceller3.cc Remove stringstream usages from the APM 2018-04-06 14:17:03 +00:00
echo_canceller3.h Move EchoCanceller3Factory to api/auido 2018-02-27 14:09:59 +00:00
echo_canceller3_unittest.cc Move EchoCanceller3Factory to api/auido 2018-02-27 14:09:59 +00:00
echo_path_delay_estimator.cc Improving the speed of the delay estimator in AEC3 2018-03-15 16:38:07 +00:00
echo_path_delay_estimator.h Improving the speed of the delay estimator in AEC3 2018-03-15 16:38:07 +00:00
echo_path_delay_estimator_unittest.cc Improving the speed of the delay estimator in AEC3 2018-03-15 16:38:07 +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_path_variability_unittest.cc Redesign of the render buffering in AEC3 2017-12-01 23:14:32 +00:00
echo_remover.cc Improves in the ERLE estimation for AEC3 2018-03-22 14:34:04 +00:00
echo_remover.h Robustification of the echo suppression behavior during headset usage. 2018-03-22 00:23:23 +00:00
echo_remover_metrics.cc Robustification of the echo suppression behavior during headset usage. 2018-03-22 00:23:23 +00:00
echo_remover_metrics.h Added ERL and ERLE metrics to UMA. 2017-11-29 09:06:59 +00:00
echo_remover_metrics_unittest.cc Correct the FFT windowing when computing the AEC NLP gain 2018-01-11 14:41:11 +00:00
echo_remover_unittest.cc Inform the AEC3 echo remover about the status of the estimated delay 2018-02-21 17:08:36 +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
erl_estimator_unittest.cc Compute ERL over all frequency bins in AEC3. 2017-11-16 14:40:33 +00:00
erle_estimator.cc Improves in the ERLE estimation for AEC3 2018-03-22 14:34:04 +00:00
erle_estimator.h Improves in the ERLE estimation for AEC3 2018-03-22 14:34:04 +00:00
erle_estimator_unittest.cc Improves in the ERLE estimation for AEC3 2018-03-22 14:34:04 +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.h Redesign of the render buffering in AEC3 2017-12-01 23:14:32 +00:00
fft_data_unittest.cc Redesign of the render buffering in AEC3 2017-12-01 23:14:32 +00:00
filter_analyzer.cc Robustification of the echo suppression behavior during headset usage. 2018-03-22 00:23:23 +00:00
filter_analyzer.h Robustification of the echo suppression behavior during headset usage. 2018-03-22 00:23:23 +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
frame_blocker_unittest.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
main_filter_update_gain.cc Adding a smooth transition from the startup phase parameter set in AEC3 2018-03-15 13:38:16 +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
main_filter_update_gain_unittest.cc Robustification of the echo suppression behavior during headset usage. 2018-03-22 00:23:23 +00:00
matched_filter.cc AEC3 includes echo_canceller3_config.h directly 2018-02-15 08:30:14 +00:00
matched_filter.h Add missing includes checks.h/array_view.h 2018-04-10 10:33:34 +00:00
matched_filter_lag_aggregator.cc Robustification of the echo suppression behavior during headset usage. 2018-03-22 00:23:23 +00:00
matched_filter_lag_aggregator.h Robustify the faster alignment in AEC3 to avoid resets 2018-01-25 09:57:31 +00:00
matched_filter_lag_aggregator_unittest.cc Robustification of the echo suppression behavior during headset usage. 2018-03-22 00:23:23 +00:00
matched_filter_unittest.cc Simplified the usage of the render buffer in AEC3 2017-12-20 14:46:36 +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
output_selector.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
output_selector.h Robustification of the echo suppression behavior during headset usage. 2018-03-22 00:23:23 +00:00
output_selector_unittest.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
render_buffer.cc Simplified the usage of the render buffer in AEC3 2017-12-20 14:46:36 +00:00
render_buffer.h Safe behavior of the initial echo removal in AEC3 2018-02-20 22:01:36 +00:00
render_buffer_unittest.cc Simplified the usage of the render buffer in AEC3 2017-12-20 14:46:36 +00:00
render_delay_buffer.cc Changing log levels and logging of the AEC3 render buffer alignment 2018-03-22 21:09:54 +00:00
render_delay_buffer.h Robustification of the echo suppression behavior during headset usage. 2018-03-22 00:23:23 +00:00
render_delay_buffer_unittest.cc Robustification of the echo suppression behavior during headset usage. 2018-03-22 00:23:23 +00:00
render_delay_controller.cc Robustification of the echo suppression behavior during headset usage. 2018-03-22 00:23:23 +00:00
render_delay_controller.h Robustification of the echo suppression behavior during headset usage. 2018-03-22 00:23:23 +00:00
render_delay_controller_metrics.cc Adding reporting and logging for events of call API skew shifts 2018-02-26 23:57:23 +00:00
render_delay_controller_metrics.h Adding reporting and logging for events of call API skew shifts 2018-02-26 23:57:23 +00:00
render_delay_controller_metrics_unittest.cc Adding reporting and logging for events of call API skew shifts 2018-02-26 23:57:23 +00:00
render_delay_controller_unittest.cc Robustification of the echo suppression behavior during headset usage. 2018-03-22 00:23:23 +00:00
render_signal_analyzer.cc Corrected the detection of narrowband render signals 2018-03-15 08:50:56 +00:00
render_signal_analyzer.h Corrected the detection of narrowband render signals 2018-03-15 08:50:56 +00:00
render_signal_analyzer_unittest.cc Corrected the detection of narrowband render signals 2018-03-15 08:50:56 +00:00
residual_echo_estimator.cc Correct and soften the AEC3 handling of saturated mic signals 2018-04-10 15:28:45 +00:00
residual_echo_estimator.h Correct and soften the AEC3 handling of saturated mic signals 2018-04-10 15:28:45 +00:00
residual_echo_estimator_unittest.cc Robustification of the echo suppression behavior during headset usage. 2018-03-22 00:23:23 +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
shadow_filter_update_gain_unittest.cc Adding a smooth transition from the startup phase parameter set in AEC3 2018-03-15 13:38:16 +00:00
skew_estimator.cc Moved and simplifed the AEC3 API call skew estimator and added tests 2018-02-22 00:52:10 +00:00
skew_estimator.h Moved and simplifed the AEC3 API call skew estimator and added tests 2018-02-22 00:52:10 +00:00
skew_estimator_unittest.cc Moved and simplifed the AEC3 API call skew estimator and added tests 2018-02-22 00:52:10 +00:00
subtractor.cc Corrected the threshold for determining filter convergence in AEC3 2018-03-29 11:31:57 +00:00
subtractor.h Robustification of the echo suppression behavior during headset usage. 2018-03-22 00:23:23 +00:00
subtractor_output.h Correct the FFT windowing when computing the AEC NLP gain 2018-01-11 14:41:11 +00:00
subtractor_unittest.cc Robustification of the echo suppression behavior during headset usage. 2018-03-22 00:23:23 +00:00
suppression_filter.cc Move some numeric utility code from rtc_base/ to rtc_base/numerics/ 2017-11-22 11:21:47 +00:00
suppression_filter.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
suppression_filter_unittest.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
suppression_gain.cc Correct and soften the AEC3 handling of saturated mic signals 2018-04-10 15:28:45 +00:00
suppression_gain.h Correct and soften the AEC3 handling of saturated mic signals 2018-04-10 15:28:45 +00:00
suppression_gain_limiter.cc Robustification of the echo suppression behavior during headset usage. 2018-03-22 00:23:23 +00:00
suppression_gain_limiter.h Robustification of the echo suppression behavior during headset usage. 2018-03-22 00:23:23 +00:00
suppression_gain_unittest.cc Robustification of the echo suppression behavior during headset usage. 2018-03-22 00:23:23 +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 Corrections of the render buffering scheme in AEC3 to ensure causality 2017-12-11 21:09:56 +00:00
vector_math.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
vector_math_unittest.cc Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00