webrtc/modules/audio_processing/aec3
Per Åhgren a76ef9d0b4 Robustify the faster alignment in AEC3 to avoid resets
The faster AEC3 alignment introduced recently may in
cases cause the alignment (and the AEC3) to repeatedly
reset. This CL avoids these resets by handling buffer
issues (which are triggering the resets) separately
during the initial coarse alignment phase.



Change-Id: Idf5e2ffda2591906da8060d03ec8ca73cdaedf53
Bug: webrtc:8798,chromium:805815
Reviewed-on: https://webrtc-review.googlesource.com/43480
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21758}
2018-01-25 09:57:31 +00:00
..
mock Robustify the faster alignment in AEC3 to avoid resets 2018-01-25 09:57:31 +00:00
adaptive_fir_filter.cc Added faster initial model adaptation speed in AEC3 2018-01-15 19:29:11 +00:00
adaptive_fir_filter.h Added faster initial model adaptation speed in AEC3 2018-01-15 19:29:11 +00:00
adaptive_fir_filter_unittest.cc Simplified the gain methods for the shadow and main filters in AEC3 2018-01-15 18:05:21 +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 Increasing the speed of the initial alignment in AEC3 2018-01-22 20:50:39 +00:00
aec_state.h Added faster initial model adaptation speed in AEC3 2018-01-15 19:29:11 +00:00
aec_state_unittest.cc Separated the AEC3 adaptive filter parameters into sub-structs 2018-01-15 16:48:49 +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 Robustify the faster alignment in AEC3 to avoid resets 2018-01-25 09:57:31 +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 Robustify the faster alignment in AEC3 to avoid resets 2018-01-25 09:57:31 +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 Robustify the faster alignment in AEC3 to avoid resets 2018-01-25 09:57:31 +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 RenderWriter checks number of bands before inserting AudioBuffer. 2018-01-16 13:35:24 +00:00
echo_canceller3.h Redesign of the render buffering in AEC3 2017-12-01 23:14:32 +00:00
echo_canceller3_unittest.cc Redesign of the render buffering in AEC3 2017-12-01 23:14:32 +00:00
echo_path_delay_estimator.cc Robustify the faster alignment in AEC3 to avoid resets 2018-01-25 09:57:31 +00:00
echo_path_delay_estimator.h Robustify the faster alignment in AEC3 to avoid resets 2018-01-25 09:57:31 +00:00
echo_path_delay_estimator_unittest.cc Robustify the faster alignment in AEC3 to avoid resets 2018-01-25 09:57:31 +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 Added faster initial model adaptation speed in AEC3 2018-01-15 19:29:11 +00:00
echo_remover.h Removed usage of the the redundant the render alignment headroom in AEC3 2017-12-20 17:27:26 +00:00
echo_remover_metrics.cc Use the filter delay to use the proper render block in the AEC3 AecState 2018-01-10 15:53:02 +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 Removed usage of the the redundant the render alignment headroom in AEC3 2017-12-20 17:27:26 +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 Redesign of the render buffering in AEC3 2017-12-01 23:14:32 +00:00
erle_estimator.h Redesign of the render buffering in AEC3 2017-12-01 23:14:32 +00:00
erle_estimator_unittest.cc Compute ERLE over all frequency bins in AEC3. 2017-11-16 12:37:03 +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
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 Simplified the gain methods for the shadow and main filters in AEC3 2018-01-15 18:05:21 +00:00
main_filter_update_gain.h Added faster initial model adaptation speed in AEC3 2018-01-15 19:29:11 +00:00
main_filter_update_gain_unittest.cc Simplified the gain methods for the shadow and main filters in AEC3 2018-01-15 18:05:21 +00:00
matched_filter.cc Corrected the handling of saturation in the AEC3 alignment 2018-01-22 16:37:43 +00:00
matched_filter.h AEC3 delay estimator refactoring and introducing ability to customize 2017-11-17 17:51:37 +00:00
matched_filter_lag_aggregator.cc Robustify the faster alignment in AEC3 to avoid resets 2018-01-25 09:57:31 +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 Robustify the faster alignment in AEC3 to avoid resets 2018-01-25 09:57:31 +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 Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +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 Simplified the usage of the render buffer in AEC3 2017-12-20 14:46: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 Robustify the faster alignment in AEC3 to avoid resets 2018-01-25 09:57:31 +00:00
render_delay_buffer.h Robustify the faster alignment in AEC3 to avoid resets 2018-01-25 09:57:31 +00:00
render_delay_buffer_unittest.cc Corrections of the render buffering scheme in AEC3 to ensure causality 2017-12-11 21:09:56 +00:00
render_delay_controller.cc Robustify the faster alignment in AEC3 to avoid resets 2018-01-25 09:57:31 +00:00
render_delay_controller.h Robustify the faster alignment in AEC3 to avoid resets 2018-01-25 09:57:31 +00:00
render_delay_controller_metrics.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
render_delay_controller_metrics.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
render_delay_controller_metrics_unittest.cc Optional: Use nullopt and implicit construction in /modules/audio_processing 2017-11-20 10:19:30 +00:00
render_delay_controller_unittest.cc Robustify the faster alignment in AEC3 to avoid resets 2018-01-25 09:57:31 +00:00
render_signal_analyzer.cc Simplified the usage of the render buffer in AEC3 2017-12-20 14:46:36 +00:00
render_signal_analyzer.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
render_signal_analyzer_unittest.cc Corrections of the render buffering scheme in AEC3 to ensure causality 2017-12-11 21:09:56 +00:00
residual_echo_estimator.cc Length-correction of the look window used during nonlinear echo removal 2018-01-22 16:36:38 +00:00
residual_echo_estimator.h Removed the redundant functionality for the initial state in AEC3 2017-12-20 16:54:48 +00:00
residual_echo_estimator_unittest.cc Separated the AEC3 adaptive filter parameters into sub-structs 2018-01-15 16:48:49 +00:00
shadow_filter_update_gain.cc Simplified the gain methods for the shadow and main filters in AEC3 2018-01-15 18:05:21 +00:00
shadow_filter_update_gain.h Added faster initial model adaptation speed in AEC3 2018-01-15 19:29:11 +00:00
shadow_filter_update_gain_unittest.cc Simplified the gain methods for the shadow and main filters in AEC3 2018-01-15 18:05:21 +00:00
subtractor.cc Use the best of the shadow and main filter characteristics in AEC3 2018-01-15 21:45:21 +00:00
subtractor.h Use the best of the shadow and main filter characteristics in AEC3 2018-01-15 21:45:21 +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 Separated the AEC3 adaptive filter parameters into sub-structs 2018-01-15 16:48:49 +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 Adding more conservative AEC3 suppressor behavior initially in calls 2018-01-16 09:32:52 +00:00
suppression_gain.h Adding more conservative AEC3 suppressor behavior initially in calls 2018-01-16 09:32:52 +00:00
suppression_gain_unittest.cc Use the filter delay to use the proper render block in the AEC3 AecState 2018-01-10 15:53:02 +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