2009年9月23日

Technology OV – FEC (MPE-FEC, ALC, AL-FEC) in Mobile TV solutions

Forward Error Correction (MPE-FEC, ALC, AL-FEC) in Mobile TV solutions

1). MPE-FEC: Multi-Protocol Encapsulated - Forward Error Correction in DVB-H

§ MPE-FEC stands for Multi-Protocol Encapsulation–Forward Error Correction.

§ MPE-FEC was added to the DVB-H specification to implement time interleaving and error correction.

§ MPE-FEC is fully implemented in the link layer and as such comes as an addition to the error correction mechanisms MPE-FEC is an optional component of DVB-H at the transmitter level as well as at the receiver level.

§ MPE-FEC: adds an additional level of forward error correction (FEC) to that already provided by DVB-T, as a means of coping with the possibly extremely difficult reception conditions arising from the mobility of DVB-H devices.

§ The objective of the MPE-FEC is to improve the SNR and Doppler performances in highly mobile channels and to improve the tolerance to impulse interference, but its use is optional (adds an optional multiplexer level).

1.1). RS block code in MPE-FEC:

§ The principle of MPE-FEC is to add Reed–Solomon codes to each time-sliced burst.

§ ReedSolomon (RS) block code is used to protect the IP datagrams. The parity data (RS data) calculated from the IP datagrams of the burst is added in separate MPE-FEC sections.

§ The parity bits are computed from the datagrams of the bursts. They are encapsulated in special MPE-FEC sections that are transmitted after the last (data) section of a burst in the same elementary stream (so they are also part of the burst).

§ A special MPE-FEC frame is used for the computation of the Reed–Solomon code.

1.2). The structure of an MPE-FEC frame

§ A frame comprises two parts, the application data table that contains the datagrams, and the Reed–Solomon (RS) data table with the parity bits.

§ The data is transmitted column by column and downward each column, starting from the upper left corner of the frame.

§ The size of one element of unique coordinates (row, column) is 1 byte. The number of rows in the frame can be 256, 512, 768, or 1,024.

§ The maximum allowed value for this size is 1024, which makes the total MPE-FEC frame almost 2 Mb large.

§ Number of rows: Vary from 1 to a value signalled in time_slice_fec_identifier_descriptor

http://docs.google.com/View?id=ddh56dhg_191cgf9gwfn

§ The left part of the MPE-FEC frame, consisting of the 191 leftmost columns, are dedicated for IP datagrams and possible padding, and is called the Application data table.

§ The right part of the MPE-FEC frame, consisting of the 64 rightmost columns, are dedicated for the parity information of the FEC code and is called the RS data table.

1.3). Time slicing and MPE-FEC used together

§ The use of MPE-FEC is not mandatory and is defined separately for each elementary stream in the Transport Stream.

§ When time slicing and MPE-FEC are used together, one Time Slice burst carries exactly one MPE-FEC frame.

§ The first part of the burst is the MPE sections carrying the IP datagrams belonging to the MPE-FEC frame. Immediately following the last MPE section is the first MPE-FEC section carrying the parity bytes.

§ All sections contain a table_boundary flag, this is set high in the last MPE section to indicate this is the last MPE section of the MPE-FEC frame.

§ If all the MPE sections within the burst have been received correctly, the receiver can then neglect the MPE-FEC sections and go to sleep until the next burst.

§ All sections contain a frame_boundary flag, this is set high in the last MPE-FEC section to indicate that this is the last MPE-FEC section and hence the end of the MPE-FEC frame.

1.4). Performances

§ With the QPSK and 16-QAM modulation schemes with coding rates 1/2 and 2/3, carrier-to-noise ratio gains of 5 to 8 dB for a receiver in a moving vehicle and 3 dB for pedestrian reception were observed.

§ It was also concluded from these experiments that MPE-FEC dramatically increases the speed at which the reception of a DVB-H signal is possible.

