Survey of Error Correction Mechanisms for Video Streaming over the Internet

—This overview is targeted at determining state-of-the-art on Error control mechanisms for video streaming over the Internet. The aims of error control mechanisms are to provide and protect the data from errors caused by packet loss due to congestion and link failure. The error control classified into two categories: Error correction coding and Error detection coding. Error control mechanisms for video applications can be classified into four types: forward error correction (FEC), retransmission, error resilience, and error concealment. In this paper, we provide a survey on the existing error control mechanisms, representative error mechanisms systems. We describe the challenges and solutions of each error control mechanisms. Finally we show the Factors effect in the video quality through transmission over Internet. I. INTRODUCTION In a video communication system, the video is first compressed and then segmented into fixed or variable length packets and multiplexed with other types of data. Unless a dedicated link that can provide a guaranteed quality of service (QoS) is available between the source and the destination, data bits or packets may be lost or corrupted, due to either traffic congestion or link failure.


INTRODUCTION
In a video communication system, the video is first compressed and then segmented into fixed or variable length packets and multiplexed with other types of data.Unless a dedicated link that can provide a guaranteed quality of service (QoS) is available between the source and the destination, data bits or packets may be lost or corrupted, due to either traffic congestion or link failure.
A number of different types of losses may occur, depending on the particular network under consideration.For example, wired packet networks such as the Internet are afflicted by packet loss, where congestion may cause an entire packet to be discarded (lost).
Packet loss can have a destructive effect on the reconstructed video which makes the presentation displeasing to human eyes.Therefore, the video transmission system designs with error control and congestion control [1] to minimize the packet loss in the Internet.Nevertheless the packet loss is inevitable in the Internet [1][2][3].The error control mechanisms have been proposed in order to enhance the video quality in presence of packet loss.
All error correcting mechanisms are based on the same basic principle: redundancy is added to information in order to correct any errors that may occur in the process of transmission [4].The error control coding classified into two categories as shown in Fig. , 1. : Error correction and Error detection.Error correction is the means whereby errors which may be introduced into digital data as a result of transmission through a communication channel can be corrected based upon received data.Error correcting codes, such as parity, LDPC 1 , Reed-Solomon[5], and Hamming codes [6] used by FEC to correct the error.Parity coding and Reed-Solomon coding are often recommended in (IETF) 2 and Real-Time Transport Protocol (RTP), [7].Error detection is the means whereby errors can be detected based upon received information without correction.Since the packet loss causes a degradation of visual quality, error control mechanisms can be employed to overcome this problem.Error control mechanisms for video applications can be classified into four types [1,8],forward error correction (FEC), retransmission, error resilience, and error concealment.As show in "Fig.2.".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.
Retransmission mechanisms based on the receiver notifies the sender which packets were received or lost and the sender

Error detection coding
Error control mechanisms FEC Retransmission ER EC www.ijacsa.thesai.orghave to resend lost packets.ARQ is example of retransmission.
Error-resilient schemes are performed at both the source and the receiver side.Error-resilient deals with packet loss on the compression layer like the error concealment.These schemes try to prevent error propagation or limit the scope of the damage caused by packet losses on the compression layer by adding redundancy data at the source coding.
Error Concealment is Receiver-based error, which means this method attempts to recover the lost information by estimation and interpolation without relying on additional information from the encoder.Fig. ,3., shows error control mechanisms architecture.This paper is organized as follows: In Section 2, we present comprehensive overview of FEC.Section 3 explained the Retransmission mechanisms.Section 4, error resilient mechanisms is explained, in section 5, we explain the error concealment mechanisms.Section 6, presents review of all mechanisms, and in section 7, conclusion is presented.

II. FORWARD ERROR CORRECTION
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 [9][10][11][12][13][14].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 [11].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.

A. Channel Coding BasedFEC
Channel coding is often used in digital communication systems to protect the data from errors.There are two main types of channel codes, namely block codes and convolution codes [15].Block codes are based strictly on finite field arithmetic and abstract algebra.They can be used to either detect or correct errors.The most commonly used block codes are Hamming codes, BCH codes, and Reed Solomon codes.Convolutional codes are used channel codes in practical communication systems.These codes are used for real time error correction.The main decoding strategy for convolutional codes is based on the widely used Viterbi algorithm.For more information about codes see [16].
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 [1], where n > k.Due to its ability to recover from any k out of n packets regardless of which packets are lost [17].There are some disadvantages for channel coding:

a) It increases the transmission rate. b) It increases delay. c) It is not adaptive to varying loss characteristics. B. Source Coding Based FEC
Source coding-based FEC (SFEC) is a variant of FEC for Internet video [17].Like channel coding, SFEC also adds redundant information to recover from loss.For example, the nth packet contains the nth group of blocks (GOB) and redundant information about the (n -1)th GOB, which is a compressed version of the (n -1)th GOB with larger quantize.The redundant information added by SFEC is more compressed versions of the raw video.As a result, when there is packet loss, channel coding could achieve perfect recovery while SFEC recovers the video with reduced quality.One advantage of SFEC over channel coding is lower delay.

