webrtc/modules/audio_processing/aec3
Jesús de Vicente Peña 496cedfe56 AEC3: Reverberation model: Changes on the decay estimation.
In this CL we have introduced changes on the estimation of the decay involved in the exponential modeling of the reverberation. Specifically, the instantaneous ERLE has been tracked and used for adapting faster in the regions when the linear filter is performing well. Furthermore, the adaptation is just perform during render activity.


Change-Id: I974fd60e4e1a40a879660efaa24457ed940f77b4
Bug: webrtc:9479
Reviewed-on: https://webrtc-review.googlesource.com/86680
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Jesus de Vicente Pena <devicentepena@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23836}
2018-07-04 10:04:32 +00:00
..
mock Replace rtc::Optional with absl::optional in modules/audio processing 2018-06-19 10:38:56 +00:00
adaptive_fir_filter.cc AEC3: Misadjustment estimator of the linear filter. 2018-06-29 15:05:14 +00:00
adaptive_fir_filter.h AEC3: Misadjustment estimator of the linear filter. 2018-06-29 15:05:14 +00:00
adaptive_fir_filter_unittest.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
aec3_common.cc AEC3: Reverberation model: Changes on the decay estimation. 2018-07-04 10:04:32 +00:00
aec3_common.h AEC3: Reverberation model: Changes on the decay estimation. 2018-07-04 10:04:32 +00:00
aec3_fft.cc Removed the updating of the padding data buffer in the AEC3 FFT 2018-04-27 19:26:03 +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
aec3_fft_unittest.cc Removed the updating of the padding data buffer in the AEC3 FFT 2018-04-27 19:26:03 +00:00
aec_state.cc AEC3: Reverberation model: Changes on the decay estimation. 2018-07-04 10:04:32 +00:00
aec_state.h AEC3: Reverberation model: Changes on the decay estimation. 2018-07-04 10:04:32 +00:00
aec_state_unittest.cc Replace rtc::Optional with absl::optional in modules/audio processing 2018-06-19 10:38:56 +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 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
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 Reformat the WebRTC code base 2018-06-19 14:00:39 +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 AEC3: Reverberation model: Changes on the decay estimation. 2018-07-04 10:04:32 +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
cascaded_biquad_filter_unittest.cc AEC3: Move decimator filters to the new notation 2018-06-07 08:09:17 +00:00
coherence_gain.cc Reuse the AEC2 coherence-based gain for the lower bands in AEC3. 2018-04-24 11:24:44 +00:00
coherence_gain.h Reuse the AEC2 coherence-based gain for the lower bands in AEC3. 2018-04-24 11:24:44 +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: 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
decimator_unittest.cc AEC3: High-pass filter delay estimator signals 2018-05-18 14:33:26 +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 Replace rtc::Optional with absl::optional in modules/audio processing 2018-06-19 10:38:56 +00:00
echo_audibility.h AEC3: Reverberation model: Changes on the decay estimation. 2018-07-04 10:04:32 +00:00
echo_canceller3.cc AEC3: Average the spectrum of multiple nearend frames in the suppressor. 2018-06-19 11:50:30 +00:00
echo_canceller3.h Allow AEC3 to use any externally reported audio buffer delay in AEC3 2018-04-18 09:05:54 +00:00
echo_canceller3_unittest.cc Allow AEC3 to use any externally reported audio buffer delay in AEC3 2018-04-18 09:05:54 +00:00
echo_path_delay_estimator.cc Replace rtc::Optional with absl::optional in modules/audio processing 2018-06-19 10:38:56 +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_delay_estimator_unittest.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +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 AEC3: Reverberation model: Changes on the decay estimation. 2018-07-04 10:04:32 +00:00
echo_remover.h Replace rtc::Optional with absl::optional in modules/audio processing 2018-06-19 10:38:56 +00:00
echo_remover_metrics.cc AEC3: Reverberation model: Changes on the decay estimation. 2018-07-04 10:04:32 +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 Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
echo_remover_unittest.cc Replace rtc::Optional with absl::optional in modules/audio processing 2018-06-19 10:38:56 +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 AEC3: Reverberation model: Changes on the decay estimation. 2018-07-04 10:04:32 +00:00
erle_estimator.h AEC3: Reverberation model: Changes on the decay estimation. 2018-07-04 10:04:32 +00:00
erle_estimator_unittest.cc AEC3: Reverberation model: Changes on the decay estimation. 2018-07-04 10:04:32 +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 AEC3: Reverberation model: Changes on the decay estimation. 2018-07-04 10:04:32 +00:00
filter_analyzer.h AEC3: Reverberation model: Changes on the decay estimation. 2018-07-04 10:04: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 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 Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
matched_filter.cc Revert "Making the delay estimator more robust to noisy nearends and low echoes" 2018-04-26 16:32:07 +00:00
matched_filter.h Replace rtc::Optional with absl::optional in modules/audio processing 2018-06-19 10:38:56 +00:00
matched_filter_lag_aggregator.cc Replace rtc::Optional with absl::optional in modules/audio processing 2018-06-19 10:38:56 +00:00
matched_filter_lag_aggregator.h Replace rtc::Optional with absl::optional in modules/audio processing 2018-06-19 10:38:56 +00:00
matched_filter_lag_aggregator_unittest.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
matched_filter_unittest.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +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.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
moving_average_unittest.cc AEC3: Unittests for MovingAverage 2018-06-19 12:45:10 +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 Reformat the WebRTC code base 2018-06-19 14:00:39 +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 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_buffer_unittest.cc Robustification of the echo suppression behavior during headset usage. 2018-03-22 00:23:23 +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_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_metrics_unittest.cc Replace rtc::Optional with absl::optional in modules/audio processing 2018-06-19 10:38:56 +00:00
render_delay_controller_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
render_signal_analyzer_unittest.cc Replace rtc::Optional with absl::optional in modules/audio processing 2018-06-19 10:38:56 +00:00
residual_echo_estimator.cc AEC3: Avoid entering non-linear mode when the filter is slightly diverged 2018-06-28 13:35:18 +00:00
residual_echo_estimator.h AEC3: Avoid entering non-linear mode when the filter is slightly diverged 2018-06-28 13:35:18 +00:00
residual_echo_estimator_unittest.cc Replace rtc::Optional with absl::optional in modules/audio processing 2018-06-19 10:38:56 +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
reverb_model_estimator.cc AEC3: Reverberation model: Changes on the decay estimation. 2018-07-04 10:04:32 +00:00
reverb_model_estimator.h AEC3: Reverberation model: Changes on the decay estimation. 2018-07-04 10:04:32 +00:00
reverb_model_estimator_unittest.cc AEC3: Reverberation model: Changes on the decay estimation. 2018-07-04 10:04:32 +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
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 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
skew_estimator_unittest.cc 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
subtractor.cc AEC3: Misadjustment estimator of the linear filter. 2018-06-29 15:05:14 +00:00
subtractor.h AEC3: Misadjustment estimator of the linear filter. 2018-06-29 15:05:14 +00:00
subtractor_output.h AEC3: Misadjustment estimator of the linear filter. 2018-06-29 15:05:14 +00:00
subtractor_unittest.cc Replace rtc::Optional with absl::optional in modules/audio processing 2018-06-19 10:38:56 +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_filter_unittest.cc Reuse the AEC2 coherence-based gain for the lower bands in AEC3. 2018-04-24 11:24:44 +00:00
suppression_gain.cc AEC3: Simplified suppression gain calculation 2018-07-04 07:07:55 +00:00
suppression_gain.h AEC3: Simplified suppression gain calculation 2018-07-04 07:07:55 +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: Gain limiter: Improving the behavior of the gain limiter. 2018-05-25 15:49:38 +00:00
suppression_gain_unittest.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +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.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