IP video broadcasting

Oct 1, 2008 12:00 PM, By Wes Simpson

Flawless IP video over imperfect networks


             

Forward error correction

Row-column FEC operates by arranging groups of packets in rows and columns and then adding a FEC packet to each row and each column. For example, a 10-row, five-column FEC scheme would add 10-row FEC packets and five-column FEC packets to every 50 data packets. In the new SMPTE 2022 standard, these FEC packets are calculated by using the exclusive or (XOR) function. Interestingly, if any one packet in a row is lost, then its value can be calculated by performing an XOR of all the other packets in the row, including the FEC packet. This also applies to columns.

With this extra data, it becomes possible to correct burst errors of up to five packets in length and even replace packets that are completely missing. However, there are limits to what can be corrected.

Of course, the added row/column FEC data is fairly costly in terms of bandwidth, adding 15 extra packets for every 50 transmitted, for 30 percent overhead. End-to-end delay of the system is also increased, because the receiver needs to buffer the block of 65 incoming packets in order to check the FECs and correct any errors in the data block. (See Figure 1.)

Packet doubling

Packet doubling is a simple error correction scheme that transmits each packet twice from the signal source. These packets do not necessarily have to be transmitted one immediately after the other. The duplicate packets can be sent after a specified amount of delay that depends on the implementation. At the receiver, each incoming packet is examined, and any duplicate packets are discarded. In this way, the signal can get through even in a fairly high loss environment.

While this method does seem wasteful, with an overhead of 100 percent, it has a big advantage over other methods in terms of delay for low bit-rate signals, such as live, compressed audio feeds.

Automatic packet resending and TCP

Automatic packet resending uses a higher level protocol to retransmit packets that were lost during transmission. This is extremely beneficial for data transport and is required when no errors can be tolerated, as in the case of a banking transaction or for a downloaded software program, where even a single bit error causes major problems.

Packet resending is part of the Transmission Control Protocol (TCP), which is a standard, highly reliable method to transfer data files across a network that doesn't have service assurance guarantees. Unfortunately, TCP leaves much to be desired for transferring video streams, because the throughput of TCP goes down as the round-trip packet delay increases and as the packet loss rate increases. This is caused by two mechanisms used by TCP.

Figure 2. TCP uses a sequence number to request retransmission of missing packets. R-S stands for Reed-Solomon.

Figure 2. TCP uses a sequence number to request retransmission of missing packets. R-S stands for Reed-Solomon.
Click to enlarge

The first mechanism ensures that TCP can handle transmission errors, particularly lost packets. TCP counts and keeps track of each byte of data that flows across a connection, using a field in the header of each packet called the sequence number. As shown in Figure 2, the receiver sends an acknowledgement that indicates the sequence number of the next byte that it is ready to receive. If a packet is lost or arrives out of order, the sequence number in the next packet to arrive will not match the count that the receiver has made of all the previously received bytes. When this happens, the receiver sends an acknowledgement to the sender that indicates the last correct byte received, which obligates the sender to retransmit the missing data.

The second mechanism allows TCP to control the flow of data across a connection. This feature operates by way of a mechanism where the receiver tells the sender how big a buffer it is using, and the sender must not send more data than will fit into the buffer. Whenever the sender determines that the receiver's buffer is full, it will delay transmission of new data until the receiver acknowledges that it has processed the data that has already been sent. Whenever the receiver quickly acknowledges the receipt of new data, the sender can gradually increase the flow of data.



blog comments powered by Disqus

Want to use this article?
Click here for options!
Get Copyright Clearance

Related Newsletter

Mobile TV Update

will provide key insight into the vendors, technology, regulations and business side of this new and exciting opportunity.

Confused about the terminology in an article? Find definitions of common terms and abbreviations in Broadcast Engineering's Glossary.

 

Browse Back Issues

Resources

Broadcast Engineering Newsletters Broadcast Engineering Essential Guides Broadcast Engineering White Papers Broadcast Engineering Videos Broadcast Engineering Podcasts Broadcast Engineering Industry Calendar

Industry Calendar

Broadcast Engineering Glossary of Terms

Glossary

Broadcast Engineering RSS feed

RSS

Interactive Media

Broadcast Engineering Webinars Broadcast Engineering Training Broadcast Engineering Blogs Broadcast Engineering Forums Broadcast Engineering on Facebook

Facebook

Broadcast Engineering JobZone

JobZone

Broadcast Engineering BE Roll

Blog

 




Back to Top