§ The real-time signaling carried within MPE and Multi-Protocol EncapsulationForward Error Correction (MPE-FEC) headers is considered to be part of the service access rather than service discovery

§ The MPE-FEC indicator bit enables the receiver to prepare different reception strategies, depending on whether the MPE-FEC is supported.

§ MPE-FEC refers to Section in DVB-H chapter for detailed.

2). Application Layer Forward Error Correction (AL-FEC) in MBMS or IPTV

§ The IETF is in the process of specifying a similar framework for the delivery of streaming media.

§ In frameworks, the integration of application layer forward error correction (AL-FEC) which is the primary technology used to overcome IP packet losses for the provisioning of a reliable service.

§ The guidelines on how to use AL-FEC to provide support for reliable delivery of content within the context of a CDP.

§ The IETF is in the process of defining several AL-FEC schemes, whereby especially Raptor codes have been selected in different CDP definitions recently by commercial standards.

§ AL-FEC is integrated into content delivery protocols (CDPs) to support reliable delivery.

§ Application Layer FEC in IPTV-related Protocols

http://docs.google.com/View?id=ddh56dhg_195dshrg6d3

2.1). Definition - Application Layer Forward Error Correction (AL-FEC)

§ Application Layer Forward Error Correction (AL-FEC) is an innovative way to provide reliability in mobile broadcast systems.

§ The use of AL-FEC can provide efficient and reliable video streaming distribution without scalability issues.

§ With the right system design including AL-FEC, the efficiency or quality of delivery services can be significantly enhanced.

§ Conventional data such as multimedia files or multimedia streams are extended with repair information which can be used to recover lost data at the receiver.

§ This work shows these benefits in selected use cases, specifically focusing on 3G-based multimedia broadcasting within the MBMS standard.

§ Several standardization committees such as 3GPP and DVB have recognized the importance of AL-FEC and have standardized Raptor codes as the most powerful FEC codes to be used for such applications.

§ The DVB AL-FEC protocol uses two layers for FEC protection. The first (base) layer is based on the 1-D interleaved parity code. The second (enhancement) layer is based on the Raptor code.

§ The major characteristics of Raptor codes are channel efficiency, low-complexity, and flexibility.

§ An important consideration when using application layer codes is system integration.

§ These codes usually operate within the transport or application layer (hence their name, AL-FEC), and sometimes within the MAC layer (e.g., in the MPE-FEC layer of DVB-H systems).

§ AL-FEC codes are a key building block of the FLUTE/ALC protocol stack integrated in the DVB-H IP Datacasting service for reliable delivery.

2.2). AL-FEC Scheme consists of two components:

§ Source block and Source Packet construction and reception.

§ Repair packet construction and reception and Raptor FEC encoding and decoding.

3). FLUTE/ALC (Asynchronous Layered Coding) in MBMS and IETF

§ This file-based operations are conducted using a File Delivery over Unidirectional Transport/Asynchronous Layered Coding (FLUTE/ALC) data carousel.

§ To deliver a file in a broadcast session, FLUTE provides mechanisms to signal and map the properties of a file to the Asynchronous Layered Coding (ALC) protocol such that receivers can assign these parameters to the received files.

§ The specification builds on Asynchronous Layered Coding (ALC), the base protocol designed for massively scalable multicast distribution.

§ ALC combines the layered coding transport (LCT) building block, a congestion control (CC) building block, and the forward error correction (FEC) building block to provide congestion-controlled reliable asynchronous delivery of content to an unlimited number of concurrent receivers from a single sender.

§ ALC uses the FEC building block to provide reliability.

§ See Protocol Study section - FLUTE and ALC

http://docs.google.com/View?id=ddh56dhg_181g4qkbnf4

+--------------------------+

| FLUTE |

| |

+-------------------------+

| ALC |

+------------------------+

| LCT | CC | FEC |

+------------------------+

3.1). Definition - ALC (Asynchronous Layered Coding)

