Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсач / материалы / es_201980v040102p.pdf
Скачиваний:
0
Добавлен:
13.05.2026
Размер:
1.25 Mб
Скачать

83

ETSI ES 201 980 V4.1.2 (2017-04)

6.6.4Choosing the packet length

A data stream for packet mode may contain one or more packets per logical frame, and the packets may belong to one or more services. However, all packets contained in the stream shall have the same length to minimize the propagation of errors. The choice of the packet length depends on various factors, but the following should be taken into account:

The overhead of signalling the header and CRC is fixed per packet. Therefore the larger the packet, the lower the ratio of overhead to useful data.

The amount of padding carried in packets is related to the size of the files compared to the packet size or the transit delay requirements for asynchronous streams. Large packets are less efficient at transporting many small objects.

6.6.5Forward Error Correction (FEC) for packet mode streams

6.6.5.0Introduction

Forward Error Correction (FEC), in the form of Reed-Solomon (RS) outer error protection and outer interleaving, can be applied to data streams in packet mode in order to further increase the error robustness of DRM data delivery.

The additional error protection is applied in such a way that receivers not equipped with FEC decoders can still recover the data packets carrying data of the data services, albeit with reduced performance. This is accomplished by creating an FEC frame comprising the unaltered packets (i.e. "data packets") plus additional RS data ("FEC packets") calculated over those data packets as illustrated in figure 12.

 

fill FEC frame

 

encapsulate

FEC

MSC

data

calculate

packets

with

RS data into

 

data

packets

RS data

 

data packets

FEC packets

 

stream

 

 

data

 

 

 

 

 

 

 

 

 

packets

 

Figure 12: Conceptual diagram of the outer coder and outer interleaver (encoder view)

The input to the functional block is a sequence of data packets from a packet multiplexer. This sequence is referred to as the Application Data Packet Set. All data packets in the Application Data Packet Set have equal packet lengths.

The output of the functional block is the Application Data Packet Set in its original packet order, followed by a number of FEC packets (the FEC Packet Set). The FEC packets contain the RS parity data calculated from the preceding Application Data Packet Set. All FEC packets have the same length as the data packets.

A Packet Set consists of the Application Data Packet Set followed by the FEC Packet Set. A new Packet Set follows immediately after the previous Packet Set.

The FEC scheme protects all data packets in the data stream irrespective of their packet Id value.

A receive terminal applies the reverse process, attempting to correct any transmission errors in the data packets by use of the FEC packets. Packet mode decoders that do not implement the FEC scheme may still recover the data packets for the selected service component by use of the appropriate packet Id and CRC checks and will ignore the FEC packets.

The presence of FEC packets within a packet mode data stream is indicated by SDC data entity type 14 (see clause 6.4.3.15).

6.6.5.1Encoding of FEC Packets

Figure 13 shows the structure of an FEC frame. This FEC frame has the dimensions of up to 180 rows by up to

255 columns. It consists of an Application Data Table of R (1 to 180) rows by C (1 to 239) columns plus an RS Data Table of R rows by 16 columns. The maximum size of the FEC frame, M = R × (C + 16), shall not exceed 3 072 bytes to limit receiver cache memory requirements.

ETSI

84

ETSI ES 201 980 V4.1.2 (2017-04)

1

2

3

... rows ...

R

 

Application Data Table

 

RS Data Table

 

 

 

 

1 2 3 4

... columns ...

C

1 2

...

15 16

 

 

 

 

 

 

 

 

size: size: C x R bytes 16 x R bytes

Figure 13: Structure of the FEC frame

The following definitions apply to the values R and C:

R: the number of rows of the FEC frame, permitted values 1 to 180. Values 0 and 181 to 255 are reserved.

C: the number of columns of the Application Data Table, permitted values 1 to 239. Values 0 and 240 to 255 are reserved.

NOTE 1: The values of R and C are signalled in SDC data entity type 14.

NOTE 2: The number of columns determines the overhead of the FEC data; the smaller the value of C the higher the overhead. The number of rows determines the interleaving depth and the block delay; the smaller the value of R the smaller the interleaver and the lower the delay before received data can be processed.

The Application Data Table shall be dimensioned to carry at least one whole packet (i.e. the packet length plus 3 bytes for packet header and CRC value).

The Application Data Table is filled with D data packets, where:

R × C

D =

 

 

 

 

L + 3

and L is the packet length provided in SDC data entity 14.

The D data packets are consecutively fed into the Application Data Table starting with the first byte of the first packet going into row 1, column 1 and moving downwards row by row, and to the right, column by column. Once all D packets have been fed in, any remaining space is filled with padding bytes of value 0x00.

The process is shown in figure 14.

 

 

 

 

Application Data Table

 

 

RS Data Table

1

2

3

4

... columns ...

C

1

2

...

15 16

1

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

...

 

 

 

fill D data packets

padding

 

 

 

 

rows...

 

 

 

 

 

 

 

 

 

 

column after column

 

 

 

 

 

 

 

 

consecutively into

 

 

 

 

 

 

 

 

 

Application Data Table

 

 

 

 

 

R

 

 

 

 

 

 

 

 

 

Figure 14: Placing data packets into FEC frame

The RS Data Table is filled by calculating the Reed-Solomon parity data from each row of data from the Application Data Table (i.e. for each Reed-Solomon codeword). The code used for this calculation is the systematic Reed-Solomon RS (255, 239, t = 8) code or a shortened version of this mother code. This code allows the correction of any 8 erroneous bytes anywhere within the codeword.

