Survey of Error Correction Mechanisms for Video Streaming over the Internet <s> II. FORWARD ERROR CORRECTION <s> Delivering real-time video over the Internet is an important component of many Internet multimedia applications. Transmission of real-time video has bandwidth, delay, and loss requirements. However the current Internet does not offer any quality of service (QoS) guarantees to video transmission over the Internet. In addition, the heterogeneity of the networks and end systems makes it difficult to multicast Internet video in an efficient and flexible way. Thus, designing protocols and mechanisms for Internet video transmission poses many challenges. In this paper, we take a holistic approach to these challenges and present solutions from both transport and compression perspectives. With the holistic approach, we design a framework for transporting real-time Internet video, which includes two components, namely, congestion control and error control. Specifically congestion control consists of rate control, rate-adaptive encoding, and rate shaping; error control consists of forward error correction (FEC), retransmission error resilience, and error concealment. For the design of each component in the framework, we classify approaches and summarize representative research work. We point out there exists a design space which can be explored by video application designers and suggest that the synergy of both transport and compression could provide good solutions. <s> BIB001 </s> Survey of Error Correction Mechanisms for Video Streaming over the Internet <s> II. FORWARD ERROR CORRECTION <s> Packet video transport over networks is expected to experience packet losses due to congestion, link failures and timeouts. Packet-level FEC is often proposed to combat these packet losses and thus improve received video quality. However, the redundant packets associated with the FEC coding will increase the effective network load and, as a result, further exacerbate the network packet-loss rates. In this work, we propose a model framework to describe FEC-protected packet video network transport systems and analytically investigate the overall efficacy of packet-level FEC in improving the end-to-end video quality. We consider a simplified network scenario, where the network congestion performance can be described in terms of a single bottleneck node, modeled as a multiplexer. Our results show that packet-level FEC can significantly improve the end-to-end video quality provided that the coding block size is large enough and the coding rate is appropriately chosen, assuming other system parameters are likewise appropriately chosen. We also demonstrate that, when multiple sources share the multiplexer, FEC coding can achieve significant multiplexing gain in terms of the number of video sources that can be supported for a given end-to-end performance. <s> BIB002 </s> Survey of Error Correction Mechanisms for Video Streaming over the Internet <s> II. FORWARD ERROR CORRECTION <s> Packet loss is inevitable in video multicast. In this paper, we propose and study an effective feedback-free loss recovery scheme for layered video which combines forward error correction (FEC) and stream replication. In our scheme, the server multicasts the video in parallel with FEC packets and a number of replicated delayed (ReD) version of the stream. Receivers autonomously and dynamically join the FEC and ReD streams to repair their losses. On the server side, we analyze and optimize the number of replicated streams and FEC packets to meet a certain residual loss requirement (i.e., error after correction). On the receiver side, we analyze the optimal combination of FEC and ReD packets to minimize its loss. We also present a fast yet accurate approximation algorithm for receiver to make such decision. We show that FEC combined with merely one or two replicated streams can effectively reduce the residual error rate (by as much as 50%) as compared with pure FEC or replication alone. Both subjective and objective video measures confirm that our recovery scheme achieves much better visual quality. <s> BIB003 </s> Survey of Error Correction Mechanisms for Video Streaming over the Internet <s> II. FORWARD ERROR CORRECTION <s> The use of FEC/AFEC (Adaptive Forward Error Correction) for Reliable Multicast is not new. However, they are still not widely accepted as the de facto standard for recovering lost data. The primary reason is the added CPU overhead involved in generating the parity data. In this paper, we propose a technique to move the generation of AFEC parity data offline, on the server side. Thus, avoiding any CPU overhead associated with parity data generation. The challenge on the server side would be to meet the expectations of all the clients for a particular multicast. Since different clients may experience different loss rates at the same time, the challenge is to satisfy their needs in an optimal way without causing network congestion. <s> BIB004
The aim of FEC is to add specialized redundancy that can be used to recover data from errors. A number of forward error correction techniques have been developed to repair losses of data during transmission    BIB003 BIB004 BIB002 .The basic idea of FEC is to add redundant packets on compressed source packet to enable error detection and correction. Redundant packets are transmitted so that the original message can be reconstructed in case the packets are lost. If there are K data packets, FEC will add N -K redundant packets and the FEC overhead is N/K  . If the losses are less than a threshold, then the transmitted data can be perfectly recovered loss data at the received. However, if the losses are greater than the threshold, then only a portion of the data can be recovered. Fig.,4 ., shows the simple FEC mechanism. Channel coding used in terms of block codes for Internet applications. Specifically, a video stream is first chopped into segments, each of which is packetized into k packets; then for each segment, a block code is applied to the k packets to generate a n-packet block BIB001 , where n > k. Due to its ability to recover from any k out of n packets regardless of which packets are lost  . There are some disadvantages for channel coding: