ENC-400-HDMI
™ H.264 Encoder
User Guide V 2.1
72
4.4
FEC Forward Error Correction
.!. When FEC is used Transport Stream Padding have to be On (CBR).
The FEC feature is an additionally option which must be pur
chased separately. The ‘SYSTEM /
SETTINGS’ webpage shows whether your encoder has the FEC permission, see chapter 3.4.19 on
page 48.
With the FEC feature (Forward Error Correction) the encoder creates check sums which are also sent
to the destination. If a packet loss occurs, the destination can reconstruct the lost packet via the check
sums. Therefore FEC creates a packet matrix must at the encoder side. This packet matrix consists of
FEC rows and FEC columns from which row check sums and column check sums will be generated
(FEC algorithm = XOR). For detailed information about FEC, please see the free of charge specification
www.pro-mpeg.org/documents/wancop3.pdf
. FEC is also specified in SMPTE 2022-1, but this
specification is not free of charge.
The FEC settings of the ENC-300 are described in chapter 3.4.6 on page 27.
If FEC is used, the encoder sends always additional data to enable the reconstruction of lost data,
regardless if needed or not. This overhead leads to some increase in the data rate; in the case of 1d/2d-
FEC in a range of +5%
– +50%. Therefore, no return channel is needed. This is similar to other FECs
used e.g. on DVB-S,-C,-T transmissions (ReedSolomon, Viterbi, BCH, LDPC).
FEC is only specified on MPEG-TS via RTP transmissions.
The performance of the FEC is always a tradeoff between latency, overhead and error correction
capabilities. FECs with large dimensions, e.g. 20x5, 10x10 provide less overhead (+5%..+20%), but
have larger latency and slightly inferior correction capabilities compared to FECs with smaller
dimensions.
The additional FEC data are transmitted over the same Ethernet link and the same IP address like the
MPEG-TS data. But the port number of the FEC data is different from the MPEG-TS data. At 1D-FEC,
the FEC data are transmitted 2 port numbers over the port number of the MPEG-TS data. At 2D-FEC,
the FEC data are transmitted 2 and 4 port numbers over the MPEG-TS port number. For example, the
port number of MPEG-TS data is 4444 then the port number for the FEC data is 4446 at 1D-FEC or
4446 and 4448 at 2D-FEC. So also decoders without FEC capabilities are able to receive the stream,
of course without the possibility to reconstruct lost packets.
FEC induces additional latency in the transmission. If a FEC packet matrix of 20x5 is chosen, a latency
of ca. 260 msec. is additionally added. Smaller sized FEC packet matrixes and transmissions with higher
bitrates will add less delay.
Overhead in data rate, added by 2D-FEC, can be calculated by following formula:
2𝐷-𝐹𝐸𝐶 𝑂𝑣𝑒𝑟ℎ𝑒𝑎𝑑 𝑖𝑛 % =
(𝑟𝑜𝑤𝑠 + 𝑐𝑜𝑙𝑢𝑚𝑛𝑠)
(𝑟𝑜𝑤𝑠 ∗ 𝑐𝑜𝑙𝑢𝑚𝑛𝑠)
∗ 100%
Overhead in data rate, added by 1D-FEC, can be calculated by following formula:
1𝐷-𝐹𝐸𝐶 𝑂𝑣𝑒𝑟ℎ𝑒𝑎𝑑 𝑖𝑛 % =
1
𝑟𝑜𝑤𝑠
∗ 100%
On real networks there is no 100% probability, that a packet reaches its desired destination, that
means: the probability that a packet gets lost is >0%. The worse the network is the higher is the
probability of lost packets.
If you transmit a MPEG-TS with 8 Mbit/sec data rate without FEC, each lost packet could cause
visible/audible effects. With FEC, you would expect one unrecoverable packet approx. all 2 weeks.
The DEC-
300 auto configures itself to the FEC parameters used in the incoming stream. Only ‘RTP/FEC’
as transport protocol, the used ‘FEC Dimension’ and the source IP-address with port must be set on the
DEC-300.