ETSI

85

ETSI ES 201 980 V4.1.2 (2017-04)

The following definitions shall apply to calculate the Reed-Solomon parity bytes:

Code Generator Polynomial: g(x) = (x+λ0)(x+λ1)(x+λ2) to (x+λ15), where λ = 0x02.

Field Generator Polynomial: p(x) = x8 + x4 + x3 + x2 + 1.

If the number of columns C of the Application Data Table is less than 239, a shortened Reed-Solomon

RS ((C + 16), C, t = 8) shall be used. This shortened Reed-Solomon code may be implemented by adding (239 - C) bytes, all set to zero, into the codeword before column 1 of the Application Data Table at the input of an

RS (255, 239, t = 8) encoder. After the RS coding procedure these null bytes shall be discarded, leading to a RS codeword length of (C+16) bytes.

The process is shown in figure 15.

1

2

3

... rows ...

 

 

 

 

Application Data Table

 

 

RS Data Table

 

 

 

 

 

 

 

1 2 3 4

... columns ...

 

 

 

 

C

 

1

2

...

15 16

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

rs

rs

...

rs rs

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

calculate RS data for each

 

 

 

 

 

 

 

 

 

Application Data Table row

 

 

 

 

R

Figure 15: Calculating Reed-Solomon parity data

Finally the Reed-Solomon parity information is encapsulated into FEC packets. The bytes from the RS Data Table are inserted into the FEC packets such that each row of bytes from the RS Data Table is spread over a maximum number of FEC packets.

The FEC packet set consists of F FEC packets, where:

F= R ×16

L

The RS data bytes of the RS Data Table are transported in the data field of a set of F consecutive FEC packets. Each byte of data in the RS Data Table is mapped into successive bytes of the FEC packet data fields, starting with the data byte in row 1, column 1 and working downwards, row by row, and to the right, column by column, until all the data has been mapped (the final byte is from row R, column 16 of the RS Data Table). When all the RS data has been mapped, any remaining bytes at the end of the data field (the FEC packet payload) of the last FEC packet shall be filled with zeros.

The procedure is shown in figure 16.

ETSI

86

ETSI ES 201 980 V4.1.2 (2017-04)

RS Data Table

 

1

2

1

a1

a2

2

b1

b2

3

c1

c2

rows ... ...

 

...

 

 

R R1 R2

...

15 16

...

a15 a16

 

b16

 

c16

 

...

...

R16

build F FEC packets from RS data in RS Data Table

(example: F = 3) FEC packet payload

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FEC

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a1

 

b1

 

c1

...

 

 

 

R1

a2

b2

...

 

 

 

 

 

 

 

packet 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FEC

 

 

 

...

 

 

 

 

R2

 

 

 

a3

 

 

b3

 

 

...

 

F

 

 

 

 

 

 

 

 

 

 

 

 

 

packet 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FEC

 

 

 

...

 

R15

 

a16

 

b16

 

...

 

R16

padding

 

 

 

 

 

 

 

 

packet 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

RS Data Table

 

 

 

 

 

1

2

...

15 16

 

1

a1

a2

...

a15

a16

 

 

 

2

b1

b2

 

 

b16

 

3

c1

c2

 

 

c16

 

rows ... ...

 

 

 

...

 

...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R R1

R2

...

 

R16

 

 

 

 

build F FEC packets from RS data in RS Data Table

(example: F = 3) FEC packet payload

 

 

 

 

 

 

 

 

 

 

 

 

FEC

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a1

 

b1

c1

...

 

R1

a2

b2

...

 

 

 

 

packet 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FEC

 

 

 

...

 

 

R2

a3

b3

 

 

...

 

F

 

 

 

 

 

 

packet 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FEC

 

 

 

...

R15

a16

b16

 

...

 

R16

padding

 

 

 

 

 

packet 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Figure 16: RS data byte order within FEC packets

The following rules apply to FEC packets:

-The first flag shall be set to 1 for the first FEC packet of the FEC Packet Set; otherwise it shall be set to 0.

-The last flag shall be set to 1 for the last FEC packet of the FEC Packet Set; otherwise it shall be set to 0.

-The packet Id shall carry the value 3.

-The Padded Packet Indicator (PPI) shall be set to 0.

-The Continuity Index (CI) shall be set to 0 for the first FEC packet of the FEC Packet Set and then increment for the remaining FEC packets of the FEC Packet Set according to the definition given in clause 6.6.1.1.

NOTE 3: Padding packets as described in clause 6.6.1.2 may be inserted into the packet stream using packet Id 3. These packets are not treated as FEC packets by the FEC encoder and decoder, but as regular data packets. They can be distinguished from FEC packets by their Padded Packet Indicator (PPI) being set to 1 and the first byte of the packet payload carrying the value 0x00.

6.6.5.2Transport of FEC packets

The set of FEC packets is transmitted immediately following the Application Data Packet Set used to form the Application Data Table. This is visualized in figure 17.

D1

D2

D3

D4

D5

D6

D7

D8

D9

D10

... input

 

 

 

 

 

 

 

 

 

 

packet stream

 

 

+RS

 

 

 

+RS

 

 

 

 

output packet D1 D2 D3 D4 F1 F2 D5 D6 D7 D8 F3 F4 D9 D10 ... stream including

FEC packets

create F FEC packets from each D data packets and insert them

with packet Id 3 at equal distance after the corresponding data packets; example: D = 4, F = 2

Figure 17: Inserting FEC packets into the packet stream

ETSI

Соседние файлы в папке материалы