532531b65643a3abb82fd6f3878d25b613b6fb80 |
|
06-May-2015 |
Bjorn Volcker <bjornv@webrtc.org> |
audio_processing/delay_estimator: Always update robust validation statistics The delay estimator has a robust_validation mode used to deliver more stable delay etimates. The cost is increased reaction time when we have a delay jump. This mode can be turned on and off on the fly, but statistics are not updated while disabled. This makes the estimator unreliable if it is enabled on the fly. This CL makes sure the update is always done. BUG=4472 R=kwiberg@webrtc.org Review URL: https://webrtc-codereview.appspot.com/50889004 Cr-Commit-Position: refs/heads/master@{#9143}
/external/webrtc/webrtc/modules/audio_processing/utility/delay_estimator.c
|
69ef9911e4ee0f81502e0f0c85d19eb18ae2bf89 |
|
03-Jul-2014 |
bjornv@webrtc.org <bjornv@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> |
delay_estimator: Allows dynamically used history sizes Gives the user a possibility to dynamically change the history size. The main advantage is, for example, that you now can start with a wide delay range and over time decrease the search window to lower complexity. Adds - two new APIs. - and updates unit tests. - a history_size member variable to BinaryDelayEstimator. - two help function re-allocating buffer memory. One thing that makes this a little complicated is that you are allowed to have multiple delay estimators with the same reference, so changing the buffer sizes at one place will automatically give you a mismatch at other places. BUG=3532, 3504 TESTED=trybots and manually R=aluebs@webrtc.org, kwiberg@webrtc.org Review URL: https://webrtc-codereview.appspot.com/15879004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@6593 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/modules/audio_processing/utility/delay_estimator.c
|
240eec3cd4b86dbb64e3c4a9cac0153a08fc9e77 |
|
03-Apr-2014 |
bjornv@webrtc.org <bjornv@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> |
Delay Estimator: Minor refactoring and added a setter function. * Replaced the lookahead input parameter at Create() with a setter. This makes it slightly more user friendly. * Changed the buffer shifting in SoftReset... to become more readable. TESTED=trybots, modules_unittests R=aluebs@webrtc.org, andrew@webrtc.org Review URL: https://webrtc-codereview.appspot.com/11029004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@5836 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/modules/audio_processing/utility/delay_estimator.c
|
28e83d1a566c9efedbff391b94962624b5675a50 |
|
24-Mar-2014 |
bjornv@webrtc.org <bjornv@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> |
DelayEstimator: Updates delay_quality and adds soft reset. These changes are currently not used in webrtc/ but helps in using the delay estimator. * The last_delay_quality() is updated with respect to robust_validation and changed to return float. * Tests are updated wtih respect to above. * Adds the possibility to make a soft reset based on external circumstances like a known delay shift has been made. * The soft reset change the lookahead dynamically. An API to ask for current lookahead has been added as well. BUG=N/A TESTED=trybots, modules_unittest R=aluebs@webrtc.org, andrew@webrtc.org Review URL: https://webrtc-codereview.appspot.com/10409004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@5761 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/modules/audio_processing/utility/delay_estimator.c
|
bccd53de57a67ca567dd4a1d508605f011481468 |
|
08-Jan-2014 |
bjornv@webrtc.org <bjornv@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> |
Delay Estimator: Converts a constant into a configurable parameter. The parameter is used in the robust validation scheme, which will be turned on in a separate CL. * Setter and getter for allowed delay offset. * Updated unittests. BUG=None TESTED=modules_unittests, trybots R=aluebs@webrtc.org, andrew@webrtc.org Review URL: https://webrtc-codereview.appspot.com/6669004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@5351 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/modules/audio_processing/utility/delay_estimator.c
|
a89d17d5b7d920d264ba874f7e0233722b5921f7 |
|
02-Jan-2014 |
bjornv@webrtc.org <bjornv@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> |
Delay Estimator: robust_validation should be stored over a reset BUG=None TESTED=modules_unittests, trybots R=aluebs@webrtc.org, andrew@webrtc.org Review URL: https://webrtc-codereview.appspot.com/5959004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@5337 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/modules/audio_processing/utility/delay_estimator.c
|
1e7d61270cc2b5ca237c1b1ef2ef51c1afc799b7 |
|
16-Dec-2013 |
bjornv@webrtc.org <bjornv@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> |
Simplification of histogram normalization in delay estimator. - Replaces a for loop with a single element update to save complexity. No regression in performance seen on set of recordings. - Removes UpdatesMadeUponChange() and put code straight into ProcessBinarySpectrum(). BUG=None TESTED=module_unittest, trybots, verified manually on set of recordings. R=aluebs@webrtc.org, andrew@webrtc.org Review URL: https://webrtc-codereview.appspot.com/5929004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@5298 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/modules/audio_processing/utility/delay_estimator.c
|
5c64508b03d3fd177201769c32fb2d002c66927e |
|
16-Dec-2013 |
bjornv@webrtc.org <bjornv@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> |
Adds robust validation functionality to the delay estimator Evaluated over a 51 recordings: False positives went from 4.4% to 0.7% Missed detections unchanged at 0.8% No increase in complexity, but need to re-evaluate that. TESTED=trybots, unittests, verified against Matlab implementation BUG=None R=aluebs@webrtc.org, andrew@webrtc.org Review URL: https://webrtc-codereview.appspot.com/5419004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@5296 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/modules/audio_processing/utility/delay_estimator.c
|
bd41a846940fca1fb40c7ae4c9114a2976a68fbc |
|
28-Nov-2013 |
bjornv@webrtc.org <bjornv@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> |
This CL adds an API to enable robust validation of delay estimates. Added is - a member variable for turning robust validation on and off. - API to enable/disable feature. - API to check if enabled. - unit tests for these APIs. Not added is - the actual functionality (separate CL), hence turning feature on/off has no impact currently. - calls in AEC and AEC, where the delay estimator is used. This is also done in a separate CL when we know if it should be turned on in both components. TESTED=trybots, module_unittest BUG= R=aluebs@webrtc.org Review URL: https://webrtc-codereview.appspot.com/4609005 git-svn-id: http://webrtc.googlecode.com/svn/trunk@5191 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/modules/audio_processing/utility/delay_estimator.c
|
d1a1c353acace0c3a07c2d7e30575de06f9505d5 |
|
28-Nov-2013 |
bjornv@webrtc.org <bjornv@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> |
Recommit CL5184 TBR=aluebs@webrtc.org BUG= Review URL: https://webrtc-codereview.appspot.com/4599004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@5187 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/modules/audio_processing/utility/delay_estimator.c
|
82eb3a690e7fb4f34f266492a04ab7caec0d0fe0 |
|
28-Nov-2013 |
bjornv@webrtc.org <bjornv@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> |
Revert 5184 "Small refactoring change in delay_estimator." > Small refactoring change in delay_estimator. > > This CL produce the bit exact output and is a preparing step for an upcoming robust validation scheme. > > TESTED=trybots, module_unittest > BUG=None > R=aluebs@webrtc.org > > Review URL: https://webrtc-codereview.appspot.com/4549004 TBR=bjornv@webrtc.org Review URL: https://webrtc-codereview.appspot.com/4589004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@5185 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/modules/audio_processing/utility/delay_estimator.c
|
eea079a3768ffcf5c2ca28b85830528d5c848889 |
|
28-Nov-2013 |
bjornv@webrtc.org <bjornv@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> |
Small refactoring change in delay_estimator. This CL produce the bit exact output and is a preparing step for an upcoming robust validation scheme. TESTED=trybots, module_unittest BUG=None R=aluebs@webrtc.org Review URL: https://webrtc-codereview.appspot.com/4549004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@5184 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/modules/audio_processing/utility/delay_estimator.c
|
04ecd49ec5cdf664b78578e96b8f57bd6643eec8 |
|
18-Mar-2013 |
bjornv@webrtc.org <bjornv@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> |
Truncated delay quality to avoid negative return values This forces the output of last_delay_quality to the interval [0, 1] in Q14. BUG=none TESTED=audioproc_unittest, trybot Review URL: https://webrtc-codereview.appspot.com/1211004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@3675 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/modules/audio_processing/utility/delay_estimator.c
|
7ded92b71e439f22f8f0b948452e7c19822163c7 |
|
30-Jan-2013 |
bjornv@webrtc.org <bjornv@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> |
Re-committing r3428 TBR=ajm BUG=None Review URL: https://webrtc-codereview.appspot.com/1066008 git-svn-id: http://webrtc.googlecode.com/svn/trunk@3436 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/modules/audio_processing/utility/delay_estimator.c
|
e12b1b562c3b3d661e78fe6636eecdc37726fec9 |
|
29-Jan-2013 |
bjornv@webrtc.org <bjornv@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> |
Revert 3428 > Delay estimator wrapper API changes. This should finalize the changes to delay estimator making it work for multi-probe. > > The changes are summarized here: > > delay_estimator.* > ----------------- > Replaced assert() with correct error check. This is consistent with previous versions of the delay_estimator, i.e., to check for valid parameters where they are actually used and not high up in a wrapper layer. > > delay_estimator_internal.h > -------------------------- > Pulled out the far-end part of DelayEstimator struct and put it in DelayEstimatorFarend. The only common parameter is spectrum_size, which we store in both and thereby avoiding having a Farend pointer in DelayEstimator. > > delay_estimator_wrapper.* > ------------------------- > Added and updated descriptions. From Free(), Create(), Init() the far-end parts have been put in separate Farend versions. Same goes for the Process() which now has an AddFarSpectrum() version. > The flow of calls should be something like (in pseudo-code) > > far* = CreateFarend(history_size) > near* = Create(far, lookahead) > InitFarend(far) > Init(near) > while call ongoing > AddFarSpectrum(far, far_spectrum) > Process(near, near_spectrum) > end while > Free(near) > FreeFarend(far) > > delay_estimator_unittest.cc > --------------------------- > Added farend support setting up calls as mentioned above. > > aecm_core.* > ----------- > Cleaned up some lint warnings. > Added delay_estimator_farend pointer. Called Create(), Init() and Free() in above mentioned order. > If AddFarSpectrumFix() was not successfully done, we end and return -1. This is what we would have done for Process(). > > aec_core.* > ---------- > Cleaned up some lint warnings. > Added delay_estimator_farend pointer. Calls in proper order. Since we only use the delay estimator for logging there is no error handling. We only call Process() if AddFarSpectrum() was successful though. > > TEST=audioproc_unittest, trybots > BUG=None > > Review URL: https://webrtc-codereview.appspot.com/1076006 TBR=bjornv@webrtc.org Review URL: https://webrtc-codereview.appspot.com/1062008 git-svn-id: http://webrtc.googlecode.com/svn/trunk@3429 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/modules/audio_processing/utility/delay_estimator.c
|
61ec7daa57969564e23b5b596a1a2538f6a65c6f |
|
29-Jan-2013 |
bjornv@webrtc.org <bjornv@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> |
Delay estimator wrapper API changes. This should finalize the changes to delay estimator making it work for multi-probe. The changes are summarized here: delay_estimator.* ----------------- Replaced assert() with correct error check. This is consistent with previous versions of the delay_estimator, i.e., to check for valid parameters where they are actually used and not high up in a wrapper layer. delay_estimator_internal.h -------------------------- Pulled out the far-end part of DelayEstimator struct and put it in DelayEstimatorFarend. The only common parameter is spectrum_size, which we store in both and thereby avoiding having a Farend pointer in DelayEstimator. delay_estimator_wrapper.* ------------------------- Added and updated descriptions. From Free(), Create(), Init() the far-end parts have been put in separate Farend versions. Same goes for the Process() which now has an AddFarSpectrum() version. The flow of calls should be something like (in pseudo-code) far* = CreateFarend(history_size) near* = Create(far, lookahead) InitFarend(far) Init(near) while call ongoing AddFarSpectrum(far, far_spectrum) Process(near, near_spectrum) end while Free(near) FreeFarend(far) delay_estimator_unittest.cc --------------------------- Added farend support setting up calls as mentioned above. aecm_core.* ----------- Cleaned up some lint warnings. Added delay_estimator_farend pointer. Called Create(), Init() and Free() in above mentioned order. If AddFarSpectrumFix() was not successfully done, we end and return -1. This is what we would have done for Process(). aec_core.* ---------- Cleaned up some lint warnings. Added delay_estimator_farend pointer. Calls in proper order. Since we only use the delay estimator for logging there is no error handling. We only call Process() if AddFarSpectrum() was successful though. TEST=audioproc_unittest, trybots BUG=None Review URL: https://webrtc-codereview.appspot.com/1076006 git-svn-id: http://webrtc.googlecode.com/svn/trunk@3428 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/modules/audio_processing/utility/delay_estimator.c
|
57f3a11958b26298664f65e471257119b8baf28e |
|
25-Jan-2013 |
bjornv@webrtc.org <bjornv@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> |
Short CL: only name change. From |handle| to |self| for consistency. BUG=None Review URL: https://webrtc-codereview.appspot.com/1072005 git-svn-id: http://webrtc.googlecode.com/svn/trunk@3416 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/modules/audio_processing/utility/delay_estimator.c
|
94c213af1af7fc545ed49cb4854446d267bb5417 |
|
25-Jan-2013 |
bjornv@webrtc.org <bjornv@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> |
Separated far-end handling in BinaryDelayEstimator. This CL is one step in a larger change of the DelayEstimator where we will open up for multiple near-end signals. This particular CL separates the low level far-end parts without affecting the usage externally. This is a first step towards separating the far-end and near-end parts giving the user the control. BUG=None TEST=audioproc_unittests, trybots Review URL: https://webrtc-codereview.appspot.com/1068005 git-svn-id: http://webrtc.googlecode.com/svn/trunk@3415 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/modules/audio_processing/utility/delay_estimator.c
|
bb599b7089e1927ae3bc0948a6205bb8130d325f |
|
19-Jan-2013 |
bjornv@webrtc.org <bjornv@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> |
This CL includes part of changes in a larger one. The final goal is to allow multiple delay estimators using the same reference (far-end) to save computational complexity. BUG=None Review URL: https://webrtc-codereview.appspot.com/1024010 git-svn-id: http://webrtc.googlecode.com/svn/trunk@3391 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/modules/audio_processing/utility/delay_estimator.c
|
a2d8b75f291a3c33e337bbf7a527f8b4e9e32f19 |
|
18-Jan-2013 |
bjornv@webrtc.org <bjornv@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> |
An API to get the internal estimation quality in the delay estimator has been added. Unit tests have been updated. There is no impact to other parts in WebRTC. BUG=None Review URL: https://webrtc-codereview.appspot.com/1036004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@3390 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/modules/audio_processing/utility/delay_estimator.c
|
14b43beb7ce4440b30dcea31196de5b4a529cb6b |
|
22-Oct-2012 |
andrew@webrtc.org <andrew@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> |
Move src/ -> webrtc/ TBR=niklas.enbom@webrtc.org Review URL: https://webrtc-codereview.appspot.com/915006 git-svn-id: http://webrtc.googlecode.com/svn/trunk@2963 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/modules/audio_processing/utility/delay_estimator.c
|