Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.

IPP 6.1.1.035 Noise Reduction

jhr
Beginner
667 Views
Hi,

Migrating from IPP 5.3.4 to 6.1.1 I discovered that the new Echo Canceller (USC_ECFP_Fxns) offers the ability to modify the built-in Noise Reduction behaviour using USC_EC_Info params.modes.nr/nr_smooth which is nice.

Migrating the Noise Reduction filter (USC_ECNR_Fxns)I also discovered that the noise reduction was too low compared to 5.3.4, unfortunately there is noparams.modes.nr/nr_smooth in USC_FilterInfo.

How can I get the same behaviour of the Noise Reduction filter of 5.3.4 with 6.1.1 ?

Is there any way to access the params.modes.nr/nr_smooth values of USC_ECNR_Fxns ?

Thanks.
0 Kudos
7 Replies
Ivan_Ryzhachkin__Int
New Contributor I
667 Views
Quoting - jhr
Hi,

Migrating from IPP 5.3.4 to 6.1.1 I discovered that the new Echo Canceller (USC_ECFP_Fxns) offers the ability to modify the built-in Noise Reduction behaviour using USC_EC_Info params.modes.nr/nr_smooth which is nice.

Migrating the Noise Reduction filter (USC_ECNR_Fxns)I also discovered that the noise reduction was too low compared to 5.3.4, unfortunately there is noparams.modes.nr/nr_smooth in USC_FilterInfo.

How can I get the same behaviour of the Noise Reduction filter of 5.3.4 with 6.1.1 ?

Is there any way to access the params.modes.nr/nr_smooth values of USC_ECNR_Fxns ?

Thanks.

Hi,
Could you please clarify upon the following:
"noise reduction too low" == higher noise mitigation or worse performance (artifacts etc.)?
Thanks,
Ivan

0 Kudos
jhr
Beginner
667 Views

Hi,
Could you please clarify upon the following:
"noise reduction too low" == higher noise mitigation or worse performance (artifacts etc.)?
Thanks,
Ivan


Hi,

Let's say that with 5.3.4 I was only hearing my voice, with 6.1.1 I hear my voice with a slightportion of the background sound around every 200ms.

Regards.
0 Kudos
Ivan_Ryzhachkin__Int
New Contributor I
667 Views
Quoting - jhr

Hi,

Let's say that with 5.3.4 I was only hearing my voice, with 6.1.1 I hear my voice with a slightportion of the background sound around every 200ms.

Regards.

Hi,
Noise reduction was changed from 5.3.4 to make less misdetects. If the sound left after NR, that's good.
nr_smooth could be set tothemodes ippsNrSmoothOff, ippsNrSmoothStatic, ippsNrSmoothDynamic. ippsNrSmoothOff is setby default.
regards,
Ivan
0 Kudos
jhr
Beginner
667 Views

Hi,
Noise reduction was changed from 5.3.4 to make less misdetects. If the sound left after NR, that's good.
nr_smooth could be set tothemodes ippsNrSmoothOff, ippsNrSmoothStatic, ippsNrSmoothDynamic. ippsNrSmoothOff is setby default.
regards,
Ivan

Hi,

How do you set it using USC_ECNR_Fxns?

I can set it using the echo canceller api but not using the noise reduction filter api... (read my first post)

And I only need noise reduction...

Regards.
0 Kudos
Ivan_Ryzhachkin__Int
New Contributor I
667 Views
Quoting - jhr

Hi,

How do you set it using USC_ECNR_Fxns?

I can set it using the echo canceller api but not using the noise reduction filter api... (read my first post)

And I only need noise reduction...

Regards.

Hi,
To set the noise smothing ippsFilterNoiseSetMode_EC_32f() should be used after ippsFilterNoiseInit_EC_32f().
Regards,
Ivan
0 Kudos
jhr
Beginner
667 Views

Hi,
To set the noise smothing ippsFilterNoiseSetMode_EC_32f() should be used after ippsFilterNoiseInit_EC_32f().
Regards,
Ivan

Your pointed me in the good direction but the problem was elsewhere.

In fact in usc_ecnr.c the level is set to medium which is too low (compared to 5.3.3): ippsFilterNoiseLevel_EC_32f(ippsNrMedium, pNRState);

Since it is set to high by default by the echo canceller.

Unfortunately there is no way to modify the noise level without editing/recompiling usc_ecnr.c which I would like to avoid.

Could you please ask the developpers if it would be possible to set the noise level using themodes.reserved2/3/4 of USC_FilterInfo in a future release ? the smothing mode could be also added at the same time...


Thanks.


0 Kudos
Ivan_Ryzhachkin__Int
New Contributor I
667 Views
Quoting - jhr

Your pointed me in the good direction but the problem was elsewhere.

In fact in usc_ecnr.c the level is set to medium which is too low (compared to 5.3.3): ippsFilterNoiseLevel_EC_32f(ippsNrMedium, pNRState);

Since it is set to high by default by the echo canceller.

Unfortunately there is no way to modify the noise level without editing/recompiling usc_ecnr.c which I would like to avoid.

Could you please ask the developpers if it would be possible to set the noise level using themodes.reserved2/3/4 of USC_FilterInfo in a future release ? the smothing mode could be also added at the same time...


Thanks.



Hi,
Sure. In the AEC sample the NR set to the highest mode tohelp much to the NLP block to eliminate echo. In the NR sample it's set to medium to show the bestPESQ score. No problem if it changed to high.
Thank you very much for advice!
Ivan
0 Kudos
Reply