§ Asynchronous Layered Coding is an Internet protocol of the IETF specified in RFC 3450 and described as a massively scalable reliable content delivery protocol

§ Thus, the congestion control used in conjunction with ALC should strive to maximize use of available bandwidth between receivers and the sender while at the same time backing off aggressively in the face of competing traffic.

§ The sender side of ALC consists of generating packets based on objects to be delivered within the session and sending the appropriately formatted packets at the appropriate rates to the channels associated with the session.

§ The receiver side of ALC consists of joining appropriate channels associated with the session, performing congestion control by adjusting the set of joined channels associated with the session in response to detected congestion, and using the packets to reliably reconstruct objects.

§ All information flow in an ALC session is in the form of data packets sent by a single sender to channels that multiple receivers join to receive data.

4). MBMS – Protocol Stack and FEC

§ In both delivery services the resulting UDP flows are mapped to MBMS IP multicast bearers.

http://docs.google.com/View?id=ddh56dhg_193ch3xh9c3

4.1). For Download Delivery:

§ Discrete objects such as still images, multimedia streams encapsulated in file formats, or other binary data are transported using the FLUTE protocol (RFC 3926) when delivering content over MBMS bearers.

§ To deliver a file in a broadcast session, FLUTE provides mechanisms to signal and map the properties of a file to the Asynchronous Layered Coding (ALC) protocol such that receivers can assign these parameters to the received files.

4.2). For Streaming Delivery:

§ Streaming data such as video streams, audio programs, or timed text are encapsulated in RTP and then transported over the streaming delivery network.

§ In this case, AL-FEC is applied on UDP flows, either individually or on bundles of flows.

§ The streaming framework provides significant flexibility in terms of code rates, protection periods, and so on.

§ Real-time MBMS streaming services mainly target classical mobile TV services. For these services the MBMS FEC streaming framework, including the Raptor codes, plays an important role.

§ The FEC streaming framework operates on RTP packets or, more precisely, on UDP flows, incoming on the same or different UDP ports.

§ In video streaming applications, these RTP packets generally include H.264 Network Abstraction Layer (NAL) units or audio packets.

§ The legacy RTP packets and the UDP port information are used to generate Raptor repair symbols.

5). Definition - Forward Error Correction

§ Forward Error Correction (FEC) is a system of error control for data transmission, whereby the sender addsredundant data to its messages, also known as an error-correction code.

§ This allows the receiver to detect and correct errors (within some bound) without the need to ask the sender for additional data.

§ The advantage of forward error correction is that a back-channel is not required, or that retransmission of data can often be avoided, at the cost of higher bandwidth requirements on average.

§ FEC is therefore applied in situations where retransmissions are relatively costly or impossible. In particular, FEC information is usually added to most mass storage devices to protect against damage to the stored data.

§ FEC devices are often located close to the receiver of an analog signal, in the first stage of digital processing after a signal has been received. That is, FEC circuits are often an integral part of the analog-to-digital conversion process, also involving digital modulation and demodulation, or line coding and decoding.

§ Many FEC coders can also generate a bit-error rate (BER) signal which can be used as feedback to fine-tune the analog receiving electronics.

§ Many FEC detection algorithms, such as the soft Viterbi algorithm, can take (quasi-) analog data in, and generate digital data on output.

6). The two main categories of FEC are block coding and convolutional coding.

§ Block codes work on fixed-size blocks (packets) of bits or symbols of predetermined size.

§ Convolutional codes work on bit or symbol streams of arbitrary length.

§ A Convolutional code can be turned into a block code, if desired.

§ Convolutional codes are most often decoded with the Viterbi algorithm, though other algorithms are sometimes used.

6.1). Block Code – Reed-Solomon (RS) Coding

§ There are many types of block codes, but the most notable is Reed-Solomon (RS) coding because of its widespread use on the Compact disc, the DVD, and inhard disk drives. Golay, BCH, Multidimensional parity, and Hamming codes are other examples of block codes.

