In this section, practical aspects of VAD/CNG packetization, interoperability, bandwidth saving, and testing aspects are given.
4.7.1 RTP Packetization of VAD / CNG Packets
VAD/CNG is packetized similar to any other voice payload with some minor exceptions. The deviations are in payload type, marker bit setting, and multiple frames handling. VAD algorithms work in a frame of 10 ms or with the basic frame of the codec. With an implementation of 5 ms for the smaller frames, these algorithms may be made to operate on two 5 - ms frames. Simple power - based VAD - I can be made to operate with fl exible frame sizes of 5, 10, and 20 ms.
The VAD packet can appear immediately after the speech packet, which coincides with speech - to - silence transition. Immediately after the VAD packet, for at least two more voice frames duration, VAD packets are not delivered on the network, which is similar to hangover operation, and after completing VAD hangover time, VAD packets can be sent on the network. The DTX algorithm will decide on when to send the next updated VAD packet. A speech packet can be an adjacent packet to the VAD packet, which means the speech packet can precede or succeed the VAD packet.
Voice solutions use multiple frames up to 80 ms in RTP payload duration. At the input of RTP, several frames are collected to form packets with a required duration. In multiframe packetization, to send any VAD packet, RTP has to release the available voice frames without waiting for required packetization payload period. RTP may send voice frames in combination or separately from available VAD frame. On getting an isolated VAD frame as the update, RTP has to release the isolated VAD packet without waiting for any other frames. It is possible that the next update of VAD or speech may happen after several 100 - ms duration and holding of VAD packet may prevent comfort noise updates.
In RTP, payload type 13 is used for CN. The G.711 main codec will use a PT of “ 0 ” for PCMU and “ 8 ” for PCMA. RTP packets switch Payload type (PT) between 13 and 0 or 8 for sending VAD and speech packets. In some RFC drafts, a PT of 19 is also considered, and subsequently, a PT of 19 was updated with 13.
4.7.2 VAD Duplicate Packets
The speech packets can precede VAD packets. A loss of VAD packet in end - to - end delivery may force the decoder to continue in speech and PLC will try to fi ll a speech extension for about 50 ms. Several logic conditions for VAD and PLC combinations are given in [ITU - T - G.729B (1996) ]. Even though it is not in the recommendation of ITU, it is a common practice to create some duplicate packets of VAD to counter packet impediments. It is always helpful to create two to three duplicate packets at the source for the fi rst VAD packet after the speech packet. At the destination, RTP or jitter buffer discards unwanted duplicate packets.
A new VAD packet is sent on change of background characteristics. In practical implementations, previous VAD packets are repeated at regular intervals of 100 to 1000 ms without waiting for the next packet. This type of timed duplicate packet is helpful in situations of packet impediments and eliminates the disconnection of voice sessions in long silences. In some imple- mentations, RTP sessions disconnect voice when packets are not present for 3 to 30 minutes. This process varies by implementation.
4.7.3 VAD / CNG Interoperability
In VoIP call establishment, VAD/CNG may be negotiated by PT as comfort noise (CN). If CN is not negotiated, the RTP allows discontinuous transmis- sion on any audio payload format [Zopf (2002) ]. In G.711 VAD, the payload of 1 or 11 bytes is not known in advance. In practical implementations, PT also differs among multiple VoIP systems. These combinations can create interop- erability issues. To improve on the interoperability, it is required to keep fl ex- ible implementation. Any one of the payload types of 0, 8, 13, and 19 have to be accepted as VAD. A payload length of 1 or 11 bytes has to be accepted for G.711. In a generic way, the implementations have to cater to any payload size from 1 to 11 bytes irrespective of the available VAD module. If the actual implementation is VAD - I, and received SID is of 11 bytes, then CNG has to discard spectral coeffi cients. If the implementation is VAD - II, and received SID is of 1 byte, then the spectral coeffi cients have to be made as zeros in the CNG. Some existing systems in the deployment are not supporting the required logic. VAD - I always interoperates with VAD - I and VAD - II SID packets. Hence, many new VoIP systems use a VAD - I power - based scheme as the default VAD/CNG scheme. On activating specifi c confi gurations, VAD - II may be enabled.
G.729AB is the VAD - supported version of G.729A. The suffi x B indicates VAD support. A payload type (PT) of 18 is used for generic narrowband G.729 and 98 for G.729.1. The VAD packets from the G.729B codec may select a PT of 18 or 13, and a VAD payload size with G.729 is 2 bytes. In the deployments, it is also observed that a G.729 voice call sends 1 byte of payload with payload type 13, which disturbs the G.729 decoding. G.729 VAD expects 2 bytes of payload with parameters. A payload of 1 byte creates disturbance to G.729 CNG decoding. The 1 byte is power payload. Hence, VAD - I has to operate and decode this even if PT is not matching. Similar situations may happen with other codecs. It is essential to keep fl exible implementation that validates PT, presents an active call codec, payload length, and the ability to use G.711 VAD/CNG for low - bit - rate codecs.
CNG has to be supported at all times for better interoperability. The preferred options would be to disable VAD in the send path and keep the CNG module active all the time. On getting any SID packet from destination, the CNG decoder can continue comfort noise generation for proper interoperation.
4.7.4 Network Bandwidth Saving
It is diffi cult to predict bandwidth savings with VAD/CNG. In qualitative terms, a VAD/CNG operation can save as much as 40% to 60% of network bandwidth. In the ITU handbook [ITU - Handbook (1992) ], active speech is given as occupying 41% in some experiments. It will give about 59% in savings during VAD/CNG operations. The bandwidth is dependent on the input signal to the encoder and VAD module used. In case of tone tests with signifi cant power, no VAD silence detections will occur. In the presence of a loud, con- tinuous, and disturbing background, several VAD packets are generated. In recent deployments, bandwidth availability is much higher than the savings from VAD/CNG operation. Higher bandwidth allows voice calls to continue in the VAD - disabled mode.
4.7.5 VAD / CNG Testing
In the previous sections, emphasis is given for power - based VAD and ITU - T G.711 - Appendix - II - based VAD. These modules do not have standard test vectors. One good option for VAD - II testing is to use G.729B test vectors. The results of VAD - II can be compared with G.729B VAD detections. The payload cannot be directly compared, but active and nonactive regions closely match within a frame. G.729B gives 2 bytes during VAD, and VAD - II gives 11 bytes. Low - bit - rate codecs have a separate test vector for VAD/CNG testing. A user will be using the bit exact implementation.
Several instruments also support VAD/CNG testing. Instruments [URL (DSLAII) ] measuring mean opinion score (MOS) [for example, perceptual evaluation of speech quality (PESQ)] also support VAD analysis. In these
instruments, a reference waveform is sent from the encoder side and a received waveform is compared for VAD clippings and any wrong decisions of VAD. It is suggested to select instruments with such VAD/CNG analysis. No stated benchmarks are used on MOS degradation with VAD/CNG. In practical PESQ Listening Quality (PESQ - LQ) measurements, a MOS degradation of about 0.05 to 0.1 in VAD/CNG mode is observed. In general, the use of VAD/CNG creates a certain amount of voice quality degradation.
4.7.6 VAD Clippings
Voice clippings are more common with VAD/CNG. Clipping is the wrong detection of useful speech as silence because it sends it as a VAD packet. Speech clippings happen at silence - to - speech and speech - to - silence transi- tions. The clippings have to be contained to less than 0.2% to 0.5% of the active speech [ITU - T - G.116 (1999) ]. Typical talk - spurts (concatenated speech) are of 300 - to 500 - ms active speech. The quality goal of 0.5% in 500 ms is 2.5 ms, which is smaller than the usual VAD/CNG frame of 10 ms. Hence, enough care has to be taken in meeting the clipping specifi cations.
Misclassifying inactive speech as speech results in an increase of the trans- mission rate, but speech quality is unaffected. Misclassifying active speech as inactive speech causes the speech signal to be clipped, and the speech quality degrades. Most DTX algorithms employ a hangover period during transition from active speech to inactive speech, which minimizes clippings at the tail
end of the active speech, but the problems of silence - to - speech clippings
remain. The implementations with G.711 VAD - II and low - bit - rate bit exact implementations take care of these requirements, but power - based VAD - I may create some clippings based on the signal characteristics.