Noise Reduction with the VLC and VLR Codecs

VLC and VLR Codecs and Noise Reduction

With the two-plane model, in the frequency domain, the foreground consists of the greatest points (points of greatest magnitude) and the background consists of the most energetic bands or of the remaining points, organized in bands. The bands help to improve the voice quality, but do not contain mandatory or useful information for its understanding.

The foreground is characterized by a very high SNR (Signal-to-Noise Ratio) while the background is characterized by a very low SNR. This phenomenon is amplified for the background if there is an additional noise, especially a broadband noise. The number of points in the foreground is limited or can be very small compared to the number of points of the background, most of the noise and the small components are in the background.

The background contains the noise profile. To control or to suppress the noise of the background, or to reduce the overall noise, just use the magnitudes of the background points and your favorite noise reduction algorithm, for example:
   - If there is no voice, for each band of the background, one computes the maximum magnitude, one compares this magnitude with all the magnitudes within the same frequency range, and one ignores the magnitudes below this maximum.

For the VLC and VLR codecs, the support of an XML text file is expected, to implement this feature.
For now, from the version 7, two utilities allow to implement this feature: pshift.exe (pitch shifts) and fshift.exe (frequency shifts). The parameters to use are:

   - fg_floor: limit (for the magnitudes, in dB) below which the foreground points are treated as the background points.
   - voiced_level: below the voiced_level (minimum voiced level, in dB), there are only a noise signal and/or an unvoiced signal.
   - energy_ratio: energy ratio, high energy / low energy. If all the magnitudes are below the voiced_level and if the energy ratio is above this value, the frame is considered as an unvoiced frame.
   - noise_gain: gain or attenuation (in dB) for the points considered as noise. The noise profile is updated automatically in a circular buffer if no voice frame (voiced or unvoiced).

The first two parameters (fg_floor and voiced_level) are used to adjust the bands of the background for an effective noise reduction.
These parameters can be used by the encoder and / or by the decoder. The utilities (pshift.exe and fshift.exe) use them during the decompression (decoder side).
If the noise_gain is nonzero, the noise reduction is enabled.
This method is useful for the small noises. If the noise level is important, one must use an Active Noise Cancellation (ANC), or an Active Noise Reduction (ANR) system.
Today, the smartphones tend to integrate active noise reduction systems before transmitting the voice data. These systems are increasingly sophisticated but there is still a residual noise which can be removed by our method, if one uses our codecs.





All that is mentioned above concerns the transmitted signal with noise.
If the listener is in a noisy environment, it is possible to envisage an Active Noise Cancellation (ANC) or Active Noise Reduction (ANR) system, using an external microphone, where the noise is the captured signal.
The anti-noise signals (phase shifts of 180 degrees, after FFT) are generated from all the points of the captured noise, and mixed with the incoming signal.
In a noisy environment, if the noise is uniformly distributed, you can mix the anti-noise signal with the incoming signal, and send the result to one or many listeners having simple headphones.

The utilities support the uncompressed PCM codecs (pcm8, pcm16, pcm32 and pcm48, for the 8, 16, 32 and 48 kHz sampling rates).
For the treatments, the FFT and inverse FFT transformations are performed on the decoder side.






Listening Section

Parameters for the noise reduction:
   - fg_floor: -60 dB
   - voiced_level: -45 dB
   - energy_ratio: 1
   - noise_gain: -80 dB

Original Male Voice
White Noise - 16 kHz Sampling Rate
Click Here to Listen WAV   MP3
After compression and decompression
by the VLC HQ 16 codec at 32000 bps
Click Here to Listen WAV   MP3
After the Noise Reduction
Click Here to Listen WAV   MP3
Original Female Voice
White Noise - 16 kHz Sampling Rate
Click Here to Listen WAV   MP3
After compression and decompression
by the VLC HQ 16 codec at 32000 bps
Click Here to Listen WAV   MP3
After the Noise Reduction
Click Here to Listen WAV   MP3
   
Original Male Voice
Car Noise - 16 kHz Sampling Rate
Click Here to Listen WAV   MP3
After compression and decompression
by the VLC HQ 16 codec at 32000 bps
Click Here to Listen WAV   MP3
After the Noise Reduction
Click Here to Listen WAV   MP3
Original Female Voice
Car Noise - 16 kHz Sampling Rate
Click Here to Listen WAV   MP3
After compression and decompression
by the VLC HQ 16 codec at 32000 bps
Click Here to Listen WAV   MP3
After the Noise Reduction
Click Here to Listen WAV   MP3
   
Original Male Voice
Train Noise - 16 kHz Sampling Rate
Click Here to Listen WAV   MP3
After compression and decompression
by the VLC HQ 16 codec at 32000 bps
Click Here to Listen WAV   MP3
After the Noise Reduction
Click Here to Listen WAV   MP3
Original Female Voice
Train Noise - 16 kHz Sampling Rate
Click Here to Listen WAV   MP3
After compression and decompression
by the VLC HQ 16 codec at 32000 bps
Click Here to Listen WAV   MP3
After the Noise Reduction
Click Here to Listen WAV   MP3
   
Original Male Voice
Plane Noise 1 - 16 kHz Sampling Rate
Click Here to Listen WAV   MP3
After compression and decompression
by the VLC HQ 16 codec at 32000 bps
Click Here to Listen WAV   MP3
After the Noise Reduction
Click Here to Listen WAV   MP3
Original Female Voice
Plane Noise 1 - 16 kHz Sampling Rate
Click Here to Listen WAV   MP3
After compression and decompression
by the VLC HQ 16 codec at 32000 bps
Click Here to Listen WAV   MP3
After the Noise Reduction
Click Here to Listen WAV   MP3
   
Original Male Voice
Plane Noise 2 - 16 kHz Sampling Rate
Click Here to Listen WAV   MP3
After compression and decompression
by the VLC HQ 16 codec at 32000 bps
Click Here to Listen WAV   MP3
After the Noise Reduction
Click Here to Listen WAV   MP3
Original Female Voice
Plane Noise 2 - 16 kHz Sampling Rate
Click Here to Listen WAV   MP3
After compression and decompression
by the VLC HQ 16 codec at 32000 bps
Click Here to Listen WAV   MP3
After the Noise Reduction
Click Here to Listen WAV   MP3
   
Original Male Voice
Plane Noise 3 - 16 kHz Sampling Rate
Click Here to Listen WAV   MP3
After compression and decompression
by the VLC HQ 16 codec at 32000 bps
Click Here to Listen WAV   MP3
After the Noise Reduction
Click Here to Listen WAV   MP3
Original Female Voice
Plane Noise 3 - 16 kHz Sampling Rate
Click Here to Listen WAV   MP3
After compression and decompression
by the VLC HQ 16 codec at 32000 bps
Click Here to Listen WAV   MP3
After the Noise Reduction
Click Here to Listen WAV   MP3
   




Infographic