How Does “Forward Error Correction” Work? by Phil Hippensteel

Author:
Publish date:
Social count:
0
Image placeholder title

Dear Professor Phil,
We’re trying to select a video conferencing system. The locations that we will be conferencing are interconnected by the Internet. Every vendor that we interviewed says they use some form of data correction technology in such circumstances. Our local computer scientist says that these are forms of forward error correction (FEC). What is it and how does it work?
—Joel, PA

Joel,

Image placeholder title

The technology you are alluding to has been around since the 1960s. FEC is generally employed where the underlying circuits are noise prone. Noise often leads to unacceptably high error rates. This is a rather good description of many Internet links.

When a block of video data is transmitted, an additional group of bits are appended to the block. This allows the receiver to check for corrupted bits and often correct those that are wrong. If such bits are corrected successfully, a retransmission of the data is unnecessary. This is important in such a time-sensitive environment.

While most modern FEC techniques involve advanced mathematics, the idea can essentially be illustrated by an algorithm that was used in the ‘60s and ‘70s. Suppose we want to transmit the eight ASCII characters with 56 bits shown in Table 1. The sender would append a zero to each row and to each column that contains an even number of ones. Otherwise the sender would append a one to the row or column. That produces Table 2, which is transmitted.

Image placeholder title

The receiver can recover the data and check entry at the end of the row or column to assure that it is the correct value. By doing this on each row and each column, usually the receiver can find the individual bit that was in error. While the technique is fallible, it is reasonably simple and rather effective.

Today’s FEC codes are far more complex that this example but the idea is the same: send extra bits and the receiver can correct most errors. You trade the use of some additional bandwidth for the ability to eliminate retransmission.

We talked to engineers at both TenHands and Vidyo to get an idea of how their FEC worked. Both product lines are designed for use over the Internet or an intranet.

Dr. Phil Hippensteel has spent more than 40 years in higher education and now teaches at Penn State Harrisburg. Send queries to AVTIntern@nbmedia.com.

Related

Image placeholder title

Ask Professor Phil

Dear Professor Phil, One of our network technicians wants to place a sniffer on our IP video network to try to troubleshoot some problems that we’ve encountered.

Understanding IPTV by Phil Hippensteel

Dear Professor Phil There is something that confuses me.  I know that changing channels in an IP video network takes longer because of a fact related to IP addressing, but I not sure of the details.  Also, why do these changes happen quickly in some cases but much more slowly in other cases? Kevin, Houston, TX  

What causes “tiling” in video? by Phil Hippensteel

Dear Professor Phil: What causes “tiling” in video, particularly when watching HDTV? Jose, Tampa, Fl Hello Jose, To understand what causes tiling, we must first understand certain aspects of MPEG compression. This is the compression method used by nearly all modern video systems. The camera typically records 30

Image placeholder title

Ask Professor Phil: Selecting the Right Cable

When the frequencies are sent down the cable, attributes such as attenuation, crosstalk, and delay are measured. If the cable doesn’t meet the target measurement values at any frequency on any pair, the cable fails to achieve that category.

Digital Video and IP Video are Not the Same by Phil Hippensteel

Dear Professor Phil, I continually hear people talking about digital video and IP video as if they are the identical.  Are they the same? Sam,  Hershey, PA Sam, They are not, but they are closely related terms. Consequently, you are correct that many people who are very familiar with analog video seem to confuse