quality in the presence of packet loss. Such schemes are called loss recovery schemes.Here we define packet loss in a broad sense: A packet is lost either if it never arrives atthe receiver or if it arrives after its scheduled playout time. Our VoIP example willagain serve as a context for describing loss recovery schemes.As mentioned at the beginning of this section, retransmitting lost packets may notbe feasible in a real-time conversational application such as VoIP. Indeed, retransmitting a packet that has missed its playout deadline serves absolutely no purpose. Andretransmitting a packet that overflowed a router queue cannot normally be accomplished quickly enough. Because of these considerations, VoIP applications often usesome type of loss anticipation scheme. Two types of loss anticipation schemes areforward error correction (FEC)andinterleaving.Forward Error Correction (FEC)The basic idea of FEC is to add redundant information to the original packet stream.For the cost of marginally increasing the transmission rate, the redundant informationcan be used to reconstruct approximations or exact versions of some of the lost packets.Following [Bolot 1996] and [Perkins 1998], we now outline two simple FEC mechanisms. The first mechanism sends a redundant encoded chunk after every nchunks. Theredundant chunk is obtained by exclusive OR-ing the noriginal chunks [Shacham1990]. In this manner if any one packet of the group of n+ 1 packets is lost, the receivercan fully reconstruct the lost packet. But if two or more packets in a group are lost, thereceiver cannot reconstruct the lost packets. By keeping n+ 1, the group size, small, alarge fraction of the lost packets can be recovered when loss is not excessive. However,the smaller the group size, the greater the relative increase of the transmission rate. Inparticular, the transmission rate increases by a factor of 1/n, so that, if n= 3, then thetransmission rate increases by 33 percent. Furthermore, this simple scheme increasesthe playout delay, as the receiver must wait to receive the entire group of packets beforeit can begin playout. For more practical details about how FEC works for multimediatransport see [RFC 5109].The second FEC mechanism is to send a lower-resolution audio stream as theredundant information. For example, the sender might create a nominal audiostream and a corresponding low-resolution, low-bit rate audio stream. (The nominalstream could be a PCM encoding at 64 kbps, and the lower-quality stream could bea GSM encoding at 13 kbps.) The low-bit rate stream is referred to as the redundantstream. As shown in Figure 7.8, the sender constructs the nth packet by taking thenth chunk from the nominal stream and appending to it the (n– 1)st chunk from theredundant stream. In this manner, whenever there is nonconsecutive packet loss, thereceiver can conceal the loss by playing out the low-bit rate encoded chunk thatarrives with the subsequent packet. Of course, low-bit rate chunks give lower quality than the nominal chunks. However, a stream of mostly high-quality chunks,
occasional low-quality chunks, and no missing chunks gives good overall audio
quality. Note that in this scheme, the receiver only has to receive two packets before
playback, so that the increased playout delay is small. Furthermore, if the low-bit
618 CHAPTER 7 • MULTIMEDIA NETWORKING
rate encoding is much less than the nominal encoding, then the marginal increase in
the transmission rate will be small.
In order to cope with consecutive loss, we can use a simple variation. Instead of
appending just the (n– 1)st low-bit rate chunk to the nth nominal chunk, the sender
can append the (n– 1)st and (n– 2)nd low-bit rate chunk, or append the (n– 1)st
and (n– 3)rd low-bit rate chunk, and so on. By appending more low-bit rate chunks
to each nominal chunk, the audio quality at the receiver becomes acceptable for a
wider variety of harsh best-effort environments. On the other hand, the additional
chunks increase the transmission bandwidth and the playout delay.
đang được dịch, vui lòng đợi..