AEC3 tunings to increase the transparency

This CL changes the tuning of AEC3 to increase the transparency.
In particular:
-The present parameters are re-tuned.
-An oversuppression factor is added in the newly added soft-knee in
 the NLP gain. The purpose of this is to avoid fluctuations in the
 residual echo.
-The dynamics of the computed gain are bounded to ensure that the 
 specified gain characteristics are realizable without echo leakage.
 This also adds robustness against echo leakage in frequency regions
 that are poorly estimated.
 This change was needed to avoid echo leakage from the above 
 tunings.

Bug: chromium:773543,webrtc:8378
Change-Id: If8acc41c1423a6a2fa6f8c4daf2735c86f0b529a
Reviewed-on: https://webrtc-review.googlesource.com/8262
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20231}
This commit is contained in:
Per Åhgren
2017-10-11 02:36:53 +02:00
committed by Commit Bot
parent 05d9822e55
commit 1f33a37565
2 changed files with 14 additions and 8 deletions

View File

@ -290,15 +290,15 @@ class AudioProcessing : public rtc::RefCountInterface {
} ep_strength;
struct Mask {
float m1 = 0.0001f;
float m1 = 0.01f;
float m2 = 0.0001f;
float m3 = 0.0001f;
float m3 = 0.01f;
float m4 = 0.1f;
float m5 = 0.1f;
float m6 = 0.00001f;
float m5 = 0.3f;
float m6 = 0.0001f;
float m7 = 0.01f;
float m8 = 0.0001f;
float m9 = 0.0001f;
float m9 = 0.1f;
} gain_mask;
struct EchoAudibility {
@ -322,8 +322,8 @@ class AudioProcessing : public rtc::RefCountInterface {
float min_dec;
};
GainChanges low_noise = {1.5f, 1.5f, 1.2f, 1.2f, 1.1f, 1.1f};
GainChanges normal = {1.5f, 1.5f, 1.2f, 1.2f, 1.1f, 1.1f};
GainChanges low_noise = {3.f, 3.f, 1.5f, 1.5f, 1.5f, 1.5f};
GainChanges normal = {2.f, 2.f, 1.5f, 1.5f, 1.2f, 1.2f};
GainChanges saturation = {1.2f, 1.2f, 1.5f, 1.5f, 1.f, 1.f};
GainChanges nonlinear = {1.5f, 1.5f, 1.2f, 1.2f, 1.1f, 1.1f};