...
Overview
Comfort Noise is defined as synthetic background noise used in wireless communications to fill the artificial silence in a transmission resulting from voice activity detection or from the audio clarity of modern digital lines. The noise is generated at the receiving end of the discontinuous transmission (DTX) in which the acoustic background noise might be specially encoded into silence insertion descriptor (SID) frames by the transmitter during the silence suppression period. Comfort noise can also be generated as a direct result of the application of the packet loss concealment by the receiver. A number of speech codecs support comfort noise internally as part of the standard, such as G.729B, G.723.1A, EVRC and AMR codec family. Additionally, the
uses the Silence Suppression feature for G.729 and G.723 codecs because no Comfort Noise packets are sent with these codec. For G.729 Annex B support, the Silence Suppression feature is enabled and silence packets sent using IPP library to decode and generate the corresponding silence packets. The uses the same technique with G.723 where support of Annex A involves enabling Silence Suppression and sending the Silence Packets as G.723 packets. The only difference is that the size of the normal voice data differs from silence packets in each codec. supports comfort noise for those speech codecs that do not include built-in silence suppression by employing techniques described in ITU G.711 Appendix II. This support applies to G.711, G.726 and iLBC in .The SID frame, commonly known as Comfort Noise Packet in VoIP, is composed of a payload of up to 11 bytes in length. The first byte indicates the level of the comfort noise, and the remaining optional 10 bytes are the reflection coefficients that describe the spectral envelop of the comfort noise.
only supports the decoding of the noise level byte in SID, and any reflection coefficient bytes found are ignored. generates the comfort noise having a proprietary spectral shaping with the level decoded from the SIDFor all other codecs, Silence Suppression for is accomplished by sending Comfort Noise packets whenever a change in noise frequency occurs, or periodically to keep the call active. This is not currently supported by due to the limitation of the IPP library.
Comfort Noise Packet Structure
Every Comfort Noise packet contains a description of the noise level and spectral information in the form of reflection coefficients for an all-pole model of the noise. The inclusion of spectral information is OPTIONAL and the model order (number of coefficients) is left unspecified. The magnitude of the noise level is packed into the least significant bits of the noise-level byte with the most significant bit unused and always set to "0". The noise level is expressed in -dBov (dB below overload point), with values from 0 to 127 representing 0 to -127 dBov.
...
...
Image Removed
The first byte of the payload MUST contain the noise level. Quantized reflection coefficients are packed in subsequent bytes in ascending order, where M is the model order. The total length of the payload is M+1 bytes.
...
0 | Figure |
---|
1 | CN Payload Packing Format (contd) |
---|
...
Comfort Noise Initialization
...