C. Joint Source/Channel Coding
Joint source/channel coding is an approach to optimal rate allocation between source coding and channel coding.Joint source/channel coding is used to perform the following responsibilities:  Finding an optimal rate allocation between source coding and channel coding for a given channel loss characteristic.
 Designing a source coding scheme (including specifying the quantizer) to achieve its target rate.
 Designing/choosing channel codes to match the channel loss characteristic and achieve the required robustness.

III. RETRANSMISSION
Retransmission mechanism do not consider as a method to recover lost packets in real-time video since a retransmitted packet may miss its playout time like automatic repeat request (ARQ) [18].
Retransmission requires a back-channel between receiver and sender.So the receiver notifies the sender which packets were received or lost and the sender re-sends lost packets.Retransmission efficiently uses bandwidth and easily adapts to changing channel conditions.Because the Retransmission mechanism requires a back-channel, it isn't suitable to use for broadcast, multicast, and unicast without back-channel.Retransmission always involves additional transmission delay and thus has been widely known ineffective for interactive realtime video applications.
In many applications the extra delay incurred from using retransmission is acceptable, e.g.FTP, telnet.In these cases, when guaranteed delivery is required (and a backchannel is available) then feedback-based retransmits provide a powerful solution to channel losses.On the other hand, when a back channel is not available or the extra delay is not acceptable, then retransmission is not an appropriate solution.If the oneway trip time is short with respect to the maximum allowable delay, a retransmission-based approach is called delay constrained retransmission.Where packets are only retransmitted if they can arrive by their time deadline, or priority-based retransmission, where more important packets are retransmitted before less important packets.

IV. ERROR RESILIENT
Error-resilient mechanism is developed to mitigate the effect of packet losses or to prevent and limit the distortion error propagation from compression perspective by adding redundancy at the source coding level.The error-resilient composed of resynchronization marking, data partitioning, data recovery like reversible variable-length coding (RVLC) [19][20] for wireless video.These tools are targeted at errorprone environment like wireless channel and may not be suitable to Internet environment.For video transmission over the Internet, the limit of a packet already provides a synchronization point in the variable-length coded bit-stream at the receiver side.
Packet loss may cause the loss of all the motion data and its associated shape/texture data, mechanisms such as resynchronization marking, data partitioning, and data recovery may not be useful for Internet video communications.Therefore, in the packet-switched networks, error resilient source coding may use the optimal mode selection [21][22] for each packet or multiple description coding (MDC) [23][24].These are the techniques used for robust Internet video transmission.

A. Optimal Mode Selection
There are two coding modes for black, Inter-mode.With this mode, loss of packet may degrade video quality over a large number of frames.Intra-mode can effectively stop error propagation at the cast of compression efficiency.Inter-mode can achieve compression efficiency at the risk of error propagation.Therefore, the aim of optimal mode selection method is to find the trade-off between coding efficiency and error robustness, since different prediction modes typically result in different levels of coding efficiency and robustness.Many research have been done about the optimal mode selection [19,21,22].www.ijacsa.thesai.orgOptimal mode selection based on rate distortion (R-D) aim to minimize the quantization distortion between the original block and reconstructed block according to bit budget [25][26].The R-D optimized mode selection consider as a classical approach.The classical R-D optimized mode selection cannot achieve global optimality under the error-prone environment since it does not consider the network congestion status and the receiver behavior.To overcome this problem the end-toend approach has been proposed [22], which consider the source behavior , path characteristic and receiver behavior.

B. Multiple Description Coding
Multiple Description Coding (MDC)[2, 27] is another way to achieve trade-off between compression efficiency and error robustness.Fig. 6.shows, the structure of multiple description coding.A raw video sequence is compressed into multiple streams (descriptions).Each description can provide good visual quality even if only one description is received while if more one description is received that will improved the visual quality (Highest).When lose happened multiple description decoder will borrow the corresponding frame from another description.MDC has two important features.First, robustness: even if one description received and other lost, it can give good visual quality.Each description can be decoded independently.
Second, if receiver received more than one description, it can combine all description received together and provide better visual quality.V.
ERROR CONCEALMENT Error concealment is a post-processing technique executed only by decoders/receivers.Unlike the error resilient, that is applied to avoid the packet loss before it happened (this call preventive approach).Error concealment is applied by the receiver to handle the packet loss that already occurred [8] (this is called reactive approach).Error concealment is used to conceal the lost data and make the presentation less displeasing to human eyes.The error concealment has been useful to use for video and audio streaming over Internet [28].
There are two basic approaches for error concealment to handling the packet loss.Spatial and temporal domain interpolation [1,17,28,29].In the spatial interpolation, missing data values are reconstructed using neighboring spatial information, whereas in temporal interpolation, the lost data is reconstructed from previous frame.Spatial interpolation is used to reconstruct the missing data in intracoded frames (I-frame), while temporal interpolation is used to reconstruct the missing data in inter-coded frames (B-frame).
Several error concealment schemes have been proposed to be applicable to Internet video application [1].In first scheme, the receiver replaces the whole frame with the previous reconstructed frame.Second scheme, the receiver replaces a corrupted block with the block at the same location from the previous frame.
Third scheme, the receiver replaces the corrupted block with the block from the previous frame pointed by a motion vector.Motion vectors are used to compress video by storing the changes to an image from one frame to the next.