6.2). Turbo Coding:

§ Turbo coding is a scheme that combines two or more relatively simple convolutional codes and an interleaver to produce a block code that can perform to within a fraction of a decibel of the Shannon limit.

§ One of the earliest commercial applications of turbo coding was the CDMA2000 1x (TIA IS-2000), which is specifically for Internet access in digital cellular technology, developed by Qualcomm and sold by Verizon Wireless, Sprint, and other carriers.

6.3). Raptor Code in AL-FEC and MBMS Download and Streaming Delivery Services:

§ The IETF is in the process of defining several AL-FEC schemes, whereby especially Raptor codes have been selected in different CDP definitions recently by commercial standards.

§ Raptor codes may be systematic or non-systematic. In the systematic case, the symbols of the original message are included within the set of encoding symbols.

§ An example of a systematic raptor code is the code defined by the 3GPP MBMS for use in mobile cellular wireless broadcast and multicast and also used by DVB-H standards for IP datacast to handheld devices.

§ Raptor codes are formed by the concatenation of two codes – outer code and inner code.

§ A fixed rate erasure code, usually with a fairly high rate, is applied as a 'pre-code' or 'outer code'. This pre-code may itself be a concatenation of multiple codes, for example in the code standardized by 3GPP a high density parity check code derived from the binary Gray sequence is concatenated with a simple regular low density parity check code.

§ The inner code takes the result of the pre-coding (outer code) operation and generates a sequence of encoding symbols. The inner code is a form of LT code.

7). Summary

§ DVB-H (MPE-FEC) - The principle of MPE-FEC in DVB-H is to add Reed–Solomon codes to each time-sliced burst.

§ Time slicing technology is employed to reduce power consumption for small handheld terminals. IP datagrams are transmitted as data bursts in small time slots. Each burst may contain up to two megabits of data (including parity bits). There are 64 parity bits for each 191 data bits, protected by Reed-Solomon codes.

§ ReedSolomon (RS) block code is used to protect the IP datagrams. The parity data (RS data) calculated from the IP datagrams of the burst is added in separate MPE-FEC sections.

§ The use of turbo codes, modified interleaving, UHF-band or S-band operation (where available), and other improvements allows DVB-H-like flexibility to be offered using terrestrial and satellite transmission system.

§ FLO - They also utilize Convolutional coding and Viterbi decoding, with the exception of FLO, which has a more modern and efficient turbo code. All formats utilize a concatenated Reed Solomon (RS) code(s).

§ Each turbo code packet contains a Cyclic Redundancy Check (CRC).

§ The RS code need not be calculated for data that is correctly received, which, under favorable signal conditions, results in additional power savings.

§ Error correction and coding techniques in FLO incorporates a turbo inner code and a Reed Solomon (RS) outer code. Each turbo code packet contains a Cyclic Redundancy Check (CRC). The RS code need not be calculated for data that is correctly received, which, under favorable signal conditions, results in additional power savings.

3GPP MBMS uses IETF stndardized protocols, including the Raptor code, for Streaming and File Download Delivery. MBMS extends the existing architecture by the introduction of an MBMS Bearer Service and MBMS User Services

§ Several standardizations such as 3GPP and DVB have recognized the importance of AL-FEC and have standardized Raptor codes as the most powerful FEC codes to be used for such applications.

§ The major characteristics of Raptor codes are channel efficiency, low-complexity, and flexibility.

§ MBMS Real-time streaming service (AL-FEC): mainly target classical mobile TV services. For these services the MBMS FEC streaming framework, including the Raptor codes, plays an important role.

§ The legacy RTP packets and the UDP port information are used to generate Raptor repair symbols.

§ MBMS Download Service (FLUTE/ALC): additional repair symbols for each source block can be generated by applying Raptor encoding.

沒有留言:

張貼留言