SPRAAK
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Functions
sspmod_asymm_filter.c File Reference

asymmetric filtering More...

Functions

void spr_asymm_filter_free (SprSspInfo *Info)
 
void spr_asymm_filter_reset (SprSspInfo *Info, SprSspStatus *action)
 
int spr_asymm_filter_process (SprSspInfo *Info, const void *frame_in, void *frame_out)
 
int spr_asymm_filter_setup (SprSspInfo *Info, const char **descript, void *aux_info)
 

Detailed Description

asymmetric filtering

Asymmetric first order filter as used in PNCC (noise tracking, temporal masking). In practice, two first order filters (combining the input with the internal state) are evaluated. The new output (which equals the new internal state) is set to the max (or min) of the two filter outputs. This operation allows to track minima (e.g. noise tracking via minimum statistics) or to track maxima (used for temporal masking in PNCC).


[asymm_filter]
filter<1/2> <A> <B>
Define the filter coefficients for filter1/2; out=state*<A>+input*<B>.
combine <max/min>
Set the new state (and the output) to the max/min of the output of filter1/2.
init <fac>(1.0) [nfr](0)
Initialize the state to the first input multiplied by <fac>; note: the first frame is still filtered; next feed <nfr> additional frames to obtain a suitable internal state.
history <nr>(-1)
Estimate of how many input frames it takes before the impact of the internal state is neglactable (-1 means infinite).
no_reset
Do not reset the internal state (re-initialize) at the start of a new file.

Author
Kris Demuynck
Date
1 October 2014
Revision History:
01/10/2014 - KD
creation