VI. ERROR MECHANISMS: REVIEW
The current Internet Architecture does not meet with the needs of new applications like video streaming, which require high data throughput (bandwidth) and have low-latency requirements, current Internet transmits all packets with equal importance However.Video streaming over Internet is requiring number of requirements, such as minimum bandwidth, delay and loss.
When we transported video over Internet, we have to take the congestion and error control in our consideration.This survey aims to introduce the error control mechanisms that are used to protect the data from errors caused by packet loss due to congestion and link failure.Since the packet loss is inevitable in the Internet [1,3]several Error control mechanisms have been proposed for video applications to reduce the packet loss.These mechanisms can be classified into four types: forward error correction (FEC), retransmission, error resilience, and error concealment as shown in table 1.
The basic idea of FEC [1,8] is to use the channel coding or joint source/channel coding to add redundancy 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.Many researchers have been done in applying FEC packet, which is almost achieved by erasure codes [30,31], the most common erasure codes are RS (Reed-Solomon).Other erasure codes have been considered is Tornado code [10].

MDC
Retransmission [1] mechanisms based on the receiver notifies the sender which packets were received or lost and the sender have to resend lost packets.Retransmission requires back channel; hence it is easy to adapt changing channel conditions, but make it unsuitable to broadcast.Retransmission requires large transmission delay, so retransmission error controls mechanism unsuitable to be realtime application.
Error Concealment [8,28] is Receiver-based error, which means this method attempts to recover the lost information by estimation and interpolation without relying on additional information from the encoder.Error concealment offers a feasible technique for coping with packet loss from the compression perspective.Error concealment has two approaches, spatial and temporal interpolation.
Error-resilient [32], [33]schemes deal with packet loss on the compression layer like the error concealment.These schemes try to prevent error propagation or limit the scope of the damage caused by packet losses on the compression layer by adding redundancy data at the source coding, this technique is composed of resynchronization marking, data partitioning and data recovery.
Many study have been done the error resilient source coding problem by using the optimal mode selection with (R-D) [19,34].Error-resilient [32], [33]schemes deal with packet loss on the compression layer like the error concealment.These schemes try to prevent error propagation or limit the scope of the damage caused by packet losses on the compression layer by adding redundancy data at the source coding, this technique is composed of resynchronization marking, data partitioning and data recovery.
Many study have done the error resilient source coding problem by using the optimal mode selection with (R-D) [19,34].
There are three factors effect in the video quality [1] fig. 7.show these factors.To achieve good performance of video streaming it is necessary to take into consideration the path characteristics, receiver behavior and source behavior [1,21].

VII. CONCLUSION AND FUTURE WORK
In this paper, we have described the error control mechanisms for video application, which can reduce the packet loss in order to provide good video quality.
Existing error control mechanisms can be classified into four types, namely, forward error correction (FEC), retransmission, error resilience, and error concealment.The FEC is to add redundant bits on compressed source bits to enable error detection and correction.Advantage of FEC is its small transmission delay, but the FEC is ineffective if there are more than N-K consecutive packets lost.FEC schemes can be classified into three categories: a) Channel coding, b) Source coding-based FEC; and c) joint source/channel coding.
In the retransmission the receiver notifies the sender which packets were received / lost and the sender re-sends lost packets.
Retransmission includes delay-constrained retransmission so it is ineffective for interactive real-time video applications.Error-resilient coding schemes are developed to mitigate the effect of packet losses or to prevent error propagation from compression perspective.The errorresilient composed of resynchronization marking, data partitioning and data recovery.Error resilient source coding may use the optimal mode selection for each packet or multiple description coding (MDC).
Error concealment is a post-processing technique executed only by decoders / receivers.The error concealment mechanism performs some forms of Spatial / temporal interpolation to estimate the lost information from the correctly received data.
Any researcher working in the error control mechanisms to provide good video quality has to concentrate in of the following factors source coding, receiver coding and channel (path) to achieve good performance.

Fig. 3 .
Fig. 3. the simple FEC mechanism FEC schemes can be classified into three categories: as show in fig.,5.

Fig. 7 .
Fig. 7. Factors effect in the video quality

: Forward Error Control *ER: Error Resilient
Path www.ijacsa.thesai.orgfirst two are in channel coding and the latter two are in source coding. *FEC