EP3560104A1 - Method and device for correcting low-latency errors for retrieving data packets - Google Patents

Method and device for correcting low-latency errors for retrieving data packets

Info

Publication number
EP3560104A1
EP3560104A1 EP17832531.2A EP17832531A EP3560104A1 EP 3560104 A1 EP3560104 A1 EP 3560104A1 EP 17832531 A EP17832531 A EP 17832531A EP 3560104 A1 EP3560104 A1 EP 3560104A1
Authority
EP
European Patent Office
Prior art keywords
block
sub
repair
symbols
data block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP17832531.2A
Other languages
German (de)
French (fr)
Inventor
Tuan TRAN THAI
Christophe Burdinat
Cédric Thienot
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Expway SA
Original Assignee
Expway SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Expway SA filed Critical Expway SA
Publication of EP3560104A1 publication Critical patent/EP3560104A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3707Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
    • H03M13/3715Adaptation to the number of estimated errors or to the channel state
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/373Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with erasure correction and erasure determination, e.g. for packet loss recovery or setting of erasures for the decoding of Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/251Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with block coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • H03M13/353Adaptation to the channel
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3769Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using symbol combining, e.g. Chase combining of symbols received twice or more
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3972Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using sliding window techniques or parallel windows

Definitions

  • the present invention relates to the transmission of data in a communication channel between a transmitting device and a receiving device, and in particular, the implementation of an error correction mechanism or loss of data.
  • AL-FEC Forward Error Correction
  • 3GGP 3rd Generation Partnership Project
  • eMBMS Extended Multimedia Broadcast Services
  • RS Reed-Solomon
  • MDS maximum distance separable
  • repair symbols RS are obtained by operations performed on a Galois field GF (Galois Field) such as GF (2 m ).
  • GF Galois Field
  • the repair symbols are computed by a linear combination of the source symbols using coefficients belonging to the body GF (2 m ).
  • repair symbol calculations are performed on the GF ( 28 ) body, which limits the size n of the processed data blocks to less than 256 symbols.
  • the block AL-FEC encodings have the disadvantage of requiring to wait for the repair symbols transmitted at the end of a data block to be able to restore a lost or erroneous symbol in the data block.
  • the recovery time of a source symbol can therefore reach the reception time of a data block, if the error occurs on the first source symbol of the data block.
  • the access time to a stream of data blocks can reach the reception duration of a block if the instant of access to the stream occurs between the instants receiving start of the first and second source symbols.
  • all the source symbols of a data block have the same high level of protection, since all the repair symbols are calculated from all the source symbols of the block.
  • LDPC Low Density Parity Check
  • Block-based AL-FEC encodings are widely used because of their multiple performance advantages, particularly in terms of repair capacity, complexity and flexibility.
  • block-based ALFEC encodings have a high latency of repair. If one of the first symbols in a data block is erroneous or lost, it can not be restored until the repair symbols at the end of the block are received.
  • Convolutional encodings have also been proposed, applying a sliding window mechanism.
  • the repair symbols are computed on the fly, on the source symbols belonging to the sliding window, and sent after the source symbols of the window.
  • a repair symbol is calculated on at most W source symbols and sent all k source symbols, k ⁇ W.
  • the restoration of a lost or erroneous source symbol can therefore be performed as soon as a repair symbol is received. , before all source symbols are received.
  • this type of coding raises an access latency problem, when a terminal accesses a data stream of a broadcast transmission or point-to-multipoint transmission, after the start of the transmission. Indeed, the terminal must wait at least W source symbols before receiving the first exploitable repair symbol.
  • each loss of source symbol increases the access time to the data stream of k + 1 source symbols.
  • a drifting effect occurs when the symbol loss rate approaches the ratio of the number of repair symbols to the number of source symbols transmitted. In this case, it is not possible to restore lost or erroneous symbols.
  • Embodiments are provided for a method of transmitting data, comprising: encoding data to be transmitted as source symbols grouped into data blocks, allocating each data block a number of repair symbols, and each block of data: divide the source symbols of the data block into sub-blocks, the number of sub-blocks being equal to the number of repair symbols allocated to the data block, assigning a repair symbol to each sub-block of the data block, calculating the repair symbol of each sub-block of the data block by a linear combination of source symbols of the sub-block and the preceding sub-block source symbols in the data block, and transmit the data block in a stream of data blocks, successively transmitting each sub-block of the data block, each sub-block -block being transmitted by transmitting the source symbols of the sub-block, followed by the repair symbol of the sub-block.
  • each repair symbol of the data block is computed by a linear combination of at least a portion of the source symbols of the data block, so that each source symbol of the data block is used to compute the same number, to a close, of repair symbols of the data block.
  • each repair symbol of the data block is calculated by a linear combination of all the previously transmitted source symbols of the data block.
  • a plurality of repair symbols calculated from at least a portion of the source symbols of the last sub-block of the data block are transmitted at the end of the data block.
  • each sub-block of the data block comprises the same number, to a close, of source symbols.
  • the data block comprises as many sub-blocks as repair symbols transmitted at the end of the data block.
  • the method comprises steps of defining a format of the data block, consisting in: defining a first number of repair symbols to be transmitted at the end of the data block, determining a number of sub-blocks of the data block according to the first number and a number of repair symbols allocated to the data block, or determine the number of repair symbols allocated to the data block according to the number of sub-blocks of the data block and of the first number, calculating a minimum number of source symbols per sub-block by dividing the number of source symbols in the data block by the number of sub-blocks, the minimum number of source symbols being set equal to the largest lower integer or equal to the result obtained from the division, and calculate a difference between the number of source symbols of the data block and the product of the number of sub-blocks in the data block by the number m inimum of source symbols by sub-block, the deviation defining a number of source symbols to be added in the sub-blocks of the data block.
  • the gap defines a number of sub-blocks of the data block
  • the method comprises the steps of: receiving from a user terminal in point-to-point mode, a message signaling poor reception conditions, and transmitting to the terminal in point-to-point mode, in response to the message, at least one repair symbol for each block of data transmitted after the receipt of the message.
  • Embodiments may also relate to a method of receiving data transmitted in accordance with the previously defined transmission method, the receiving method comprising successive steps of receiving the source symbol sub-blocks of a data block, receiving each sub-block being followed by receiving a repair symbol associated with the sub-block, each repair symbol corresponding to a linear combination of the source symbols of the sub-block associated with the repair symbol.
  • the receiving method comprises the steps of: detecting a missing or erroneous source symbol in the data block, and upon receiving a first repair symbol following the missing or erroneous source symbol, calculating the missing or erroneous source symbol by solving an equation resulting from the equality between the first repair symbol and a linear combination corresponding to the first repair symbol.
  • the reception method comprises the steps of: detecting bad reception conditions of data blocks transmitted in a multicast mode,
  • Embodiments may also relate to a data transmission device configured to implement the previously defined transmission method.
  • Embodiments may also relate to a data receiving device configured to implement the reception method defined above.
  • FIG. 1 schematically represents a data transmission system
  • FIG. 2 diagrammatically represents a conventional format for transmitting data generated in a transmission device of the transmission system
  • FIG. 3 illustrates a method for calculating repair symbols of the format represented in FIG. 2,
  • FIG. 4 diagrammatically represents another conventional format for transmitting data generated in the transmission device of the transmission system
  • FIG. 5 illustrates a data transmission format and a method for calculating repair symbols of the format shown in FIG. 4,
  • FIG. 7 illustrates an exemplary data transmission format obtained using the procedure shown in FIG. 6,
  • FIG. 8 represents steps of a procedure for determining a data transmission format, according to another embodiment
  • FIGS. 9 to 14 illustrate examples of data transmission formats obtained using the procedure illustrated in FIG. 8, and examples of methods of calculating the repair symbols
  • FIGS. 15 to 23 show curves illustrating the performances obtained using the data transmission formats presented above.
  • FIG. 24 schematically represents a content broadcasting system with several mobile terminals.
  • the ENC encoding module is configured to assemble the source symbols into data blocks including repair symbols.
  • the transmission module XMT is configured to put the data of the data blocks received from the encoding module ENC into a transmission format adapted to the transmission channel CH.
  • the transmission channel CH may be a real-time channel, for example a link formed through the Internet, or a content-broadcasting link to a plurality of terminals, or a point-to-point link for transmitting voice or voice. the image.
  • the receiver device RDV comprises a reception module REC, a decoding module DEC, and a assembly module DASM for restoring the transmitted data IDT in their initial format.
  • the reception module REC converts the signals transmitted by the transmission channel CH into symbols comprising source symbols and repair symbols.
  • the decoding module DEC detects errors or the possible absence of symbols in the symbols produced by the reception module REC, and attempts to reconstruct any missing or erroneous source symbols using the repair symbols received. For example, errors can be detected using parity bits in transmitted symbols.
  • the assembly module DASM assembles the source symbols provided by the DEC decoder module to generate ODT output data corresponding to the input data IDT transmitted.
  • FIG. 2 represents a conventional format of a data block DB [k, k + r] that can be provided by the encoding module ENC.
  • each repair symbol R1 [1, k] to R1 [1, k] is represented by an arrow extending over all the source symbols from which it is calculated.
  • each of the repair symbols RI [1,49] to R9 [1,49] is calculated from the 49 source symbols of the DB data block [49,58].
  • the matrix of coefficients ⁇ ⁇ ! and parameters defining the format of the transmitted data blocks can be transmitted to the DEC decoding module.
  • FIG. 4 represents another conventional format of an SST symbol stream [k, w] that can be provided by the encoding module ENC.
  • the symbol flow comprises a succession of groups of k source symbols S [1] -S [k], S [k + 1] -S [2k], S [n-k + 1] -S [nk], each group being followed by a repair symbol R [kw, k], R [2k-w, 2k], Rl [nkw, nk], calculated on the w previous source symbols in the data stream, with w> k.
  • each repair symbol R [xw, x] is represented by an arrow extending over the w source symbols from which they are calculated.
  • the repair symbol R [7.21] is transmitted after the source symbol group SB [18.21] and is calculated from the source symbols S [7] to S [21].
  • the next repair symbol R [10,24] in the SST flow [3,15] is transmitted after the source symbol group SB [21,24] and is calculated from the source symbols S [10] to S [24 ].
  • Repair symbols R [i, j] can also be calculated by equation (1) or (2) ⁇ In the example of Figure 5, it is possible to restore a lost or erroneous source symbol upon receipt of the next repair symbol.
  • the access time to a source symbol of the stream can be infinite, if the transmission of the stream produces at least one error in each of the successive groups SB [nk-2, nk] of 3 source symbols on which are calculated the repair symbols.
  • the restoration and access latencies are reduced by dividing the bulk data stream and dividing each transmitted data block into subblocks and assigning each subblock a block. of data, a repair symbol that is transmitted immediately following the last source symbol of the sub-block. Any remaining repair symbols are transmitted after the last sub-block of the data block.
  • step S1 the number of sub-blocks NB is set equal to the number of repair symbols allocated to the data block, ie n - k.
  • step S2 the number KB of source symbols per sub-block of the data block is calculated by the following equation:
  • KB FL (k / (nk)) (3) in which the function FL (x) provides the large integer less than or equal to the number x.
  • a difference ⁇ between the number k of source symbols in the data block and the product of the numbers KB is NB is calculated.
  • the number ⁇ represents the number of remaining source symbols, not assigned to one of the sub-blocks of the data block, if all the sub-blocks of the data block comprise KB source symbols.
  • the number ⁇ is used to specify that the division of the sub-block data block comprises ⁇ sub-blocks of (KB + 1) source symbols and (NB- ⁇ ) sub-blocks of KB source symbols.
  • the ⁇ sub-blocks of (KB + 1) source symbols can be indifferently positioned at the beginning or at the end of the data block. Alternatively, ⁇ source symbols can be removed from one of the sub-blocks, for example the first or the last sub-block of the data block.
  • the PI procedure ends by providing the numbers KB, NB and ⁇ . The PI procedure therefore results in a division of each block of data into ⁇ sub-blocks of (KB + 1) source symbols and (NB - ⁇ ) sub-blocks SB of KB source symbols.
  • the latency of repair or access to the data stream in the event of loss of p source symbols (p ⁇ nk) in a data block, is less than the reception time of the p repair symbols R [i, j ] of the data block.
  • the number of source symbols lost in a data block is greater than the number (n - k) of repair symbols per data block, the data block being received is not repairable; it is therefore necessary to wait for the reception of the next data block.
  • FIG. 7 represents an exemplary format of a data block DB defined by the procedure PI and a mode of calculation of the repair symbols.
  • the data block DB comprises sub-blocks SB [1-5] (including the source symbols 1 to 5 of the DB data block), SB [6-10], SB [11-15], SB [16-20], SB [21-25], each comprising 5 source symbols, and the sub-blocks SB [26-31], SB [32-37], SB [38-43] and SB [44- 49] each comprising 6 source symbols.
  • the first repair symbol R1 [1,5], obtained by a linear combination of the source symbols S [1] to S [5] is transmitted immediately after the first sub-block SB [1-5], either following the source symbol S [5].
  • the second repair symbol R1 [l, 10] obtained by a linear combination of the source symbols S [1] to S [10] is transmitted immediately after the second sub-block SB [6- 10], and so on. .
  • the latency of repair or access to the data stream, in the event of the loss of a source symbol is less than the reception time of 5 source symbols and the repair symbol that follows.
  • Figure 8 shows steps S 10 to S 13 of a procedure P2 for determining a data block format, according to another embodiment.
  • the procedure P2 makes it possible to determine the number NB of sub-blocks SB per block of data and the number of source symbols KB per sub-block from the number k of source symbols per block of data, of the total number n of symbol by data block and a number Q of repair symbols to be assigned to the last sub-block of each data block.
  • the parameters KB and NB provided by the PI procedure are then considered as minimum values for the number KB and maximum for the number NB.
  • the number Q of repair symbols allocated to the last sub-block is set to 1.
  • step S10 the number NB of sub-blocks is calculated by subtracting the quantity Q - 1 from the number n - k of repair symbols per block of data.
  • step S11 the number KB of source symbols is calculated by dividing the number k of source symbols by data block by the number NB of sub-blocks obtained in step S10. The number KB is set equal to largest integer less than the result of k / NB division.
  • the numbers NB and KB are obtained by the following equations:
  • step S 12 the difference ⁇ between the number k of source symbols in the data block and the product of numbers KB is NB.
  • the number ⁇ is equal to k - NB x KB.
  • step S13 the procedure P2 returns the numbers KB, NB and ⁇ thus calculated.
  • the procedure P2 makes it possible to define a division of a data block of k source symbols and (nk) repair symbols, comprising for example (NB - ⁇ ) sub-blocks including KB source symbols and ⁇ sub-blocks comprising ( KB + 1) source symbols, each sub-block being followed by a repair symbol R [i, j] calculated on at least a part of the previous source symbols in the data block, for example by equation (1) or (2).
  • the parameters KB, NB and ⁇ thus calculated can be transmitted to the DEC decoding module so that it can locate the sub-blocks and the repair symbols in the transmitted data blocks.
  • the procedure P2 provides a number NB of sub-blocks NB equal to n - k (number of repair symbols in a data block), and a number KB of source symbols per sub -block equal to FL (k / (n - k)), according to the format defined by the procedure Pl.
  • the procedure P2 provides a number NB of sub-blocks equal to 9, and a number KB of source symbols per sub-block equal to 5 with a difference ⁇ equal to 4.
  • the procedure P2 provides a number NB of sub-blocks SB equal to 1, and therefore a number KB of source symbols by sub-units. block equal to the number k of source symbols in the data block. We thus find the format of Figure 3, without division of the data block into sub-blocks.
  • step S 10 is replaced by a step of calculating the number r of repair symbols per data block, or the total number n of symbols per data block.
  • the number r of repair symbols per data block is equal to the number NB of sub-blocks per data block plus the number Q1 of repair symbols to be added at the end of the data block, not counting the repair symbol. assigned to the last sub-block of the data block.
  • the procedure P2 then provides the number r of repair symbols or the total number n of symbols per data block, instead of the number NB of sub-blocks per data block. It may also be provided to set the number r of repair symbols per data block and to determine the number Q of repair symbols at the end of the data block, depending on the number r and the number NB of sub-blocks by block of data.
  • FIG. 9 represents an exemplary format of a data block DB with 49 source symbols and 9 repair symbols, obtained by the procedure P2.
  • the number Q of repair symbols at the end of the data block DB is chosen equal to 3.
  • sub-block 9 thus comprises sub-blocks SB [1, 7], SB [8, 14], SB [15, 21], SB [22, 28], SB [29, 35], SB [36,42] and SB [42,49], each sub-block being immediately followed by a repair symbol, respectively R1 [1,7], R2 [1,4], R3 [1,221], R4 [1,28], R5 [1,35], R6 [1,442] and R7 [1,449].
  • the last sub-block SB [42,49] is followed by three repair symbols R7 [1,49], R8 [1,49] and R9 [1,49], according to the parameter Q chosen equal to 3.
  • the latency repair or access to such a data block in case of loss of a source symbol is less than or equal to the reception time 7 source symbols plus a repair symbol.
  • the source symbols of the first sub-block SB [1,5], SB [1,7] are protected by all the repair symbols allocated to the data block DB.
  • the last sub-block SB [44, 49], SB [43,49] of the data block DB is protected by only one repair symbol R9 [1,49] in the example of the figure 7, and by the three repair symbols R7 [1,49], R8 [1,49] and R9 [1,490] in the example of FIG. 9. if the number of source symbols lost at the beginning of the block is greater than the number of repair symbols, it is not possible to restore the lost source symbols of the DB data block, which requires waiting for the reception of the source symbols the next block of data.
  • the data block is divided into NB sub-blocks with the NB - ⁇ first sub-blocks SB each comprising KB source symbols from (b-KB + 1) to ((b + 1 ) -KB), b varying from 0 to ( ⁇ - ⁇ -2), and the last ⁇ sub-blocks SB each comprising (KB + 1) source symbols from (b-KB + b - NB + ⁇ -1) to ((b + 1) -KB + b - NB + ⁇ ), b varying from ( ⁇ - ⁇ -1) to (NB-1).
  • the last NB-1 repair symbols can be calculated according to the source symbols from (b-KB + 1) to k, when b is less than ( ⁇ - ⁇ -1), and (b-KB + b - NB + ⁇ - 1) to k, when b is greater than ( ⁇ - ⁇ -2). As the number of source symbols from which some repair symbols are calculated is reduced, the calculation of the repair symbols and the restoration calculations of a source symbol are simplified.
  • the size and distribution of the sub-blocks in the data block DB is unchanged from the format shown in FIG. 9.
  • the repair symbols R1 to R3 are always calculated from the first source symbol S [1] of the block of DB data.
  • repair symbols R4 [8.28], R5 [15.35], R6 [22, 42] and R7 [29.49] are calculated from the 21 preceding source symbols
  • the repair symbol R8 [ 36,49] is calculated from the last 14 source symbols S [36] to S [49] of the data block DB
  • the repair symbol R9 [43,49] is calculated from the last 7 source symbols S [ 43] to S [49] of the DB data block.
  • FIG. 11 shows an exemplary format of a data block DB with 49 source symbols and 9 repair symbols, obtained by the procedure P2.
  • the number Q of repair symbols at the end of the data block DB is chosen equal to CL ((n - k) / 2), ie 5, the function CL (x) representing the smallest integer greater than or equal to the number x.
  • the choice of Q set at 5 leads to a division of the data block DB into a sub-block of 9 source symbols and 4 sub-blocks of 10 source symbols .
  • 11 comprises 4 sub-blocks SB [1,10], SB [11,20], SB [21,30], SB [31,40] comprising 10 source symbols and one sub-block -block SB [41,49] of 9 source symbols, each sub-block being immediately followed by a repair symbol R1 [1,10], R2 [1,20], R3 [1,30], R4 [1 , 40] and R5 [1,49].
  • the last sub-block SB [41, 49] is followed by five repair symbols R5 [1.49], R6 [1.49], R7 [1.49], R8 [1.49] and R9 [1, 49], according to the parameter Q chosen equal to 5.
  • FIG. 12 shows an exemplary format of a DB data block with 49 source symbols and 9 repair symbols, derived from the format of FIG. 11, and in which each source symbol is protected by five repair symbols.
  • the size and distribution of the sub-blocks in the data block DB is unchanged from the format shown in FIG. 11.
  • the repair symbols R1 to R5 are all calculated from the first source symbol S [1] of the block of DB data.
  • the other repair symbols R6 [11,49], R7 [21,49], R8 [31,49] and R9 [41,49] are respectively calculated from the source symbols S [1 1], S [21], S [31] and S [41].
  • FIG. 13 shows an exemplary format of a data block DB with 49 source symbols and 9 repair symbols, obtained by the procedure P2, when the number Q of repair symbols at the end of the data block DB is chosen. equal to 6.
  • 13 thus comprises 3 sub-blocks SB [1,12], SB [13,24] and SB [25,36] comprising 12 source symbols and an SB sub-block [37,49] of 13 source symbols, each sub-block being immediately followed by a repair symbol RI [1,12], R2 [1,24], R3 [1,36] and R4 [1,49].
  • the last sub-block SB [37,49] is followed by six repair symbols R4 [1,4,], R5 [1,49], R6 [1,49], R7 [1,49], R8 [1, 49] and R9 [1,49], according to the parameter Q chosen equal to 6.
  • FIG. 14 shows an exemplary format of a DB data block with 49 source symbols and 9 repair symbols, derived from the format of FIG. 13, and in which each source symbol is protected by six repair symbols.
  • the size and distribution of the sub-blocks in the data block DB is unchanged from the format shown in FIG. 13.
  • the repair symbols R1 to R6 are always calculated from the first source symbol S [l] of the DB data block.
  • the other repair symbols R7 [13,49], R8 [25,49] and R9 [37,49] are calculated from the source symbols S [13], S [25] and S [37], respectively.
  • Figures 15 to 18 show variation curves of the probability of lost symbol RT repair time, for different data block formats. These curves were obtained by simulating a transmission of blocks of 100 source symbols and 125 symbols in total, with a bit rate of 1 Mb / s. The transmission time was set at 100 ms. Each measurement was obtained by simulating the transmission of 10 7 source symbols, or 10 5 blocks of data. Symbol losses are obtained from a Bernouilli loss model. The repair time of a source symbol corresponds to the time between the moment when the source symbol should have been received in the absence of an error and the moment when the source symbol is restored.
  • Figure 15 shows curves C1 to C5 of variation in repair probability versus repair time, when all repair symbols are transmitted at the end of the data block ( Figure 3).
  • Curves C1 to C5 were obtained with symbol loss rates at 1, 5, 10, 15 and 20%, respectively.
  • the repair probability is 0.4 and 1, for repair times of about 50 ms and 90 ms, respectively.
  • the lost symbol repair time gradually increases as the symbol loss rate increases.
  • the repair time goes to about 820 ms and 92 ms with probabilities of 0.4 and 1, respectively.
  • the repair time increases to about 91 ms and 96 ms, with probabilities of 0.4 and 1, respectively.
  • the repair time increases to about 94 ms and 98 ms, with probabilities of 0.4 and 1, respectively.
  • the repair time increases to about 96 ms and 100 ms with probabilities of 0.4 of 1, respectively.
  • FIG. 16 shows curves Ci 1 to C 15 of variation in the probability of repair of symbols lost as a function of the repair time, when the format of the transmitted data blocks comprises as many sub-blocks as of repair symbols at the end of the block of data, and when all the sub-blocks are protected substantially by the same number of repair symbols (Figure 12).
  • Curves Ci to C15 were obtained with symbol loss rates at 1, 5, 10, 15 and 20%, respectively.
  • the lost symbol repair time is between about 3 and 7 ms, with a probability of 0.4.
  • the repair probability is 1 for a symbol repair time lost at approximately 16 ms. This repair time increases gradually as the symbol loss rate increases.
  • the symbol repair time lost reaches about 50 ms with a probability close to 1.
  • this repair time goes to about 50 ms and 96 ms with probabilities of 0.9 and 1, respectively.
  • the lost symbol repair time increases to about 74 ms and 98 ms with probabilities of 0.8 and 1, respectively.
  • the lost symbol repair time increases to approximately 84 ms and 98 ms with probabilities of 0.8 and 1, respectively.
  • the format of FIG. 12 thus displays much better performance in terms of lost symbol repair latency than the conventional format of FIG.
  • Fig. 17 shows curves C21 to C25 of variation in the probability of repairing symbols lost as a function of the repair time, when the format of the transmitted data blocks comprises two or three repair symbols at the end of the data block (Figs. 9 or 10).
  • Curves C21 to C25 were obtained with symbol loss rates of 1, 5, 10, 15 and 20%, respectively.
  • the repair time is less than about 7 ms, with a probability of 0.6.
  • the repair probability is 1 to about 10 ms.
  • the repair time increases gradually as the rate of symbol loss increases. According to curve C22, the repair time reaches about 20 ms with a probability close to 1. According to the curve C23, the repair time goes to about 46 ms with a probability of 1.
  • the repair time increases to approximately 80 ms with a probability of 1.
  • the repair time is less than 70 ms when the probability is higher than 0.95, and reaches 98 ms with a probability of 1.
  • the format of Figure 9 or 10 therefore has better performance in terms of repair latency than the format of Figure 12.
  • Fig. 18 shows curves C31 to C35 of variation in the probability of repairing symbols lost as a function of the repair time, when the format of the data blocks transmitted comprises as many sub-blocks as repair symbols (FIG. 7).
  • Curves C31 to C35 were obtained with symbol loss rates at 1, 5, 10, 15 and 20%, respectively.
  • the repair time is less than about 10 ms, with a probability of 0.8.
  • the repair probability is 1 to about 7 ms.
  • the repair time increases gradually as the rate of symbol loss increases.
  • the lost symbol repair time reaches about 20 ms with a probability close to 1.
  • this repair time goes to about 34 ms with a probability of 1.
  • this repair time goes to about 56 ms with a probability of 1.
  • this repair time is less than 30 ms when the probability is greater than 0.95, and reaches 74 ms with a probability of 1.
  • the format Figure 7 therefore shows better performance in terms of repair latency than the format of Figure 9 or 10.
  • Figures 19 to 23 show variation curves of the probability of access time to a data stream, for different data block formats. These curves were also obtained by simulating a transmission of blocks of 100 source symbols and 125 symbols in total, with a bit rate of 1 Mb / s. The transmission time was set at 100 ms. Each measurement was obtained by simulating the transmission of 10 7 source symbols, or 10 5 blocks of data. Symbol losses are obtained from a Bernouilli loss model. The access time to the data stream is calculated assuming that the access time to the flow occurs in the 50 th symbol of the second source block of transmitted data.
  • FIG. 19 represents curves C41 to C45 of variation of the probability of data flow access time, when the format of the data blocks transmitted comprises a single sub-block, all the repair symbols being transmitted at the end. from the data block ( Figure 3). Curves C41 to C45 were obtained with symbol loss rates at 1, 5, 10, 15 and 20%, respectively. Curves C41 to C45 show that the access time does not exceed about 150 ms (reached with a probability of 1). According to the curve C41, the access time is zero with a probability slightly greater than 0.6.
  • the access time reaches 50 ms with a probability of about 0.75, and reaches 150 ms with a probability greater than 0.85. From curve C42, the access time to the data stream is less than 150 ms with a probability of less than about 0.12. According to the curves C43 to C45, the access time is less than 150 ms with a probability close to 0.
  • FIG. 20 represents curves C51 to C55 of variation of the access time probability, when the format of the transmitted data blocks comprises as many sub-blocks as repair symbols grouped at the end of the data block (FIG. or 12).
  • Curves C51 to C55 were obtained with symbol loss rates at 1, 5, 10, 15 and 20%, respectively.
  • the access time is less than about 50 ms, with a probability greater than 0.75.
  • the access time is zero with a probability close to 0.6.
  • the curves C51, C52 the access time at 50 ms is reached with a probability close to 1.
  • the curve C53 the probability of 1 is reached with an access time of about 100 ms.
  • the probability of 1 is reached with an access time of about 150 ms.
  • the access time is between 50 and 150 ms with a probability greater than 0.9.
  • the access time is between 50 and 150 ms with a probability greater than 0.75.
  • the format of Figure 9 or 10 therefore has better performance in terms of access latency than the format of Figure 3.
  • Fig. 21 shows curves C61 to C65 of varying the access time probability, when the format of the transmitted data blocks comprises two or three repair symbols at the end of the data block (Figs. 9 or 10).
  • Curves C61 to C65 were obtained with symbol loss rates at 1, 5, 10, 15 and 20%, respectively.
  • the access time is less than about 50 ms, with a probability greater than 0.9.
  • the access time is zero with a probability close to 0.6.
  • the access time at 50 ms is reached with a probability close to 1.
  • the curve C64 the probability of 1 is reached with an access time of approximately 130 ms.
  • the access time increases to about 150 ms with a probability greater than 0.95.
  • the format of Figure 9 or 10 therefore has better performance in terms of access latency than the format of Figure 11 or 12.
  • FIG. 22 represents curves C71 to C75 of variation of the access time probability, when the format of the transmitted data blocks comprises as many sub-blocks as of repair symbols (FIG. 7).
  • Curves C71 to C75 were obtained with symbol loss rates at 1, 5, 10, 15 and 20%, respectively.
  • the access time is less than about 50 ms, with a probability greater than 0.95.
  • the access time is zero with a probability close to 0.6.
  • the access time at 50 ms is reached with a probability close to 1.
  • the probability of 1 is reached with an access time of about 70 ms.
  • the probability of 1 is reached with an access time of about 150 ms.
  • the access time is between 50 and 150 ms with a probability greater than 0.9.
  • the access time is between 50 and 150 ms with a probability greater than 0.8.
  • the format of Figure 7 therefore has better performance in terms of access latency than the format of Figure 9 or 10.
  • the access time JT to a data stream is limited to a value less than about 150 ms in the case where the data is organized into data blocks.
  • FIG. 23 represents curves C81 to C84 of variation of the access time probability, when the format of the data blocks transmitted is in the form of that of FIG. 5 with a window w of 50 source symbols.
  • Curves C81 to C84 were obtained with symbol loss rates at 1, 5, 10 and 15%, respectively. At symbol loss rates of 20% and above, the access time to the data stream tends to infinity.
  • the access time is zero with a probability close to 0.6, and slightly greater than 50 ms with a probability of 1.
  • the curve C82 reaches a probability close to 1, with an access time of about 80 ms. From the curve C83, a probability close to 1 is reached with an access time of about 150 ms.
  • curve C84 a probability close to 1 is reached with an access time of about 500 ms.
  • the format of Figure 5 therefore presents poorer performance in terms of access latency than the other formats studied.
  • a content server comprising or coupled to the TDV transmitter device, broadcasts multi-broadcast (multicast) content to a set of terminals such as mobile terminals, including the RDV receiver device.
  • FIG. 24 represents an example of such a CNTP content server connected to an IPN network, such as the Internet network, via an MBMS server implementing a Multimedia Broadcast Multicast Service (MBMS) or eMBMS service. (enhanced MBMS).
  • MBMS Multimedia Broadcast Multicast Service
  • eMBMS enhanced MBMS
  • the UE terminals are connected each of the UTRN mobile networks which are connected to the IPN network via MGW gateways.
  • the content provided by the CNTP server is broadcast in accordance with one of the formats described above.
  • Some of the UEs with poor reception conditions may send on a return channel a return message signaling poor reception conditions to the CNTP content server.
  • the return message may indicate a packet loss rate, a residual loss rate after exploitation of the repair symbols, characteristics relating to the quality of the received signal.
  • the CNTP content server sends to terminals that have reported poor reception conditions, on unicast channels, one or more additional repair symbols for each data block sent by the content server's TDV sending device. CNTP for a certain period.
  • the CNTP content server can transmit multi-broadcast content to several tens of thousands of UE terminals, and transmit in point-to-point mode additional repair symbols to several hundred UE terminals reporting bad reception conditions. quality.
  • the sending to the server by a terminal of a return message indicating good reception conditions may terminate the sending of additional repair symbols for this terminal.
  • this sending In addition to this sending being stopped at the end of the transmission of the broadcasted content, it may also be terminated at the end of a certain period.
  • the terminals then always have the possibility issue new return messages signaling poor reception conditions, to trigger again the sending of additional repair symbols in point-to-point broadcast mode.
  • the processing of the signaling messages of good or bad reception conditions, and the transmission of supplementary repair symbols may be performed by a server other than the CNTP content server, for example a server such as the MBMS server, ensuring the dissemination of the content to EU terminals.
  • the multicast service can be implemented by other means and other protocols than those illustrated by way of example in FIG. 24.
  • the multicast service can be implemented in a WiFi network.
  • the source symbols from which each of the repair symbols are calculated are not necessarily consecutive in the data block, and do not necessarily include the source symbol transmitted immediately before the repair symbol.

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

The invention relates to a method for transmitting data, comprising the steps of: encoding data to be transmitted in the form of source symbols (S) grouped into a data block (DB), distributing the source symbols of the data block among sub-blocks (SB), calculating for each sub-block a respective repair symbol (R1-R9) by means of a linear combination of source symbols of the sub-block, and transmitting the data block in a stream of data blocks, by successively transmitting each sub-block of the data block, each sub-block being transmitted by transmission of the source symbols of the sub-block, followed by the repair symbol of the sub-block.

Description

PROCÉDÉ ET DISPOSITIF DE CORRECTION D'ERREURS À FAIBLE LATENCE POUR RECOUVREMENT DE PAQUETS DE DONNÉES  METHOD AND DEVICE FOR CORRECTING LOW LATENCY ERRORS FOR RECOVERING DATA PACKETS
La présente invention concerne la transmission de données dans un canal de communication entre un dispositif émetteur et un dispositif récepteur, et en particulier, la mise en œuvre d'un mécanisme de correction d'erreur ou de perte de données. The present invention relates to the transmission of data in a communication channel between a transmitting device and a receiving device, and in particular, the implementation of an error correction mechanism or loss of data.
De nombreux codes de correction d'erreur ont été proposés pour assurer la fiabilité de transmissions de fichiers ou de flux de données par des canaux de transmission introduisant des pertes ou des corruptions de données.  Many error correction codes have been proposed to ensure the reliability of file or data flow transmissions by transmission channels introducing data loss or corruption.
Dans le domaine des réseaux mobiles, et en particulier dans les communications point à multipoint et en mode diffusion, la correction d'erreur directe de la couche applicative AL-FEC (Applicative Layer - Forward Error Correction) joue un rôle clé pour assurer une distribution fiable de contenus à grande échelle. AL-FEC a même été défini comme obligatoire par le projet 3GGP (3rd Génération Partnership Project) pour les services eMBMS (extended Multimedia Broadcast Services). Parmi les codes utilisés pour la correction d'erreur AL-FEC, le codage Reed-Solomon (RS) est couramment utilisé. Ce codage appartient à la catégorie des codes MDS (Maximum Distance Separable) qui permettent de reconstituer k symboles source parmi n symboles transmis incluant n-k symboles de réparation. Dans le cas d'un protocole de transmission à base de paquets de données, des fichiers, des flux de données, ou des blocs de données sont transmis sous la forme de paquets de données divisés en symboles qui peuvent être ou non de même taille. La taille d'un symbole peut s'exprimer en nombre de bits. Les symboles de réparation RS sont obtenus par des opérations réalisées sur un corps de Galois GF (Galois Field) tel que GF(2m). Ainsi, les symboles de réparation sont calculés par une combinaison linéaire des symboles source en utilisant des coefficients appartenant au corps GF(2m). Généralement, les calculs de symbole de réparation sont effectués sur le corps GF(28), ce qui limite la taille n des blocs de données traités à moins de 256 symboles. In the field of mobile networks, and in particular in point-to-multipoint and broadcast communications, the direct error correction of the application layer AL-FEC (Forward Error Correction) plays a key role in ensuring a distribution reliable large-scale content. AL-FEC has even been defined as mandatory by the 3rd Generation Partnership Project (3GGP) for Extended Multimedia Broadcast Services (eMBMS). Among the codes used for AL-FEC error correction, Reed-Solomon (RS) coding is commonly used. This coding belongs to the category of maximum distance separable (MDS) codes which make it possible to reconstitute k source symbols out of n transmitted symbols including nk repair symbols. In the case of a packet data transmission protocol, files, data streams, or data blocks are transmitted in the form of data packets divided into symbols which may or may not be of the same size. The size of a symbol can be expressed in number of bits. The repair symbols RS are obtained by operations performed on a Galois field GF (Galois Field) such as GF (2 m ). Thus, the repair symbols are computed by a linear combination of the source symbols using coefficients belonging to the body GF (2 m ). Typically, repair symbol calculations are performed on the GF ( 28 ) body, which limits the size n of the processed data blocks to less than 256 symbols.
Les codages AL-FEC par bloc présentent l'inconvénient de nécessiter d'attendre les symboles de réparation transmis à la fin d'un bloc de données pour pouvoir restaurer un symbole perdu ou erroné dans le bloc de données. Le temps de latence de restauration d'un symbole source peut donc atteindre la durée de réception d'un bloc de donnée, si l'erreur se produit sur le premier symbole source du bloc de données. De même, le temps d'accès à un flux de blocs de données peut atteindre la durée de réception d'un bloc si l'instant d'accès au flux se produit entre les instants de début de réception des premier et second symboles source. En revanche, tous les symboles source d'un bloc de donnée bénéficient d'un même niveau élevé de protection, puisque tous les symboles de réparation sont calculés à partir de tous les symboles source du bloc. The block AL-FEC encodings have the disadvantage of requiring to wait for the repair symbols transmitted at the end of a data block to be able to restore a lost or erroneous symbol in the data block. The recovery time of a source symbol can therefore reach the reception time of a data block, if the error occurs on the first source symbol of the data block. Similarly, the access time to a stream of data blocks can reach the reception duration of a block if the instant of access to the stream occurs between the instants receiving start of the first and second source symbols. On the other hand, all the source symbols of a data block have the same high level of protection, since all the repair symbols are calculated from all the source symbols of the block.
II existe d'autres codages tels que LDPC (Low Density Parity Check), There are other codings such as LDPC (Low Density Parity Check),
Raptor/RaptorQ qui supportent des tailles de bloc plus grandes. Cependant, dans les applications temps réel, les contraintes de latence limitent la taille des blocs de données. Les codages AL-FEC à base de bloc sont largement utilisés en raison de leurs multiples avantages relatifs à leurs performances notamment en termes de capacité de réparation, de complexité et de flexibilité. En revanche, les codages AL- FEC à base de bloc présentent une importante latence de réparation. Si l'un des premiers symboles d'un bloc de données est erroné ou perdu, il ne peut être restauré qu'à la réception des symboles de réparation figurant à la fin du bloc. Raptor / RaptorQ that support larger block sizes. However, in real-time applications, latency constraints limit the size of the data blocks. Block-based AL-FEC encodings are widely used because of their multiple performance advantages, particularly in terms of repair capacity, complexity and flexibility. On the other hand, block-based ALFEC encodings have a high latency of repair. If one of the first symbols in a data block is erroneous or lost, it can not be restored until the repair symbols at the end of the block are received.
On a également proposé des codages convolutifs, appliquant un mécanisme de fenêtre glissante. Selon un tel codage, les symboles de réparation sont calculés à la volée, sur les symboles source appartenant à la fenêtre glissante, et envoyés à la suite des symboles source de la fenêtre. Par exemple, un symbole de réparation est calculé sur au plus W symboles source et envoyé tous les k symboles source, k < W. La restauration d'un symbole source perdu ou erroné peut donc être effectuée dès la réception d'un symbole de réparation, avant que tous les symboles source soient reçus. En contrepartie, ce type de codage soulève un problème de latence d'accès, lorsqu'un terminal accède à un flux de données d'une transmission en mode diffusion ou point à multipoint, après le début de la transmission. En effet, le terminal doit attendre au moins W symboles source avant de recevoir le premier symbole de réparation exploitable. En outre, chaque perte de symbole source augmente le temps d'accès au flux de données de k+1 symboles source. Un effet de dérive (drifting effect) se produit lorsque le taux de perte de symboles approche le rapport du nombre de symboles de réparation sur le nombre de symboles source, transmis. Dans ce cas, il n'est pas possible de restaurer des symboles perdus ou erronés.  Convolutional encodings have also been proposed, applying a sliding window mechanism. According to such coding, the repair symbols are computed on the fly, on the source symbols belonging to the sliding window, and sent after the source symbols of the window. For example, a repair symbol is calculated on at most W source symbols and sent all k source symbols, k <W. The restoration of a lost or erroneous source symbol can therefore be performed as soon as a repair symbol is received. , before all source symbols are received. In return, this type of coding raises an access latency problem, when a terminal accesses a data stream of a broadcast transmission or point-to-multipoint transmission, after the start of the transmission. Indeed, the terminal must wait at least W source symbols before receiving the first exploitable repair symbol. In addition, each loss of source symbol increases the access time to the data stream of k + 1 source symbols. A drifting effect occurs when the symbol loss rate approaches the ratio of the number of repair symbols to the number of source symbols transmitted. In this case, it is not possible to restore lost or erroneous symbols.
Il est donc souhaitable de proposer un type de codage présentant une faible latence de restauration d'un symbole source perdu ou erroné, tout en offrant une faible latence d'accès, et un niveau de protection suffisant pour chaque symbole source.  It is therefore desirable to provide a type of coding having a low latency of restoring a lost or erroneous source symbol, while offering low access latency, and a sufficient level of protection for each source symbol.
Des modes de réalisation concernent un Procédé de transmission de données, comprenant des étapes consistant à : encoder des données à transmettre sous la forme de symboles source regroupés en blocs de données, attribuer à chaque bloc de données un nombre de symboles de réparation, et pour chaque bloc de données : répartir les symboles source du bloc de données dans des sous-blocs, le nombre de sous-blocs étant égal au nombre de symboles de réparation attribués au bloc de données, attribuer un symbole de réparation à chaque sous-bloc du bloc de données, calculer le symbole de réparation de chaque sous-bloc du bloc de données par une combinaison linéaire de symboles source du sous-bloc et des symboles sources de sous-blocs précédents dans le bloc de données, et transmettre le bloc de données dans un flux de blocs de données, en transmettant successivement chaque sous-bloc du bloc de données, chaque sous-bloc étant transmis en transmettant les symboles source du sous-bloc, suivis du symbole de réparation du sous-bloc. Embodiments are provided for a method of transmitting data, comprising: encoding data to be transmitted as source symbols grouped into data blocks, allocating each data block a number of repair symbols, and each block of data: divide the source symbols of the data block into sub-blocks, the number of sub-blocks being equal to the number of repair symbols allocated to the data block, assigning a repair symbol to each sub-block of the data block, calculating the repair symbol of each sub-block of the data block by a linear combination of source symbols of the sub-block and the preceding sub-block source symbols in the data block, and transmit the data block in a stream of data blocks, successively transmitting each sub-block of the data block, each sub-block -block being transmitted by transmitting the source symbols of the sub-block, followed by the repair symbol of the sub-block.
Selon un mode de réalisation, chaque symbole de réparation du bloc de données est calculé par une combinaison linéaire d'au moins une partie des symboles source du bloc de données, de manière à ce que chaque symbole source du bloc de données soit utilisé pour calculer un même nombre, à un près, de symboles de réparation du bloc de données.  According to one embodiment, each repair symbol of the data block is computed by a linear combination of at least a portion of the source symbols of the data block, so that each source symbol of the data block is used to compute the same number, to a close, of repair symbols of the data block.
Selon un mode de réalisation, chaque symbole de réparation du bloc de données est calculé par une combinaison linéaire de tous les symboles source transmis précédemment du bloc de données.  According to one embodiment, each repair symbol of the data block is calculated by a linear combination of all the previously transmitted source symbols of the data block.
Selon un mode de réalisation, plusieurs symboles de réparation calculés à partir d'au moins une partie des symboles source du dernier sous-bloc du bloc de données, sont transmis à la fin du bloc de données.  According to one embodiment, a plurality of repair symbols calculated from at least a portion of the source symbols of the last sub-block of the data block are transmitted at the end of the data block.
Selon un mode de réalisation, chaque sous-bloc du bloc de données comprend un même nombre, à un près, de symboles source.  According to one embodiment, each sub-block of the data block comprises the same number, to a close, of source symbols.
Selon un mode de réalisation, le bloc de données comprend autant de sous- blocs que de symboles de réparation transmis à la fin du bloc de données.  According to one embodiment, the data block comprises as many sub-blocks as repair symbols transmitted at the end of the data block.
Selon un mode de réalisation, le procédé comprend des étapes de définition d'un format du bloc de données, consistant à : définir un premier nombre de symboles de réparation à transmettre à la fin du bloc de données, déterminer un nombre de sous-blocs du bloc de données en fonction du premier nombre et d'un nombre de symboles de réparation attribués au bloc de données, ou déterminer le nombre de symboles de réparation attribués au bloc de données en fonction du nombre de sous-blocs du bloc de données et du premier nombre, calculer un nombre minimum de symboles source par sous-bloc en divisant le nombre de symboles source dans le bloc de données par le nombre de sous-blocs, le nombre minimum de symboles source étant fixé égal au plus grand nombre entier inférieur ou égal au résultat obtenu de la division, et calculer un écart entre le nombre de symboles source du bloc de données et le produit du nombre de sous-blocs dans le bloc de données par le nombre minimum de symboles source par sous-bloc, l'écart définissant un nombre de symboles source à ajouter dans les sous-blocs du bloc de données. Selon un mode de réalisation, l'écart définit un nombre de sous-blocs du bloc de données comportant un nombre de symboles source égal au nombre minimum de symboles source par sous-bloc, augmenté de un. According to one embodiment, the method comprises steps of defining a format of the data block, consisting in: defining a first number of repair symbols to be transmitted at the end of the data block, determining a number of sub-blocks of the data block according to the first number and a number of repair symbols allocated to the data block, or determine the number of repair symbols allocated to the data block according to the number of sub-blocks of the data block and of the first number, calculating a minimum number of source symbols per sub-block by dividing the number of source symbols in the data block by the number of sub-blocks, the minimum number of source symbols being set equal to the largest lower integer or equal to the result obtained from the division, and calculate a difference between the number of source symbols of the data block and the product of the number of sub-blocks in the data block by the number m inimum of source symbols by sub-block, the deviation defining a number of source symbols to be added in the sub-blocks of the data block. According to one embodiment, the gap defines a number of sub-blocks of the data block comprising a number of source symbols equal to the minimum number of source symbols per sub-block, increased by one.
Selon un mode de réalisation, le procédé comprend des étapes consistant à : recevoir d'un terminal d'utilisateur en mode point à point, un message signalant de mauvaises conditions de réception, et transmettre au terminal en mode point à point, en réponse au message, au moins un symbole de réparation pour chaque bloc de données transmis après la réception du message.  According to one embodiment, the method comprises the steps of: receiving from a user terminal in point-to-point mode, a message signaling poor reception conditions, and transmitting to the terminal in point-to-point mode, in response to the message, at least one repair symbol for each block of data transmitted after the receipt of the message.
Des modes de réalisation peuvent également concerner un procédé de réception de données transmises conformément au procédé de transmission défini précédemment, le procédé de réception comprenant des étapes successives de réception des sous-blocs de symboles source d'un bloc de données, la réception de chaque sous-bloc étant suivie de la réception d'un symbole de réparation associé au sous-bloc, chaque symbole de réparation correspondant à une combinaison linéaire des symboles source du sous-bloc associé au symbole de réparation.  Embodiments may also relate to a method of receiving data transmitted in accordance with the previously defined transmission method, the receiving method comprising successive steps of receiving the source symbol sub-blocks of a data block, receiving each sub-block being followed by receiving a repair symbol associated with the sub-block, each repair symbol corresponding to a linear combination of the source symbols of the sub-block associated with the repair symbol.
Selon un mode de réalisation, le procédé de réception comprend des étapes consistant à : détecter un symbole source manquant ou erroné dans le bloc de données, et à la réception d'un premier symbole de réparation suivant le symbole source manquant ou erroné, calculer le symbole source manquant ou erroné en résolvant une équation résultant de l'égalité entre le premier symbole de réparation et une combinaison linéaire correspondant au premier symbole de réparation.  According to one embodiment, the receiving method comprises the steps of: detecting a missing or erroneous source symbol in the data block, and upon receiving a first repair symbol following the missing or erroneous source symbol, calculating the missing or erroneous source symbol by solving an equation resulting from the equality between the first repair symbol and a linear combination corresponding to the first repair symbol.
Selon un mode de réalisation, le procédé de réception comprend des étapes consistant à : détecter de mauvaises conditions de réception de blocs de données transmis dans un mode multi diffusion,  According to one embodiment, the reception method comprises the steps of: detecting bad reception conditions of data blocks transmitted in a multicast mode,
transmettre en mode point à point, à un serveur, un message signalant de mauvaises conditions de réception, et recevoir en mode point à point, pour des blocs de données reçus dans le mode multi diffusion, des symboles de réparation supplémentaires utilisables pour calculer des symboles source manquants dans les blocs de données reçus.  transmit in a point-to-point mode, to a server, a message signaling poor reception conditions, and receive in point-to-point mode, for data blocks received in the multicast mode, additional repair symbols that can be used to calculate symbols missing sources in the received data blocks.
Des modes de réalisation peuvent également concerner un dispositif d'émission de données configuré pour mettre en œuvre le procédé de transmission défini précédemment.  Embodiments may also relate to a data transmission device configured to implement the previously defined transmission method.
Des modes de réalisation peuvent également concerner un dispositif de réception de données configuré pour mettre en œuvre le procédé de réception défini précédemment.  Embodiments may also relate to a data receiving device configured to implement the reception method defined above.
Des exemples de réalisation de l'invention seront décrits dans ce qui suit, à titre non limitatif en relation avec les figures jointes parmi lesquelles : la figure 1 représente schématiquement un système de transmission de données, Exemplary embodiments of the invention will be described in the following, by way of nonlimiting example, with reference to the appended figures among which: FIG. 1 schematically represents a data transmission system,
la figure 2 représente schématiquement un format classique de transmission de données générées dans un dispositif d'émission du système de transmission,  FIG. 2 diagrammatically represents a conventional format for transmitting data generated in a transmission device of the transmission system,
la figure 3 illustre un mode de calcul de symboles de réparation du format représenté sur la figure 2,  FIG. 3 illustrates a method for calculating repair symbols of the format represented in FIG. 2,
la figure 4 représente schématiquement un autre format classique de transmission de données générées dans le dispositif d'émission du système de transmission,  FIG. 4 diagrammatically represents another conventional format for transmitting data generated in the transmission device of the transmission system,
la figure 5 illustre un format de transmission de données et un mode de calcul de symboles de réparation du format représenté sur la figure 4,  FIG. 5 illustrates a data transmission format and a method for calculating repair symbols of the format shown in FIG. 4,
la figure 6 représente des étapes d'une procédure de détermination d'un format de transmission de données, selon un mode de réalisation,  FIG. 6 represents steps of a procedure for determining a data transmission format, according to one embodiment,
la figure 7 illustre un exemple de format de transmission de données obtenu à l'aide de la procédure représentée sur la figure 6,  FIG. 7 illustrates an exemplary data transmission format obtained using the procedure shown in FIG. 6,
la figure 8 représente des étapes d'une procédure de détermination d'un format de transmission de données, selon un autre mode de réalisation,  FIG. 8 represents steps of a procedure for determining a data transmission format, according to another embodiment,
les figures 9 à 14 illustrent des exemples de formats de transmission de données obtenus à l'aide de la procédure illustrée par la figure 8, et des exemples de modes de calcul des symboles de réparation,  FIGS. 9 to 14 illustrate examples of data transmission formats obtained using the procedure illustrated in FIG. 8, and examples of methods of calculating the repair symbols,
les figures 15 à 23 représentent des courbes illustrant les performances obtenues à l'aide des formats de transmission de données, présentés précédemment, la figure 24 représente schématiquement un système de diffusion de contenu à plusieurs terminaux mobiles.  FIGS. 15 to 23 show curves illustrating the performances obtained using the data transmission formats presented above. FIG. 24 schematically represents a content broadcasting system with several mobile terminals.
La figure 1 représente schématiquement un système de transmission de données. Un fichier ou un flux de données d'entrée IDT est fourni à un dispositif émetteur TDV configuré pour transmettre les données d'entrée IDT à un dispositif récepteur RDV par un canal de communication CH. Le dispositif récepteur est configuré pour fournir des données de sortie ODT correspondant aux données d'entrée. Le dispositif émetteur TDV comprend un générateur de symboles ISG, un module d'encodage ENC, et un module de transmission XMT. Le générateur de symboles ISG est configuré pour générer des symboles source représentant les données d'entrée IDT, sous la forme de mots binaires à M bits. Ainsi les données d'entrée peuvent être représentées sous la forme de 2M symboles source différents. La valeur du paramètre M est adaptée au système de communication. Les symboles source produits par le générateur de symboles ISG sont fournis au module d'encodage ENC pour être encodées, puis fournis au module de transmission XMT. Le module d'encodage ENC est configuré pour assembler les symboles source en blocs de données incluant des symboles de réparation. Le module de transmission XMT est configuré pour mettre les données des blocs de données reçus du module d'encodage ENC, dans un format de transmission adapté au canal de transmission CH. Le canal de transmission CH peut être un canal temps réel, par exemple une liaison formée à travers le réseau Internet, ou une liaison de diffusion de contenus à une multiplicité de terminaux, ou encore une liaison point à point pour transmettre de la voix ou de l'image. Figure 1 schematically shows a data transmission system. An IDT input data file or stream is provided to a TDV transmitter device configured to transmit the IDT input data to a RDV receiver device over a communication channel CH. The receiving device is configured to provide ODT output data corresponding to the input data. The TDV transmitter device comprises an ISG symbol generator, an ENC encoder module, and an XMT transmission module. The ISG symbol generator is configured to generate source symbols representing the IDT input data, in the form of M-bit binary words. Thus the input data can be represented as 2 M different source symbols. The value of the parameter M is adapted to the communication system. The source symbols produced by the ISG symbol generator are provided to the ENC encoding module for encoding and then supplied to the XMT transmission module. The ENC encoding module is configured to assemble the source symbols into data blocks including repair symbols. The transmission module XMT is configured to put the data of the data blocks received from the encoding module ENC into a transmission format adapted to the transmission channel CH. The transmission channel CH may be a real-time channel, for example a link formed through the Internet, or a content-broadcasting link to a plurality of terminals, or a point-to-point link for transmitting voice or voice. the image.
Le dispositif récepteur RDV comprend un module de réception REC, un module de décodage DEC, et un module d'assemblage DASM pour restaurer les données transmises IDT dans leur format initial. Le module de réception REC convertit les signaux transmis par le canal de transmission CH en symboles comprenant des symboles source et des symboles de réparation. Le module de décodage DEC détecte des erreurs ou l'absence éventuelle de symboles dans les symboles produits par le module de réception REC, et tente de reconstituer les éventuels symboles source manquant ou erronés à l'aide des symboles de réparation reçus. Les erreurs peuvent par exemple être détectées à l'aide de bits de parité figurant dans les symboles transmis. Le module d'assemblage DASM assemble les symboles source fournis par le module de décodage DEC pour générer des données de sortie ODT correspondant aux données d'entrée transmises IDT.  The receiver device RDV comprises a reception module REC, a decoding module DEC, and a assembly module DASM for restoring the transmitted data IDT in their initial format. The reception module REC converts the signals transmitted by the transmission channel CH into symbols comprising source symbols and repair symbols. The decoding module DEC detects errors or the possible absence of symbols in the symbols produced by the reception module REC, and attempts to reconstruct any missing or erroneous source symbols using the repair symbols received. For example, errors can be detected using parity bits in transmitted symbols. The assembly module DASM assembles the source symbols provided by the DEC decoder module to generate ODT output data corresponding to the input data IDT transmitted.
La figure 2 représente un format classique d'un bloc de données DB[k,k+r] susceptible d'être fourni par le module d'encodage ENC. Le bloc de données DB comprend k symboles source S[l] à S[k], suivis de r (= n-k) symboles de réparation Rl [l,k] à Rr[l,k]. La figure 3 illustre le mode de calcul des symboles de réparation Rl [l,k] à Rr[l,k] dans le cas d'un format de bloc de données à k = 49 symboles source S[l]-S[49], et r = 9 symboles de réparation. Sur la figure 3, chaque symbole de réparation Rl [l,k] à Rr[l,k] est représenté par une flèche s'étendant sur tous les symboles source à partir desquels il est calculé. Ainsi, chacun des symboles de réparation RI [1,49] à R9[l,49] est calculé à partir des 49 symboles source du bloc de données DB[49,58]. Les symboles de réparation Rp[i,j] peuvent être calculés par une combinaison linéaire respective des symboles sources, par l'équation suivante : p[i. j] =∑ ap,S[l] (1) l=i FIG. 2 represents a conventional format of a data block DB [k, k + r] that can be provided by the encoding module ENC. The data block DB comprises k source symbols S [1] to S [k], followed by r (= nk) repair symbols Rl [l, k] to Rr [l, k]. FIG. 3 illustrates the method of calculating the repair symbols R1 [1, k] to R1 [1, k] in the case of a data block format at k = 49 source symbols S [1] -S [49 ], and r = 9 repair symbols. In Fig. 3, each repair symbol R1 [1, k] to R1 [1, k] is represented by an arrow extending over all the source symbols from which it is calculated. Thus, each of the repair symbols RI [1,49] to R9 [1,49] is calculated from the 49 source symbols of the DB data block [49,58]. The repair symbols Rp [i, j] can be calculated by a respective linear combination of the source symbols, by the following equation: p [i. j] = Σ a p , S [l] (1) l = i
dans laquelle ap! représente des coefficients choisis aléatoirement dans le corpsin which has p! represents coefficients chosen randomly in the body
GF(2m), avec m = 8, par exemple, et p est compris entre 1 et (n-k). Les coefficients α,ρΐ peuvent être rassemblés dans une matrice de taille k x (n-k), les coefficients ap! des symboles source S[l] non pris en compte dans le calcul du symbole de réparation Rp étant nuls. Dans ce cas, les symboles de réparation peuvent être obtenus par l'équation suivante : Rp =∑ ap|S[l] (2) GF (2 m ), with m = 8, for example, and p is between 1 and (nk). The coefficients α, ρ ΐ can be gathered in a matrix of size kx (nk), the coefficients a p! source symbols S [l] not taken into account in the calculation of the repair symbol Rp being zero. In this case, the repair symbols can be obtained by the following equation: Rp = Σ a p | S [1] (2)
1=1  1 = 1
La matrice des coefficients αρ! et des paramètres définissant le format des blocs de données transmis peuvent être transmis au module de décodage DEC. The matrix of coefficients α ρ! and parameters defining the format of the transmitted data blocks can be transmitted to the DEC decoding module.
Dans l'exemple de la figure 3, si l'un des premiers symboles source S[i] est perdu ou erroné, il faut attendre la réception d'au moins le premier symbole de réparation RI [1,49] (si le bloc de données DB reçu ne comporte pas d'autres erreurs), pour pouvoir restaurer le symbole source perdu ou erroné. En effet, il faut disposer d'au moins un symbole de réparation pour chaque symbole source à restaurer, pour qu'une telle restauration soit possible par la résolution d'un système de x équations à x inconnues (x étant le nombre de symboles source à restaurer). Ainsi, le format de codage illustré par les figures 2 et 3 permet de restaurer au plus 9 symboles source erronés ou perdus dans un bloc de données de 49 symboles source. Par ailleurs, le temps d'accès à un flux de blocs de données B[49,58] peut avoisiner le temps de transmission de deux blocs de données si l'instant d'accès au flux implique un nombre de symboles source manqués ou erronés supérieur à r = 9 dans un premier bloc de données reçu, et si au moins une erreur est détectée dans un second bloc de données reçu.  In the example of FIG. 3, if one of the first source symbols S [i] is lost or erroneous, it is necessary to wait for the reception of at least the first repair symbol RI [1,49] (if the block received DB data has no other errors), to be able to restore the lost or erroneous source symbol. Indeed, it is necessary to have at least one repair symbol for each source symbol to restore, so that such a restoration is possible by the resolution of a system of x equations with unknown x (x being the number of source symbols to be restored). Thus, the coding format illustrated in FIGS. 2 and 3 makes it possible to restore at most 9 source symbols that are erroneous or lost in a data block of 49 source symbols. Furthermore, the access time to a stream of data blocks B [49,58] may be close to the transmission time of two data blocks if the instant of access to the stream implies a number of source symbols that are missing or erroneous. greater than r = 9 in a first received data block, and if at least one error is detected in a second received data block.
La figure 4 représente un autre format classique d'un flux de symboles SST[k,w] susceptibles d'être fournis par le module d'encodage ENC. Le flux de symboles comprend une succession de groupes de k symboles source S[l]-S[k], S[k+1]-S[2k], S[n-k+l]-S[n-k], chaque groupe étant suivi d'un symbole de réparation R[k-w,k], R[2k-w,2k], Rl [n-k-w,n-k], calculé sur les w symboles source précédents dans le flux de données, avec w > k.  FIG. 4 represents another conventional format of an SST symbol stream [k, w] that can be provided by the encoding module ENC. The symbol flow comprises a succession of groups of k source symbols S [1] -S [k], S [k + 1] -S [2k], S [n-k + 1] -S [nk], each group being followed by a repair symbol R [kw, k], R [2k-w, 2k], Rl [nkw, nk], calculated on the w previous source symbols in the data stream, with w> k.
La figure 5 illustre le mode de calcul des symboles de réparation Rl [n k- w,n-k] (avec n = 1, 2, ...), pour un flux de données SST[3,15], c'est-à-dire, lorsque les symboles de réparation sont calculés à partir des symboles source appartenant à une fenêtre glissante de w (= 15) symboles source S et où un symbole de réparation est émis après un groupe SB[n-k-2,n-k] de k (= 3) symboles source. Sur la figure 5, chaque symbole de réparation R[x-w,x] est représenté par une flèche s 'étendant sur les w symboles source à partir desquels ils sont calculés. Ainsi, le symbole de réparation R[7,21] est transmis après le groupe de symboles source SB[ 18,21] et est calculé à partir des 15 symboles source S [7] à S [21]. Le symbole de réparation R[10,24] suivant dans le flux SST[3,15] est transmis après le groupe de symboles source SB [21,24] et est calculé à partir des symboles source S[10] à S [24]. Les symboles de réparation R[i,j] peuvent également être calculés par l'équation (1) ou (2)· Dans l'exemple de la figure 5, il est possible de restaurer un symbole source perdu ou erroné à la réception du symbole de réparation suivant. La latence de restauration d'un symbole source est donc inférieure à la durée de réception de k = 3 symboles source. Le temps d'accès à un premier symbole source d'un flux SST[3,15] est au minimum égal à la durée de réception de w = 15 symboles, s'il manque un symbole source dans le premier groupe de 3 symboles source reçus. Par ailleurs, le temps d'accès à un symbole source du flux peut être infini, si la transmission du flux produit au moins une erreur dans chacun des groupes SB[n-k-2,n-k] successifs de 3 symboles source sur lesquels sont calculés les symboles de réparation. FIG. 5 illustrates the method of calculating the repair symbols R1 [nk-w, nk] (with n = 1, 2, ...), for an SST data stream [3, 15], that is, that is, when the repair symbols are calculated from the source symbols belonging to a sliding window of w (= 15) source symbols S and where a repair symbol is issued after a group SB [nk-2, nk] of k (= 3) source symbols. In FIG. 5, each repair symbol R [xw, x] is represented by an arrow extending over the w source symbols from which they are calculated. Thus, the repair symbol R [7.21] is transmitted after the source symbol group SB [18.21] and is calculated from the source symbols S [7] to S [21]. The next repair symbol R [10,24] in the SST flow [3,15] is transmitted after the source symbol group SB [21,24] and is calculated from the source symbols S [10] to S [24 ]. Repair symbols R [i, j] can also be calculated by equation (1) or (2) · In the example of Figure 5, it is possible to restore a lost or erroneous source symbol upon receipt of the next repair symbol. The restore latency of a source symbol is therefore less than the reception time of k = 3 source symbols. The access time to a first source symbol of an SST stream [3,15] is at least equal to the reception duration of w = 15 symbols, if a source symbol is missing in the first group of 3 source symbols received. Moreover, the access time to a source symbol of the stream can be infinite, if the transmission of the stream produces at least one error in each of the successive groups SB [nk-2, nk] of 3 source symbols on which are calculated the repair symbols.
Selon un mode de réalisation, les latences de restauration et d'accès sont réduites en divisant le flux de données en bloc de données et en divisant chaque bloc de données transmis en sous-blocs et en attribuant à chaque sous-bloc d'un bloc de données, un symbole de réparation qui est transmis immédiatement à la suite du dernier symbole source du sous-bloc. Les éventuels symboles de réparation restants sont transmis à la suite du dernier sous-bloc du bloc de données.  According to one embodiment, the restoration and access latencies are reduced by dividing the bulk data stream and dividing each transmitted data block into subblocks and assigning each subblock a block. of data, a repair symbol that is transmitted immediately following the last source symbol of the sub-block. Any remaining repair symbols are transmitted after the last sub-block of the data block.
La figure 6 représente des étapes SI à S4 d'une procédure PI permettant de définir un format de bloc de données, selon un mode de réalisation. En particulier, la procédure PI permet de déterminer un nombre de sous-blocs NB et un nombre de symboles source KB par sous-bloc. La procédure PI peut être mise en œuvre dans le module d'encodage ENC. La procédure PI se base sur une division d'un bloc de données en un nombre de sous-blocs égal au nombre de symboles de réparation attribué au bloc de données. La procédure PI reçoit en entrée le nombre de symboles source k présents dans le bloc de données et le nombre total n de symboles figurant dans le bloc de données, incluant des symboles de réparation. A l'étape SI, le nombre de sous-blocs NB est fixé égal au nombre de symboles de réparation attribué au bloc de données, soit n - k. A l'étape S2, le nombre KB de symboles source par sous-bloc du bloc de données est calculé, par l'équation suivante :  Fig. 6 shows steps S1-S4 of a PI procedure for defining a data block format, according to one embodiment. In particular, the PI procedure makes it possible to determine a number of NB sub-blocks and a number of KB source symbols per sub-block. The PI procedure can be implemented in the ENC encoding module. The PI procedure is based on a division of a data block into a number of sub-blocks equal to the number of repair symbols assigned to the data block. The PI procedure receives as input the number of source symbols k present in the data block and the total number n of symbols in the data block, including repair symbols. In step S1, the number of sub-blocks NB is set equal to the number of repair symbols allocated to the data block, ie n - k. In step S2, the number KB of source symbols per sub-block of the data block is calculated by the following equation:
KB = FL(k/(n-k)) (3) dans laquelle la fonction FL(x) fournit le grand nombre entier inférieur ou égal au nombre x. A l'étape S3, un écart Δ entre le nombre k de symboles source dans le bloc de données et le produit des nombres KB est NB est calculé. Le nombre Δ représente le nombre de symboles source restants, non affectés à l'un des sous-blocs du bloc de données, si tous les sous-blocs du bloc de données comprend KB symboles source. Le nombre Δ est utilisé pour spécifier que la division du bloc de données en sous- blocs comprend Δ sous-blocs de (KB + 1) symboles sources et (NB - Δ) sous-blocs de KB symboles sources. Les Δ sous-blocs de (KB + 1) symboles sources peuvent être indifféremment positionnés au début ou à la fin du bloc de données. Alternativement, Δ symboles source peuvent être retirés de l'un des sous-blocs, par exemple le premier ou le dernier sous-bloc du bloc de données. A l'étape S4, la procédure PI se termine en fournissant les nombres KB, NB et Δ. La procédure PI aboutit donc à une division de chaque bloc de données en Δ sous-blocs de (KB + 1) symboles sources et (NB -Δ) sous-blocs SB de KB symboles source. KB = FL (k / (nk)) (3) in which the function FL (x) provides the large integer less than or equal to the number x. In step S3, a difference Δ between the number k of source symbols in the data block and the product of the numbers KB is NB is calculated. The number Δ represents the number of remaining source symbols, not assigned to one of the sub-blocks of the data block, if all the sub-blocks of the data block comprise KB source symbols. The number Δ is used to specify that the division of the sub-block data block comprises Δ sub-blocks of (KB + 1) source symbols and (NB-Δ) sub-blocks of KB source symbols. The Δ sub-blocks of (KB + 1) source symbols can be indifferently positioned at the beginning or at the end of the data block. Alternatively, Δ source symbols can be removed from one of the sub-blocks, for example the first or the last sub-block of the data block. At step S4, the PI procedure ends by providing the numbers KB, NB and Δ. The PI procedure therefore results in a division of each block of data into Δ sub-blocks of (KB + 1) source symbols and (NB -Δ) sub-blocks SB of KB source symbols.
Par exemple, le bloc de données comprend NB - Δ premiers sous-blocs SB rassemblant chacun KB symboles source de (b-KB+1) à ((b+l)-KB), b variant de 0 à (ΝΒ-Δ-2), et Δ derniers sous-blocs SB rassemblant chacun (KB + 1) symboles source de (b-KB + b - NB + A - l) à ((b+l)-KB + b - NB + Δ), b variant de (ΝΒ-Δ- 1) à (NB-1).  For example, the data block comprises NB - Δ first SB sub-blocks each gathering KB source symbols from (b-KB + 1) to ((b + 1) -KB), b varying from 0 to (ΝΒ-Δ- 2), and Δ last SB sub-blocks each gathering (KB + 1) source symbols from (b-KB + b - NB + A - 1) to ((b + 1) -KB + b - NB + Δ), b varying from (ΝΒ-Δ-1) to (NB-1).
Ainsi, la latence de réparation ou d'accès au flux de données, en cas de perte de p symboles source (p < n-k) dans un bloc de données, est inférieure au temps de réception des p symboles de réparation R[i,j] suivants du bloc de données. Bien entendu, si le nombre de symboles sources perdus dans un bloc de données est supérieur au nombre (n - k) de symboles de réparation par bloc de données, le bloc de données en cours de réception n'est pas réparable ; il est donc nécessaire d'attendre la réception du bloc de données suivant.  Thus, the latency of repair or access to the data stream, in the event of loss of p source symbols (p <nk) in a data block, is less than the reception time of the p repair symbols R [i, j ] of the data block. Of course, if the number of source symbols lost in a data block is greater than the number (n - k) of repair symbols per data block, the data block being received is not repairable; it is therefore necessary to wait for the reception of the next data block.
La figure 7 représente un exemple de format d'un bloc de données DB défini par la procédure PI et un mode de calcul des symboles de réparation. Dans cet exemple, le bloc de données comprend k = 49 symboles source pour un total de n = 58 symboles, soit n - k = 9 symboles de réparation RI à R9. La procédure PI permet de définir une division du bloc de données DB en NB = 9 sous-blocs comprenant chacun KB = 5 symboles source, avec un écart de Δ = 4 symboles source à répartir dans certains des sous-blocs. Les Δ (=4) symboles source à répartir dans les sous-blocs, peuvent être ajoutés par exemple aux 4 derniers sous-blocs du bloc de données DB. Il en résulte que le bloc de données DB comprend les sous-blocs SB[1- 5] (incluant les symboles source de 1 à 5 du bloc de données DB), SB[6-10], SB[11- 15], SB[16-20], SB[21-25], comprenant chacun 5 symboles source, et les sous-blocs SB[26-31], SB[32-37], SB[38-43] et SB[44-49] comprenant chacun 6 symboles source. Le premier symbole de réparation Rl [l,5], obtenu par une combinaison linéaire des symboles source S[l] à S [5], est transmis immédiatement après le premier sous-bloc SB [1-5], soit à la suite du symbole source S [5]. Le second symbole de réparation Rl [l,10], obtenu par une combinaison linéaire des symboles source S[l] à S[10], est transmis immédiatement après le second sous-bloc SB [6- 10], et ainsi de suite.  FIG. 7 represents an exemplary format of a data block DB defined by the procedure PI and a mode of calculation of the repair symbols. In this example, the data block comprises k = 49 source symbols for a total of n = 58 symbols, ie n - k = 9 repair symbols R1 to R9. The PI procedure makes it possible to define a division of the DB data block into NB = 9 sub-blocks each comprising KB = 5 source symbols, with a difference of Δ = 4 source symbols to be distributed in some of the sub-blocks. The Δ (= 4) source symbols to be distributed in the sub-blocks can be added for example to the last 4 sub-blocks of the DB data block. As a result, the data block DB comprises sub-blocks SB [1-5] (including the source symbols 1 to 5 of the DB data block), SB [6-10], SB [11-15], SB [16-20], SB [21-25], each comprising 5 source symbols, and the sub-blocks SB [26-31], SB [32-37], SB [38-43] and SB [44- 49] each comprising 6 source symbols. The first repair symbol R1 [1,5], obtained by a linear combination of the source symbols S [1] to S [5], is transmitted immediately after the first sub-block SB [1-5], either following the source symbol S [5]. The second repair symbol R1 [l, 10], obtained by a linear combination of the source symbols S [1] to S [10], is transmitted immediately after the second sub-block SB [6- 10], and so on. .
Dans l'exemple de la figure 7, la latence de réparation ou d'accès au flux de données, en cas de perte d'un symbole source, est inférieure au temps de réception de 5 symboles source et du symbole de réparation qui suit.  In the example of FIG. 7, the latency of repair or access to the data stream, in the event of the loss of a source symbol, is less than the reception time of 5 source symbols and the repair symbol that follows.
Il est à noter que dans l'exemple de la figure 7, les symboles source S[l] à S[5] du premier sous-bloc SB[1,5] sont protégés par tous les symboles de réparation R1-R9 attribués au bloc de données DB. En revanche, les symboles source S[44] à S[49] du dernier sous-bloc SB[44,49] ne sont protégés que par le seul dernier symbole de réparation R9. Il peut donc être souhaitable d'augmenter le nombre de symboles de réparation des symboles source protégeant le dernier sous-bloc SB[44,49] du bloc de données DB. A cet effet, la figure 8 représente des étapes S 10 à S 13 d'une procédure P2 permettant de déterminer un format de bloc de données, selon un autre mode de réalisation. En particulier, la procédure P2 permet de déterminer le nombre NB de sous-blocs SB par bloc de données et le nombre de symboles source KB par sous-bloc à partir du nombre k de symboles source par bloc de données, du nombre total n de symbole par bloc de données et d'un nombre Q de symboles de réparation à attribuer au dernier sous-bloc de chaque bloc de données. Les paramètres KB et NB fournis par la procédure PI (figure 6) sont alors considérées comme des valeurs minimum pour le nombre KB et maximum pour le nombre NB. Dans la procédure PI, le nombre Q de symboles de réparation attribués au dernier sous-bloc est fixé à 1. It should be noted that in the example of FIG. 7, the source symbols S [1] to S [5] of the first sub-block SB [1,5] are protected by all the repair symbols R1-R9 assigned to the DB data block. On the other hand, the source symbols S [44] to S [49] of the last sub-block SB [44,49] are protected only by the last repair symbol R9. It may therefore be desirable to increase the number of source symbol repair symbols protecting the last SB sub-block [44,49] of the DB data block. For this purpose, Figure 8 shows steps S 10 to S 13 of a procedure P2 for determining a data block format, according to another embodiment. In particular, the procedure P2 makes it possible to determine the number NB of sub-blocks SB per block of data and the number of source symbols KB per sub-block from the number k of source symbols per block of data, of the total number n of symbol by data block and a number Q of repair symbols to be assigned to the last sub-block of each data block. The parameters KB and NB provided by the PI procedure (FIG. 6) are then considered as minimum values for the number KB and maximum for the number NB. In the PI procedure, the number Q of repair symbols allocated to the last sub-block is set to 1.
A l'étape S10, le nombre NB de sous-blocs est calculé en retranchant la quantité Q - 1 du nombre n - k de symboles de réparation par bloc de données. A l'étape SI 1 , le nombre KB de symboles source est calculé en divisant le nombre k de symboles source par bloc de données par le nombre NB de sous-blocs obtenus à l'étape S 10. Le nombre KB est fixé égal au plus grand nombre entier inférieur au résultat de la division k/NB. Ainsi, les nombres NB et KB sont obtenus par les équations suivantes :  In step S10, the number NB of sub-blocks is calculated by subtracting the quantity Q - 1 from the number n - k of repair symbols per block of data. In step S11, the number KB of source symbols is calculated by dividing the number k of source symbols by data block by the number NB of sub-blocks obtained in step S10. The number KB is set equal to largest integer less than the result of k / NB division. Thus, the numbers NB and KB are obtained by the following equations:
NB = n - k - Q + 1, KB = FL(k/NB) (4) A l'étape S 12, on calcule l'écart Δ entre le nombre k de symboles source dans le bloc de données et le produit des nombres KB est NB. Ainsi, le nombre Δ est égal à k - NB x KB. A l'étape S13, la procédure P2 retourne les nombres KB, NB et Δ ainsi calculés. Ainsi, la procédure P2 permet de définir une division d'un bloc de données de k symboles source et (n-k) symboles de réparation, comprenant par exemple (NB - Δ) sous-blocs regroupant KB symboles source et Δ sous-blocs comprenant (KB + 1) symboles source, chaque sous-bloc étant suivi d'un symbole de réparation R[i,j] calculé sur au moins une partie des symboles source précédents dans le bloc de données, par exemple par l'équation (1) ou (2). Les paramètres KB, NB et Δ ainsi calculés peuvent être transmis au module de décodage DEC, afin qu'il puisse repérer les sous-blocs et les symboles de réparation dans les blocs de données transmis.  NB = n - k - Q + 1, KB = FL (k / NB) (4) In step S 12, the difference Δ between the number k of source symbols in the data block and the product of numbers KB is NB. Thus, the number Δ is equal to k - NB x KB. In step S13, the procedure P2 returns the numbers KB, NB and Δ thus calculated. Thus, the procedure P2 makes it possible to define a division of a data block of k source symbols and (nk) repair symbols, comprising for example (NB - Δ) sub-blocks including KB source symbols and Δ sub-blocks comprising ( KB + 1) source symbols, each sub-block being followed by a repair symbol R [i, j] calculated on at least a part of the previous source symbols in the data block, for example by equation (1) or (2). The parameters KB, NB and Δ thus calculated can be transmitted to the DEC decoding module so that it can locate the sub-blocks and the repair symbols in the transmitted data blocks.
Si l'on fixe le paramètre Q à 1, la procédure P2 fournit un nombre NB de sous-blocs NB égal à n - k (nombre de symboles de réparation dans un bloc de données), et un nombre KB de symboles source par sous-bloc égal à FL(k/(n - k)), conformément au format défini par la procédure Pl . Dans l'exemple avec k = 49 et n = 58, la procédure P2 fournit un nombre NB de sous-blocs égal à 9, et un nombre KB de symboles source par sous-bloc égal à 5 avec un écart Δ égal à 4. On retrouve ainsi le format de bloc de données de la figure 7. Si l'on fixe le paramètre Q à n-k, la procédure P2 fournit un nombre NB de sous-blocs SB égal à 1 , et donc un nombre KB de symboles source par sous-bloc égal au nombre k de symboles source dans le bloc de données. On retrouve ainsi le format de la figure 3, sans division du bloc de données en sous-blocs. If the parameter Q is set to 1, the procedure P2 provides a number NB of sub-blocks NB equal to n - k (number of repair symbols in a data block), and a number KB of source symbols per sub -block equal to FL (k / (n - k)), according to the format defined by the procedure Pl. In the example with k = 49 and n = 58, the procedure P2 provides a number NB of sub-blocks equal to 9, and a number KB of source symbols per sub-block equal to 5 with a difference Δ equal to 4. We find thus the data block format of Figure 7. If we set the parameter Q to nk, the procedure P2 provides a number NB of sub-blocks SB equal to 1, and therefore a number KB of source symbols by sub-units. block equal to the number k of source symbols in the data block. We thus find the format of Figure 3, without division of the data block into sub-blocks.
Bien entendu, il peut être prévu que le nombre NB de sous-blocs dans chaque bloc de données soit fixé, et donc fourni en entrée de la procédure P2. Dans ce cas, l'étape S 10 est remplacée par une étape de calcul du nombre r de symboles de réparation par bloc de données, ou du nombre total n de symboles par bloc de données. Ainsi, le nombre r de symboles de réparation par bloc de données est égal au nombre NB de sous-blocs par bloc de données augmenté du nombre Q-l de symboles de réparation à ajouter à la fin du bloc de données, sans compter le symbole de réparation attribué au dernier sous-bloc du bloc de données. A l'étape S 13, la procédure P2 fournit alors le nombre r de symboles de réparation ou le nombre total n de symboles par bloc de données, à la place du nombre NB de sous- blocs par bloc de données. Il peut être également prévu de fixer le nombre r de symboles de réparation par bloc de données et de déterminer le nombre Q de symboles de réparation à la fin du bloc de données, en fonction du nombre r et du nombre NB de sous-blocs par bloc de données.  Of course, it may be provided that the number NB of sub-blocks in each data block is fixed, and thus provided at the input of the procedure P2. In this case, step S 10 is replaced by a step of calculating the number r of repair symbols per data block, or the total number n of symbols per data block. Thus, the number r of repair symbols per data block is equal to the number NB of sub-blocks per data block plus the number Q1 of repair symbols to be added at the end of the data block, not counting the repair symbol. assigned to the last sub-block of the data block. In step S 13, the procedure P2 then provides the number r of repair symbols or the total number n of symbols per data block, instead of the number NB of sub-blocks per data block. It may also be provided to set the number r of repair symbols per data block and to determine the number Q of repair symbols at the end of the data block, depending on the number r and the number NB of sub-blocks by block of data.
La figure 9 représente un exemple de format d'un bloc de données DB à 49 symboles source et 9 symboles de réparation, obtenu par la procédure P2. Dans cet exemple, le nombre Q de symboles de réparation figurant à la fin du bloc de données DB est choisi égal à 3. La procédure P2 permet de définir une division du bloc de données DB en NB = 7 sous-blocs comprenant chacun KB = 7 symboles source, l'écart Δ étant nul. Le bloc de données DB de la figure 9 comprend donc des sous- blocs SB[1 ,7], SB[8,14], SB[15,21], SB[22,28], SB[29,35], SB[36,42] et SB[42,49], chaque sous-bloc étant immédiatement suivi d'un symbole de réparation, respectivement Rl [l ,7], R2[l,14], R3[l,21], R4[l ,28], R5[l,35], R6[l,42] et R7[l ,49]. Le dernier sous-bloc SB[42,49] est suivi de trois symboles de réparation R7[l,49], R8[l,49] et R9[l,49], conformément au paramètre Q choisi égal à 3.  FIG. 9 represents an exemplary format of a data block DB with 49 source symbols and 9 repair symbols, obtained by the procedure P2. In this example, the number Q of repair symbols at the end of the data block DB is chosen equal to 3. The procedure P2 makes it possible to define a division of the data block DB into NB = 7 sub-blocks each comprising KB = 7 source symbols, the difference Δ being zero. The data block DB of FIG. 9 thus comprises sub-blocks SB [1, 7], SB [8, 14], SB [15, 21], SB [22, 28], SB [29, 35], SB [36,42] and SB [42,49], each sub-block being immediately followed by a repair symbol, respectively R1 [1,7], R2 [1,4], R3 [1,221], R4 [1,28], R5 [1,35], R6 [1,442] and R7 [1,449]. The last sub-block SB [42,49] is followed by three repair symbols R7 [1,49], R8 [1,49] and R9 [1,49], according to the parameter Q chosen equal to 3.
Ainsi, la latence de réparation ou d'accès à un tel bloc de données, en cas de perte d'un symbole source est inférieure ou égale à la durée de réception 7 symboles source plus un symbole de réparation.  Thus, the latency repair or access to such a data block, in case of loss of a source symbol is less than or equal to the reception time 7 source symbols plus a repair symbol.
Il est à noter dans les exemples des figures 7 et 9 que les symboles source du premier sous-bloc SB[1,5], SB[1,7] sont protégés par tous les symboles de réparation attribués au bloc de données DB. En revanche, le dernier sous-bloc SB [44 ,49], SB[43,49] du bloc de données DB n'est protégé que par un seul symbole de réparation R9[l,49] dans l'exemple de la figure 7, et par les trois symboles de réparation R7[l,49], R8[l ,49] et R9[l,49] dans l'exemple de la figure 9. Il en résulte que si le nombre de symboles source perdus en début de bloc est supérieur au nombre de symboles de réparation, il n'est pas possible de restaurer les symboles sources perdus du bloc de données DB, ce qui nécessite d'attendre la réception des symboles source du bloc de données suivant. It should be noted in the examples of FIGS. 7 and 9 that the source symbols of the first sub-block SB [1,5], SB [1,7] are protected by all the repair symbols allocated to the data block DB. On the other hand, the last sub-block SB [44, 49], SB [43,49] of the data block DB is protected by only one repair symbol R9 [1,49] in the example of the figure 7, and by the three repair symbols R7 [1,49], R8 [1,49] and R9 [1,490] in the example of FIG. 9. if the number of source symbols lost at the beginning of the block is greater than the number of repair symbols, it is not possible to restore the lost source symbols of the DB data block, which requires waiting for the reception of the source symbols the next block of data.
II peut être souhaitable d'uniformiser le nombre de symboles de réparation protégeant chaque symbole source, dans le bloc de données. A cet effet, considérons par exemple le cas où le bloc de données est divisé en NB sous-blocs avec les NB - Δ premiers sous-blocs SB comprenant chacun KB symboles source de (b-KB+1) à ((b+l)-KB), b variant de 0 à (ΝΒ-Δ-2), et les Δ derniers sous-blocs SB comprenant chacun (KB+1) symboles source de (b-KB + b - NB + Δ - 1) à ((b+l)-KB + b - NB + Δ), b variant de (ΝΒ-Δ-l) à (NB-1). Les NB-1 derniers symboles de réparation peuvent être calculés en fonction des symboles source de (b-KB+1) à k, lorsque b est inférieur à (ΝΒ-Δ-l), et de (b-KB + b - NB + Δ - 1) à k, lorsque b est supérieur à (ΝΒ-Δ-2). Comme on diminue le nombre de symboles sources à partir duquel certains symboles de réparation sont calculés, on simplifie le calcul des symboles de réparation, ainsi que les calculs de restauration d'un symbole source.  It may be desirable to standardize the number of repair symbols protecting each source symbol in the data block. For this purpose, consider for example the case where the data block is divided into NB sub-blocks with the NB - Δ first sub-blocks SB each comprising KB source symbols from (b-KB + 1) to ((b + 1 ) -KB), b varying from 0 to (ΝΒ-Δ-2), and the last Δ sub-blocks SB each comprising (KB + 1) source symbols from (b-KB + b - NB + Δ-1) to ((b + 1) -KB + b - NB + Δ), b varying from (ΝΒ-Δ-1) to (NB-1). The last NB-1 repair symbols can be calculated according to the source symbols from (b-KB + 1) to k, when b is less than (ΝΒ-Δ-1), and (b-KB + b - NB + Δ - 1) to k, when b is greater than (ΝΒ-Δ-2). As the number of source symbols from which some repair symbols are calculated is reduced, the calculation of the repair symbols and the restoration calculations of a source symbol are simplified.
Ainsi, la figure 10 représente un exemple de format d'un bloc de données DB à 49 symboles source et 9 symboles de réparation, dérivé du format de la figure 9, et dans lequel chaque symbole source est protégé par Q (= 3) symboles de réparation. La taille et la répartition des sous-blocs dans le bloc de données DB est inchangée par rapport au format présenté sur la figure 9. Les symboles de réparation RI à R3 sont toujours calculés à partir du premier symbole source S[l] du bloc de données DB. En revanche, les symboles de réparation R4[8,28], R5[15,35], R6[22, 42] et R7[29,49] sont calculés à partir des 21 symboles source précédents, le symbole de réparation R8[36,49] est calculé à partir des 14 derniers symboles source S[36] à S[49] du bloc de données DB, et le symbole de réparation R9[43,49] est calculé à partir des 7 derniers symboles source S[43] à S[49] du bloc de données DB.  Thus, FIG. 10 shows an exemplary format of a data block DB with 49 source symbols and 9 repair symbols, derived from the format of FIG. 9, and in which each source symbol is protected by Q (= 3) symbols. of repair. The size and distribution of the sub-blocks in the data block DB is unchanged from the format shown in FIG. 9. The repair symbols R1 to R3 are always calculated from the first source symbol S [1] of the block of DB data. On the other hand, the repair symbols R4 [8.28], R5 [15.35], R6 [22, 42] and R7 [29.49] are calculated from the 21 preceding source symbols, the repair symbol R8 [ 36,49] is calculated from the last 14 source symbols S [36] to S [49] of the data block DB, and the repair symbol R9 [43,49] is calculated from the last 7 source symbols S [ 43] to S [49] of the DB data block.
Dans l'exemple de la figure 10, si plus de trois symboles source sont perdus dans le premier sous-bloc SB[1,7] du bloc de données DB, il n'est pas possible de restaurer les symboles source perdus. En revanche, il est possible de restaurer un symbole source perdu dans les trois sous-blocs suivants SB[8,14], SB[15,21], SB[22,28] dès la réception du symbole de réparation R4[8,28] qui ne nécessite pas la connaissance des symboles du premier sous-bloc considéré alors comme perdu.  In the example of FIG. 10, if more than three source symbols are lost in the first sub-block SB [1,7] of the DB data block, it is not possible to restore the lost source symbols. On the other hand, it is possible to restore a source symbol lost in the following three sub-blocks SB [8,14], SB [15,21], SB [22,28] as soon as the repair symbol R4 [8, 28] which does not require the knowledge of the symbols of the first sub-block then considered as lost.
La figure 11 représente un exemple de format d'un bloc de données DB à 49 symboles source et 9 symboles de réparation, obtenu par la procédure P2. Dans cet exemple, le nombre Q de symboles de réparation figurant à la fin du bloc de données DB est choisi égal à CL((n - k)/2), soit 5, la fonction CL(x) représentant le plus petit nombre entier supérieur ou égal au nombre x. La procédure P2 permet de définir une division du bloc de données DB en NB = 5 sous-blocs comprenant chacun KB = 9 symboles source, l'écart Δ étant égal à 4. Il en résulte que le choix de Q fixé à 5 conduit à une division du bloc de données DB en un sous-bloc de 9 symboles source et 4 sous-blocs de 10 symboles source. Ainsi, le bloc de données DB de la figure 11 comprend 4 sous-blocs SB[1,10], SB[11,20], SB[21,30], SB[31,40] comprenant 10 symboles source et un sous-bloc SB[41,49] de 9 symboles source, chaque sous-bloc étant immédiatement suivi d'un symbole de réparation Rl [l,10], R2[l,20], R3[l,30], R4[l,40] et R5[l,49]. Le dernier sous-bloc SB [41 ,49] est suivi de cinq symboles de réparation R5[l,49], R6[l,49], R7[l,49], R8[l,49] et R9[l,49], conformément au paramètre Q choisi égal à 5. FIG. 11 shows an exemplary format of a data block DB with 49 source symbols and 9 repair symbols, obtained by the procedure P2. In this example, the number Q of repair symbols at the end of the data block DB is chosen equal to CL ((n - k) / 2), ie 5, the function CL (x) representing the smallest integer greater than or equal to the number x. The procedure P2 makes it possible to define a division of the data block DB into NB = 5 sub-blocks each comprising KB = 9 source symbols, the difference Δ being equal to 4. As a result, the choice of Q set at 5 leads to a division of the data block DB into a sub-block of 9 source symbols and 4 sub-blocks of 10 source symbols . Thus, the data block DB of FIG. 11 comprises 4 sub-blocks SB [1,10], SB [11,20], SB [21,30], SB [31,40] comprising 10 source symbols and one sub-block -block SB [41,49] of 9 source symbols, each sub-block being immediately followed by a repair symbol R1 [1,10], R2 [1,20], R3 [1,30], R4 [1 , 40] and R5 [1,49]. The last sub-block SB [41, 49] is followed by five repair symbols R5 [1.49], R6 [1.49], R7 [1.49], R8 [1.49] and R9 [1, 49], according to the parameter Q chosen equal to 5.
Comme précédemment, il est possible dans ce format d'uniformiser le nombre de symboles de réparation par symbole source. Ainsi, la figure 12 représente un exemple de format d'un bloc de données DB à 49 symboles source et 9 symboles de réparation, dérivé du format de la figure 11 , et dans lequel chaque symbole source est protégé par cinq symboles de réparation. La taille et la répartition des sous-blocs dans le bloc de données DB est inchangée par rapport au format présenté sur la figure 11. Les symboles de réparation RI à R5 sont tous calculés à partir du premier symbole source S[l] du bloc de données DB. En revanche, les autres symboles de réparation R6[l l,49], R7[21,49], R8[31, 49] et R9[41,49] sont calculés respectivement à partir des symboles source S[l 1], S[21], S [31] et S [41].  As before, it is possible in this format to standardize the number of repair symbols per source symbol. Thus, FIG. 12 shows an exemplary format of a DB data block with 49 source symbols and 9 repair symbols, derived from the format of FIG. 11, and in which each source symbol is protected by five repair symbols. The size and distribution of the sub-blocks in the data block DB is unchanged from the format shown in FIG. 11. The repair symbols R1 to R5 are all calculated from the first source symbol S [1] of the block of DB data. On the other hand, the other repair symbols R6 [11,49], R7 [21,49], R8 [31,49] and R9 [41,49] are respectively calculated from the source symbols S [1 1], S [21], S [31] and S [41].
La figure 13 représente un exemple de format d'un bloc de données DB à 49 symboles source et 9 symboles de réparation, obtenu par la procédure P2, lorsque le nombre Q de symboles de réparation figurant à la fin du bloc de données DB est choisi égal à 6. La procédure P2 permet de définir une division du bloc de données DB en NB = 4 sous-blocs comprenant chacun KB = 12 symboles source, le nombre Δ étant égal à 1. Cette répartition implique donc d'ajouter un symbole source dans l'un des sous-blocs, par exemple le dernier sous-bloc. Le bloc de données DB de la figure 13 comprend donc 3 sous-blocs SB[1,12], SB[13,24] et SB[25,36] comprenant 12 symboles source et un sous-bloc SB[37,49] de 13 symboles source, chaque sous- bloc étant immédiatement suivi d'un symbole de réparation RI [1,12], R2[l,24], R3[l,36] et R4[l,49]. Le dernier sous-bloc SB[37,49] est suivi de six symboles de réparation R4[l ,49], R5[l,49], R6[l,49], R7[l,49], R8[l,49] et R9[l,49], conformément au paramètre Q choisi égal à 6.  FIG. 13 shows an exemplary format of a data block DB with 49 source symbols and 9 repair symbols, obtained by the procedure P2, when the number Q of repair symbols at the end of the data block DB is chosen. equal to 6. The procedure P2 makes it possible to define a division of the data block DB into NB = 4 sub-blocks each comprising KB = 12 source symbols, the number Δ being equal to 1. This distribution therefore implies adding a source symbol in one of the sub-blocks, for example the last sub-block. The data block DB of FIG. 13 thus comprises 3 sub-blocks SB [1,12], SB [13,24] and SB [25,36] comprising 12 source symbols and an SB sub-block [37,49] of 13 source symbols, each sub-block being immediately followed by a repair symbol RI [1,12], R2 [1,24], R3 [1,36] and R4 [1,49]. The last sub-block SB [37,49] is followed by six repair symbols R4 [1,4,], R5 [1,49], R6 [1,49], R7 [1,49], R8 [1, 49] and R9 [1,49], according to the parameter Q chosen equal to 6.
Comme précédemment, il est possible dans ce format d'uniformiser le nombre de symboles de réparation par symbole source. Ainsi, la figure 14 représente un exemple de format d'un bloc de données DB à 49 symboles source et 9 symboles de réparation, dérivé du format de la figure 13, et dans lequel chaque symbole source est protégé par six symboles de réparation. La taille et la répartition des sous-blocs dans le bloc de données DB est inchangée par rapport au format présenté sur la figure 13. Les symboles de réparation RI à R6 sont toujours calculés à partir du premier symbole source S[l] du bloc de données DB. En revanche, les autres symboles de réparation R7[13,49], R8 [25,49] et R9[37,49] sont calculés à partir des symboles source S[13], S[25] et S[37], respectivement. As before, it is possible in this format to standardize the number of repair symbols per source symbol. Thus, FIG. 14 shows an exemplary format of a DB data block with 49 source symbols and 9 repair symbols, derived from the format of FIG. 13, and in which each source symbol is protected by six repair symbols. The size and distribution of the sub-blocks in the data block DB is unchanged from the format shown in FIG. 13. The repair symbols R1 to R6 are always calculated from the first source symbol S [l] of the DB data block. On the other hand, the other repair symbols R7 [13,49], R8 [25,49] and R9 [37,49] are calculated from the source symbols S [13], S [25] and S [37], respectively.
Les figures 15 à 18 représentent des courbes de variation de la probabilité de temps de réparation RT de symboles perdus, pour différents formats de bloc de données. Ces courbes ont été obtenues en simulant une transmission de blocs de 100 symboles source et 125 symboles au total, avec un débit de 1 Mb/s. Le temps de transmission a été fixé à 100 ms. Chaque mesure a été obtenue en simulant la transmission de 107 symboles sources, soit 105 blocs de données. Les pertes de symboles sont obtenues à partir d'un modèle de perte de Bernouilli. Le temps de réparation d'un symbole source correspond au temps entre l'instant où le symbole source aurait dû être reçu en l'absence d'erreur et l'instant où le symbole source est restauré. Figures 15 to 18 show variation curves of the probability of lost symbol RT repair time, for different data block formats. These curves were obtained by simulating a transmission of blocks of 100 source symbols and 125 symbols in total, with a bit rate of 1 Mb / s. The transmission time was set at 100 ms. Each measurement was obtained by simulating the transmission of 10 7 source symbols, or 10 5 blocks of data. Symbol losses are obtained from a Bernouilli loss model. The repair time of a source symbol corresponds to the time between the moment when the source symbol should have been received in the absence of an error and the moment when the source symbol is restored.
La figure 15 représente des courbes Cl à C5 de variation de la probabilité de réparation en fonction du temps de réparation, lorsque tous les symboles de réparation sont transmis à la fin du bloc de données (figure 3). Les courbes Cl à C5 ont été obtenues avec des taux de perte de symbole à 1, 5, 10, 15 et 20%, respectivement. D'après la courbe Cl, la probabilité de réparation atteint 0,4 et 1, pour des temps de réparation d'environ 50 ms et 90 ms, respectivement. Le temps de réparation des symboles perdus augmente progressivement lorsque le taux de perte de symbole augmente. Ainsi, d'après la courbe C2, le temps de réparation passe à environ 820 ms et 92 ms avec des probabilités de 0,4 et 1, respectivement. D'après la courbe C3, le temps de réparation passe à environ 91 ms et 96 ms, avec des probabilités de 0,4 et 1, respectivement. D'après la courbe C4, le temps de réparation passe à environ 94 ms et 98 ms, avec des probabilités de 0,4 et de 1, respectivement. D'après la courbe C5, le temps de réparation passe à environ 96 ms et 100 ms avec des probabilités de 0,4 de 1, respectivement.  Figure 15 shows curves C1 to C5 of variation in repair probability versus repair time, when all repair symbols are transmitted at the end of the data block (Figure 3). Curves C1 to C5 were obtained with symbol loss rates at 1, 5, 10, 15 and 20%, respectively. From the Cl curve, the repair probability is 0.4 and 1, for repair times of about 50 ms and 90 ms, respectively. The lost symbol repair time gradually increases as the symbol loss rate increases. Thus, according to curve C2, the repair time goes to about 820 ms and 92 ms with probabilities of 0.4 and 1, respectively. From curve C3, the repair time increases to about 91 ms and 96 ms, with probabilities of 0.4 and 1, respectively. From curve C4, the repair time increases to about 94 ms and 98 ms, with probabilities of 0.4 and 1, respectively. From curve C5, the repair time increases to about 96 ms and 100 ms with probabilities of 0.4 of 1, respectively.
La figure 16 représente des courbes Ci l à C15 de variation de la probabilité de réparation de symboles perdus en fonction du temps de réparation, lorsque le format des blocs de données transmis comprend autant de sous-blocs que de symboles de réparation à la fin du bloc de données, et lorsque tous les sous-blocs sont protégés sensiblement par un même nombre de symboles de réparation (figure 12). Les courbes Ci l à C15 ont été obtenues avec des taux de perte de symbole à 1 , 5, 10, 15 et 20%, respectivement. D'après les courbes Ci l à C15, le temps de réparation des symboles perdus se situe entre environ 3 et 7 ms, avec une probabilité de 0,4. D'après la courbe Ci l, la probabilité de réparation atteint 1 pour un temps de réparation de symboles perdus à environ 16 ms. Ce temps de réparation augmente progressivement lorsque le taux de perte de symbole augmente. Ainsi, d'après la courbe C12, le temps de réparation de symboles perdus atteint environ 50 ms avec une probabilité voisine de 1. D'après la courbe Cl 3, ce temps de réparation passe à environ 50 ms et 96 ms avec des probabilités de 0,9 et de 1, respectivement. D'après la courbe C14, le temps de réparation de symboles perdus passe à environ 74 ms et 98 ms avec des probabilités de 0,8 et de 1, respectivement. D'après la courbe C15, le temps de réparation de symboles perdus passe à environ 84 ms et 98 ms avec des probabilités de 0,8 et de 1, respectivement. Le format de la figure 12 affiche donc de bien meilleures performances en termes de latence de réparation de symboles perdus que le format classique de la figure 3. FIG. 16 shows curves Ci 1 to C 15 of variation in the probability of repair of symbols lost as a function of the repair time, when the format of the transmitted data blocks comprises as many sub-blocks as of repair symbols at the end of the block of data, and when all the sub-blocks are protected substantially by the same number of repair symbols (Figure 12). Curves Ci to C15 were obtained with symbol loss rates at 1, 5, 10, 15 and 20%, respectively. From the curves Ci l to C15, the lost symbol repair time is between about 3 and 7 ms, with a probability of 0.4. From the Ci 1 curve, the repair probability is 1 for a symbol repair time lost at approximately 16 ms. This repair time increases gradually as the symbol loss rate increases. Thus, according to the curve C12, the symbol repair time lost reaches about 50 ms with a probability close to 1. According to the curve Cl 3, this repair time goes to about 50 ms and 96 ms with probabilities of 0.9 and 1, respectively. From curve C14, the lost symbol repair time increases to about 74 ms and 98 ms with probabilities of 0.8 and 1, respectively. From curve C15, the lost symbol repair time increases to approximately 84 ms and 98 ms with probabilities of 0.8 and 1, respectively. The format of FIG. 12 thus displays much better performance in terms of lost symbol repair latency than the conventional format of FIG.
La figure 17 représente des courbes C21 à C25 de variation de la probabilité de réparation de symboles perdus en fonction du temps de réparation, lorsque le format des blocs de données transmis comprend deux ou trois symboles de réparation à la fin du bloc de données (figures 9 ou 10). Les courbes C21 à C25 ont été obtenues avec des taux de perte de symbole, respectivement à 1, 5, 10, 15 et 20%. D'après les courbes C21 à C25, le temps de réparation est inférieur à environ 7 ms, avec une probabilité de 0,6. D'après la courbe C21, la probabilité de réparation atteint 1 à environ 10 ms. Le temps de réparation augmente progressivement lorsque le taux de perte de symbole augmente. D'après la courbe C22, le temps de réparation atteint environ 20 ms avec une probabilité voisine de 1. D'après la courbe C23, le temps de réparation passe à environ 46 ms avec une probabilité de 1. D'après la courbe C24, le temps de réparation passe à environ 80 ms avec une probabilité de 1. D'après la courbe C25, le temps de réparation est inférieur à 70 ms lorsque la probabilité est supérieure à 0,95, et atteint 98 ms avec une probabilité de 1. Le format de la figure 9 ou 10 présente donc de meilleures performances en termes de latence de réparation que le format de la figure 12.  Fig. 17 shows curves C21 to C25 of variation in the probability of repairing symbols lost as a function of the repair time, when the format of the transmitted data blocks comprises two or three repair symbols at the end of the data block (Figs. 9 or 10). Curves C21 to C25 were obtained with symbol loss rates of 1, 5, 10, 15 and 20%, respectively. From curves C21 to C25, the repair time is less than about 7 ms, with a probability of 0.6. From curve C21, the repair probability is 1 to about 10 ms. The repair time increases gradually as the rate of symbol loss increases. According to curve C22, the repair time reaches about 20 ms with a probability close to 1. According to the curve C23, the repair time goes to about 46 ms with a probability of 1. According to curve C24 , the repair time increases to approximately 80 ms with a probability of 1. According to curve C25, the repair time is less than 70 ms when the probability is higher than 0.95, and reaches 98 ms with a probability of 1. The format of Figure 9 or 10 therefore has better performance in terms of repair latency than the format of Figure 12.
La figure 18 représente des courbes C31 à C35 de variation de la probabilité de réparation de symboles perdus en fonction du temps de réparation, lorsque le format des blocs de données transmis comprend autant de sous-blocs que de symboles de réparation (figure 7). Les courbes C31 à C35 ont été obtenues avec des taux de perte de symbole, à 1 , 5, 10, 15 et 20%, respectivement. D'après les courbes C31 à C35, le temps de réparation est inférieur à environ 10 ms, avec une probabilité de 0,8. D'après la courbe C31, la probabilité de réparation atteint 1 à environ 7 ms. Le temps de réparation augmente progressivement lorsque le taux de perte de symbole augmente. D'après la courbe C32, le temps de réparation de symboles perdus atteint environ 20 ms avec une probabilité voisine de 1. D'après la courbe C33, ce temps de réparation passe à environ 34 ms avec une probabilité de 1. D'après la courbe C34, ce temps de réparation passe à environ 56 ms avec une probabilité de 1. D'après la courbe C35, ce temps de réparation est inférieur à 30 ms lorsque la probabilité est supérieure à 0,95, et atteint 74 ms avec une probabilité de 1. Le format de la figure 7 présente donc de meilleures performances en termes de latence de réparation que le format de la figure 9 ou 10. Fig. 18 shows curves C31 to C35 of variation in the probability of repairing symbols lost as a function of the repair time, when the format of the data blocks transmitted comprises as many sub-blocks as repair symbols (FIG. 7). Curves C31 to C35 were obtained with symbol loss rates at 1, 5, 10, 15 and 20%, respectively. From curves C31 to C35, the repair time is less than about 10 ms, with a probability of 0.8. From curve C31, the repair probability is 1 to about 7 ms. The repair time increases gradually as the rate of symbol loss increases. According to the curve C32, the lost symbol repair time reaches about 20 ms with a probability close to 1. According to the curve C33, this repair time goes to about 34 ms with a probability of 1. the curve C34, this repair time goes to about 56 ms with a probability of 1. According to the curve C35, this repair time is less than 30 ms when the probability is greater than 0.95, and reaches 74 ms with a probability of 1. The format Figure 7 therefore shows better performance in terms of repair latency than the format of Figure 9 or 10.
Les figures 19 à 23 représentent des courbes de variation de la probabilité de temps d'accès à un flux de données, pour différents formats de bloc de données. Ces courbes ont également été obtenues en simulant une transmission de blocs de 100 symboles source et 125 symboles au total, avec un débit de 1 Mb/s. Le temps de transmission a été fixé à 100 ms. Chaque mesure a été obtenue en simulant la transmission de 107 symboles sources, soit 105 blocs de données. Les pertes de symboles sont obtenues à partir d'un modèle de perte de Bernouilli. Le temps d'accès au flux de données est calculé en considérant que l'instant d'accès au flux se produit au 50ieme symbole source du second bloc de données transmis. En l'absence de perte de symbole entre l'instant d'accès au flux de données et l'instant de réception du dernier symbole du premier bloc de données reçu, ou de la fenêtre glissante, le temps d'accès au flux est fixé à 0 ms. La figure 19 représente des courbes C41 à C45 de variation de la probabilité de de temps d'accès au flux de données, lorsque le format des blocs de données transmis comprend un seul sous- bloc, tous les symboles de réparation étant transmis à la fin du bloc de données (figure 3). Les courbes C41 à C45 ont été obtenues avec des taux de perte de symbole à 1, 5, 10, 15 et 20%, respectivement. Les courbes C41 à C45 montrent que le temps d'accès ne dépasse pas 150 ms environ (atteint avec une probabilité de 1). D'après la courbe C41, le temps d'accès est nul avec une probabilité légèrement supérieure à 0,6. Le temps d'accès atteint 50 ms avec une probabilité d'environ 0,75, et atteint 150 ms avec une probabilité supérieure à 0,85. D'après la courbe C42, le temps d'accès au flux de données est inférieur à 150 ms avec une probabilité inférieure à 0,12 environ. D'après les courbes C43 à C45, le temps d'accès est inférieur à 150 ms avec une probabilité voisine de 0. Figures 19 to 23 show variation curves of the probability of access time to a data stream, for different data block formats. These curves were also obtained by simulating a transmission of blocks of 100 source symbols and 125 symbols in total, with a bit rate of 1 Mb / s. The transmission time was set at 100 ms. Each measurement was obtained by simulating the transmission of 10 7 source symbols, or 10 5 blocks of data. Symbol losses are obtained from a Bernouilli loss model. The access time to the data stream is calculated assuming that the access time to the flow occurs in the 50 th symbol of the second source block of transmitted data. In the absence of a symbol loss between the instant of access to the data stream and the moment of reception of the last symbol of the first data block received, or of the sliding window, the access time to the stream is fixed. at 0 ms. FIG. 19 represents curves C41 to C45 of variation of the probability of data flow access time, when the format of the data blocks transmitted comprises a single sub-block, all the repair symbols being transmitted at the end. from the data block (Figure 3). Curves C41 to C45 were obtained with symbol loss rates at 1, 5, 10, 15 and 20%, respectively. Curves C41 to C45 show that the access time does not exceed about 150 ms (reached with a probability of 1). According to the curve C41, the access time is zero with a probability slightly greater than 0.6. The access time reaches 50 ms with a probability of about 0.75, and reaches 150 ms with a probability greater than 0.85. From curve C42, the access time to the data stream is less than 150 ms with a probability of less than about 0.12. According to the curves C43 to C45, the access time is less than 150 ms with a probability close to 0.
La figure 20 représente des courbes C51 à C55 de variation de la probabilité de temps d'accès, lorsque le format des blocs de données transmis comprend autant de sous-blocs que de symboles de réparation regroupés en fin du bloc de données (figure 1 1 ou 12). Les courbes C51 à C55 ont été obtenues avec des taux de perte de symbole à 1, 5, 10, 15 et 20%, respectivement. D'après les courbes C51 à C55, le temps d'accès est inférieur à environ 50 ms, avec une probabilité supérieure à 0,75. D'après la courbe C51, le temps d'accès est nul avec une probabilité voisine de 0,6. D'après les courbes C51, C52, le temps d'accès à 50 ms est atteint avec une probabilité voisine de 1. D'après la courbe C53, la probabilité de 1 est atteinte avec un temps d'accès à environ 100 ms. D'après les courbes C54 et C55, la probabilité de 1 est atteinte avec un temps d'accès à environ 150 ms. D'après la courbe C54, le temps d'accès est situé entre 50 et 150 ms avec une probabilité supérieure à 0,9. D'après la courbe C55, le temps d'accès est situé entre 50 et 150 ms avec une probabilité supérieure à 0,75. Le format de la figure 9 ou 10 présente donc de meilleures performances en termes de latence d'accès que le format de la figure 3. FIG. 20 represents curves C51 to C55 of variation of the access time probability, when the format of the transmitted data blocks comprises as many sub-blocks as repair symbols grouped at the end of the data block (FIG. or 12). Curves C51 to C55 were obtained with symbol loss rates at 1, 5, 10, 15 and 20%, respectively. From curves C51 to C55, the access time is less than about 50 ms, with a probability greater than 0.75. According to the curve C51, the access time is zero with a probability close to 0.6. According to the curves C51, C52, the access time at 50 ms is reached with a probability close to 1. According to the curve C53, the probability of 1 is reached with an access time of about 100 ms. From curves C54 and C55, the probability of 1 is reached with an access time of about 150 ms. According to the curve C54, the access time is between 50 and 150 ms with a probability greater than 0.9. According to curve C55, the access time is between 50 and 150 ms with a probability greater than 0.75. The format of Figure 9 or 10 therefore has better performance in terms of access latency than the format of Figure 3.
La figure 21 représente des courbes C61 à C65 de variation de la probabilité de temps d'accès, lorsque le format des blocs de données transmis comprend deux ou trois symboles de réparation à la fin du bloc de données (figures 9 ou 10). Les courbes C61 à C65 ont été obtenues avec des taux de perte de symbole à 1, 5, 10, 15 et 20%, respectivement. D'après les courbes C61 à C65, le temps d'accès est inférieur à environ 50 ms, avec une probabilité supérieure à 0,9. D'après la courbe C61, le temps d'accès est nul avec une probabilité voisine de 0,6. D'après les courbes C61, C62, C63, le temps d'accès à 50 ms est atteint avec une probabilité voisine de 1. D'après la courbe C64, la probabilité de 1 est atteinte avec un temps d'accès à environ 130 ms. D'après la courbe C65, le temps d'accès passe à environ 150 ms avec une probabilité supérieure à 0,95. Le format de la figure 9 ou 10 présente donc de meilleures performances en termes de latence d'accès que le format de la figure 11 ou 12.  Fig. 21 shows curves C61 to C65 of varying the access time probability, when the format of the transmitted data blocks comprises two or three repair symbols at the end of the data block (Figs. 9 or 10). Curves C61 to C65 were obtained with symbol loss rates at 1, 5, 10, 15 and 20%, respectively. From curves C61 to C65, the access time is less than about 50 ms, with a probability greater than 0.9. According to the curve C61, the access time is zero with a probability close to 0.6. According to the curves C61, C62, C63, the access time at 50 ms is reached with a probability close to 1. According to the curve C64, the probability of 1 is reached with an access time of approximately 130 ms. According to curve C65, the access time increases to about 150 ms with a probability greater than 0.95. The format of Figure 9 or 10 therefore has better performance in terms of access latency than the format of Figure 11 or 12.
La figure 22 représente des courbes C71 à C75 de variation de la probabilité de temps d'accès, lorsque le format des blocs de données transmis comprend autant de sous-blocs que de symboles de réparation (figure 7). Les courbes C71 à C75 ont été obtenues avec des taux de perte de symbole à 1, 5, 10, 15 et 20%, respectivement. D'après les courbes C71 à C75, le temps d'accès est inférieur à environ 50 ms, avec une probabilité supérieure à 0,95. D'après la courbe C71, le temps d'accès est nul avec une probabilité voisine de 0,6. D'après les courbes C71, C72, le temps d'accès à 50 ms est atteint avec une probabilité voisine de 1. D'après la courbe C73, la probabilité de 1 est atteinte avec un temps d'accès à environ 70 ms. D'après les courbes C74, C75, la probabilité de 1 est atteinte avec un temps d'accès à environ 150 ms. D'après la courbe C74, le temps d'accès est situé entre 50 et 150 ms avec une probabilité supérieure à 0,9. D'après la courbe C75, le temps d'accès est situé entre 50 et 150 ms avec une probabilité supérieure à 0,8. Le format de la figure 7 présente donc de meilleures performances en termes de latence d'accès que le format de la figure 9 ou 10.  FIG. 22 represents curves C71 to C75 of variation of the access time probability, when the format of the transmitted data blocks comprises as many sub-blocks as of repair symbols (FIG. 7). Curves C71 to C75 were obtained with symbol loss rates at 1, 5, 10, 15 and 20%, respectively. From curves C71 to C75, the access time is less than about 50 ms, with a probability greater than 0.95. According to the curve C71, the access time is zero with a probability close to 0.6. According to the curves C71, C72, the access time at 50 ms is reached with a probability close to 1. According to the curve C73, the probability of 1 is reached with an access time of about 70 ms. From curves C74, C75, the probability of 1 is reached with an access time of about 150 ms. According to curve C74, the access time is between 50 and 150 ms with a probability greater than 0.9. According to curve C75, the access time is between 50 and 150 ms with a probability greater than 0.8. The format of Figure 7 therefore has better performance in terms of access latency than the format of Figure 9 or 10.
D'après les courbes des figures 19 à 22, le temps d'accès JT à un flux de données est limité à une valeur inférieure à environ 150 ms dans le cas où les données sont organisées en blocs de données.  From the curves of Figures 19 to 22, the access time JT to a data stream is limited to a value less than about 150 ms in the case where the data is organized into data blocks.
La figure 23 représente des courbes C81 à C84 de variation de la probabilité de temps d'accès, lorsque le format des blocs de données transmis est de la forme de celui de la figure 5 avec une fenêtre w de 50 symboles source. Les courbes C81 à C84 ont été obtenues avec des taux de perte de symbole à 1, 5, 10 et 15%, respectivement. A des taux de perte de symbole de 20% et plus, le temps d'accès au flux de données tend vers l'infini. D'après la courbe C81, le temps d'accès est nul avec une probabilité voisine de 0,6, et légèrement supérieure à 50 ms avec une probabilité de 1. La courbe C82 atteint une probabilité voisine de 1, avec un temps d'accès à environ 80 ms. D'après la courbe C83, une probabilité voisine de 1 est atteinte avec un temps d'accès à environ 150 ms. D'après la courbe C84, une probabilité voisine de 1 est atteinte avec un temps d'accès à environ 500 ms. Le format de la figure 5 présente donc de moins bonnes performances en termes de latence d'accès que les autres formats étudiés. FIG. 23 represents curves C81 to C84 of variation of the access time probability, when the format of the data blocks transmitted is in the form of that of FIG. 5 with a window w of 50 source symbols. Curves C81 to C84 were obtained with symbol loss rates at 1, 5, 10 and 15%, respectively. At symbol loss rates of 20% and above, the access time to the data stream tends to infinity. According to the curve C81, the access time is zero with a probability close to 0.6, and slightly greater than 50 ms with a probability of 1. The curve C82 reaches a probability close to 1, with an access time of about 80 ms. From the curve C83, a probability close to 1 is reached with an access time of about 150 ms. According to curve C84, a probability close to 1 is reached with an access time of about 500 ms. The format of Figure 5 therefore presents poorer performance in terms of access latency than the other formats studied.
Selon un mode de réalisation, un serveur de contenu comprenant ou couplé au dispositif émetteur TDV, diffuse un contenu en mode multi-diffusion (multicast) à un ensemble de terminaux tels que des terminaux mobiles, comprenant le dispositif récepteur RDV. Ainsi la figure 24 représente un exemple d'un tel serveur de contenu CNTP connecté à un réseau IPN, tel que le réseau Internet, par l'intermédiaire d'un serveur MBMS mettant en œuvre un service MBMS (Multimedia Broadcast Multicast Service) ou eMBMS (enhanced MBMS). Les terminaux UE sont connectés chacun des réseaux mobiles UTRN qui sont reliés au réseau IPN par l'intermédiaire de passerelles MGW, Le contenu fourni par le serveur CNTP est diffusé conformément à l'un des formats décrits précédemment. Certains des terminaux UE ayant de mauvaises conditions de réception peuvent envoyer sur un canal de retour un message de retour signalant de mauvaises conditions de réception, à destination du serveur de contenu CNTP. Ainsi, le message de retour peut indiquer un taux de perte de paquets, un taux de perte résiduel après exploitation des symboles de réparation, des caractéristiques relatives à la qualité du signal reçu.  According to one embodiment, a content server comprising or coupled to the TDV transmitter device, broadcasts multi-broadcast (multicast) content to a set of terminals such as mobile terminals, including the RDV receiver device. Thus, FIG. 24 represents an example of such a CNTP content server connected to an IPN network, such as the Internet network, via an MBMS server implementing a Multimedia Broadcast Multicast Service (MBMS) or eMBMS service. (enhanced MBMS). The UE terminals are connected each of the UTRN mobile networks which are connected to the IPN network via MGW gateways. The content provided by the CNTP server is broadcast in accordance with one of the formats described above. Some of the UEs with poor reception conditions may send on a return channel a return message signaling poor reception conditions to the CNTP content server. Thus, the return message may indicate a packet loss rate, a residual loss rate after exploitation of the repair symbols, characteristics relating to the quality of the received signal.
En réponse, le serveur de contenu CNTP envoie aux terminaux ayant signalé de mauvaises conditions de réception, sur des canaux point à point (unicast) un ou plusieurs symboles de réparation supplémentaires pour chaque bloc de données émis par le dispositif émetteur TDV du serveur de contenu CNTP, pendant une certaine période. Ainsi, le serveur de contenu CNTP peut transmettre le contenu en mode multi diffusion à plusieurs dizaines de milliers de terminaux UE, et transmettre en mode point à point des symboles de réparation supplémentaires à plusieurs centaines de terminaux UE ayant signalé des conditions de réception de mauvaise qualité. Ces dispositions permettent d'assurer un service de multi diffusion de contenu, tout en garantissant une qualité de réception, sans pour autant utiliser une grande bande passante sur des canaux point à point, puisque seuls des symboles de réparation sont transmis par ces canaux.  In response, the CNTP content server sends to terminals that have reported poor reception conditions, on unicast channels, one or more additional repair symbols for each data block sent by the content server's TDV sending device. CNTP for a certain period. Thus, the CNTP content server can transmit multi-broadcast content to several tens of thousands of UE terminals, and transmit in point-to-point mode additional repair symbols to several hundred UE terminals reporting bad reception conditions. quality. These provisions make it possible to provide a multicast content service, while guaranteeing reception quality, without using a large bandwidth on point-to-point channels, since only repair symbols are transmitted by these channels.
L'envoi au serveur par un terminal d'un message de retour signalant de bonnes conditions de réception, peut mettre fin à l'envoi de symboles de réparation supplémentaires pour ce terminal. Outre que cet envoi est arrêté à la fin de la transmission du contenu diffusé, il peut être également mis fin à cet envoi à l'échéance d'un certain délai. Les terminaux ont alors toujours la possibilité d'émettre de nouveaux messages de retour signalant de mauvaises conditions de réception, pour déclencher à nouveau l'envoi de symboles de réparation supplémentaires en mode de diffusion point à point. The sending to the server by a terminal of a return message indicating good reception conditions may terminate the sending of additional repair symbols for this terminal. In addition to this sending being stopped at the end of the transmission of the broadcasted content, it may also be terminated at the end of a certain period. The terminals then always have the possibility issue new return messages signaling poor reception conditions, to trigger again the sending of additional repair symbols in point-to-point broadcast mode.
A noter que le traitement des messages de signalement de bonnes ou mauvaises conditions de réception, et la transmission des symboles de réparation supplémentaires, peuvent être réalisés par un autre serveur que le serveur de contenu CNTP, par exemple un serveur tel que le serveur MBMS, assurant la diffusion du contenu à des terminaux UE. Par ailleurs, le service de multi diffusion peut être mis en œuvre par d'autres moyens et d'autres protocoles que ceux illustrés à titre d'exemple par la figure 24. Par exemple, le service de multi diffusion peut être mis en œuvre dans un réseau WiFi.  Note that the processing of the signaling messages of good or bad reception conditions, and the transmission of supplementary repair symbols, may be performed by a server other than the CNTP content server, for example a server such as the MBMS server, ensuring the dissemination of the content to EU terminals. Furthermore, the multicast service can be implemented by other means and other protocols than those illustrated by way of example in FIG. 24. For example, the multicast service can be implemented in a WiFi network.
Il apparaîtra clairement à l'homme de l'art que la présente invention est susceptible de diverses variantes de réalisation et diverses applications. En particulier, il peut être prévu d'attribuer deux (ou davantage) symboles de réparation à chaque sous-blocs. Cependant, cette solution peut être considérée comme non optimum en terme de latence de correction, par rapport à la solution consistant à doubler le nombre de sous-blocs par bloc de données et à attribuer un seul symbole de réparation à chaque sous-bloc.  It will be apparent to those skilled in the art that the present invention is capable of various alternative embodiments and various applications. In particular, it can be expected to assign two (or more) repair symbols to each sub-block. However, this solution can be considered as not optimum in terms of correction latency, compared to the solution of doubling the number of sub-blocks per block of data and assigning a single repair symbol to each sub-block.
Par ailleurs, les symboles source à partir desquels sont calculés chacun des symboles de réparation ne sont pas nécessairement consécutifs dans le bloc de données, et ne comprennent pas nécessairement le symbole source transmis immédiatement avant le symbole de réparation.  On the other hand, the source symbols from which each of the repair symbols are calculated are not necessarily consecutive in the data block, and do not necessarily include the source symbol transmitted immediately before the repair symbol.

Claims

REVENDICATIONS
1. Procédé de transmission de données, comprenant des étapes consistant à : encoder des données à transmettre sous la forme de symboles source (S) regroupés en blocs de données (DB), A method of transmitting data, comprising the steps of: encoding data to be transmitted in the form of source symbols (S) grouped into data blocks (DBs),
attribuer à chaque bloc de données un nombre de symboles de réparation (R1-R9), et pour chaque bloc de données :  assign each data block a number of repair symbols (R1-R9), and for each block of data:
répartir les symboles source du bloc de données dans des sous-blocs (SB), le nombre de sous-blocs étant égal au nombre de symboles de réparation attribués au bloc de données,  distributing the source symbols of the data block into sub-blocks (SB), the number of sub-blocks being equal to the number of repair symbols allocated to the data block,
attribuer un symbole de réparation à chaque sous-bloc du bloc de données, calculer le symbole de réparation de chaque sous-bloc du bloc de données par une combinaison linéaire de symboles source du sous-bloc et des symboles sources de sous-blocs précédents dans le bloc de données, et  assign a repair symbol to each sub-block of the data block, calculate the repair symbol of each sub-block of the data block by a linear combination of source symbols of the sub-block and the source symbols of previous sub-blocks in the data block, and
transmettre le bloc de données dans un flux de blocs de données, en transmettant successivement chaque sous-bloc du bloc de données, chaque sous-bloc étant transmis en transmettant les symboles source du sous-bloc, suivis du symbole de réparation du sous-bloc.  transmitting the data block in a stream of data blocks, successively transmitting each sub-block of the data block, each sub-block being transmitted by transmitting the source symbols of the sub-block, followed by the repair symbol of the sub-block .
2. Procédé selon la revendication 1, dans lequel chaque symbole de réparation (R1-R9) du bloc de données est calculé par une combinaison linéaire d'au moins une partie des symboles source (S) du bloc de données, de manière à ce que chaque symbole source du bloc de données soit utilisé pour calculer un même nombre, à un près, de symboles de réparation du bloc de données. The method of claim 1, wherein each repair symbol (R1-R9) of the data block is computed by a linear combination of at least a portion of the source symbols (S) of the data block, so that each source symbol of the data block is used to calculate the same number, at a close, of repair symbols of the data block.
3. Procédé selon la revendication 1, dans lequel chaque symbole de réparation (R1-R9) du bloc de données (DB) est calculé par une combinaison linéaire de tous les symboles source (S) transmis précédemment du bloc de données. The method of claim 1, wherein each repair symbol (R1-R9) of the data block (DB) is computed by a linear combination of all previously transmitted source symbols (S) of the data block.
4. Procédé selon l'une des revendications 1 à 3, dans lequel plusieurs symboles de réparation (R) calculés à partir d'au moins une partie des symboles source (S) du dernier sous-bloc (SB[..,49]) du bloc de données, (DB) sont transmis à la fin du bloc de données. 4. Method according to one of claims 1 to 3, wherein several repair symbols (R) calculated from at least part of the source symbols (S) of the last sub-block (SB [.., 49] ) of the data block, (DB) are transmitted at the end of the data block.
5. Procédé selon l'une des revendications 1 à 4, dans lequel chaque sous-bloc (SB) du bloc de données (DB) comprend un même nombre, à un près, de symboles source (S). 5. Method according to one of claims 1 to 4, wherein each sub-block (SB) of the data block (DB) comprises the same number, to a close, of source symbols (S).
6. Procédé selon l'une des revendications 1 à 5, dans lequel le bloc de données (DB) comprend autant de sous-blocs (SB) que de symboles de réparation (R) transmis à la fin du bloc de données. 6. Method according to one of claims 1 to 5, wherein the data block (DB) comprises as many sub-blocks (SB) as repair symbols (R) transmitted at the end of the data block.
7. Procédé selon l'une des revendications 1 à 6, comprenant des étapes de définition d'un format du bloc de données (DB), consistant à : 7. Method according to one of claims 1 to 6, comprising steps of defining a format of the data block (DB), consisting of:
définir un premier nombre (Q) de symboles de réparation (R) à transmettre à la fin du bloc de données,  define a first number (Q) of repair symbols (R) to be transmitted at the end of the data block,
déterminer un nombre (NB) de sous-blocs (SB) du bloc de données en fonction du premier nombre et d'un nombre de symboles de réparation attribués au bloc de données, ou déterminer le nombre (n-k) de symboles de réparation (R) attribués au bloc de données en fonction du nombre de sous-blocs du bloc de données et du premier nombre,  determining a number (NB) of sub-blocks (SB) of the data block according to the first number and a number of repair symbols allocated to the data block, or determining the number (nk) of repair symbols (R ) allocated to the data block according to the number of sub-blocks of the data block and the first number,
calculer un nombre minimum (KB) de symboles source (S) par sous-bloc en divisant le nombre (k) de symboles source dans le bloc de données par le nombre de sous-blocs, le nombre minimum de symboles source étant fixé égal au plus grand nombre entier inférieur ou égal au résultat obtenu de la division, et  calculating a minimum number (KB) of source symbols (S) per sub-block by dividing the number (k) of source symbols in the data block by the number of sub-blocks, the minimum number of source symbols being set equal to greater integer less than or equal to the result obtained from the division, and
calculer un écart (Δ) entre le nombre de symboles source du bloc de données et le produit (NB KB) du nombre de sous-blocs dans le bloc de données par le nombre minimum de symboles source par sous-bloc, l'écart définissant un nombre de symboles source à ajouter dans les sous-blocs du bloc de données.  calculating a difference (Δ) between the number of source symbols of the data block and the product (NB KB) of the number of sub-blocks in the data block by the minimum number of source symbols per sub-block, the difference defining a number of source symbols to be added in the sub-blocks of the data block.
8. Procédé selon la revendications 7, dans lequel, l'écart (Δ) définit un nombre de sous-blocs (SB) du bloc de données (DB) comportant un nombre de symboles source (S) égal au nombre minimum (KB) de symboles source par sous- bloc, augmenté de un. The method according to claim 7, wherein the deviation (Δ) defines a number of sub-blocks (SB) of the data block (DB) comprising a number of source symbols (S) equal to the minimum number (KB). of source symbols per sub-block, increased by one.
9. Procédé selon l'une des revendications 1 à 8, comprenant des étapes consistant à : 9. Process according to one of claims 1 to 8, comprising the steps of:
recevoir d'un terminal d'utilisateur (UE) en mode point à point, un message signalant de mauvaises conditions de réception, et  receiving from a user terminal (UE) in point-to-point mode, a message signaling poor reception conditions, and
transmettre au terminal en mode point à point, en réponse au message, au moins un symbole de réparation (R) pour chaque bloc de données transmis après la réception du message.  transmitting to the terminal in point-to-point mode, in response to the message, at least one repair symbol (R) for each block of data transmitted after receiving the message.
10. Procédé de réception de données transmises conformément au procédé de transmission selon l'une des revendications 1 à 9, le procédé de réception comprenant des étapes successives de réception des sous-blocs (SB) de symboles source (S) d'un bloc de données (DB), la réception de chaque sous-bloc étant suivie de la réception d'un symbole de réparation (R) associé au sous-bloc, chaque symbole de réparation correspondant à une combinaison linéaire des symboles source du sous-bloc associé au symbole de réparation. Method for receiving data transmitted in accordance with the transmission method according to one of claims 1 to 9, the reception method comprising successive steps of receiving the sub-blocks (SB) of source symbols (S) of a block. data (DB), the reception of each sub-block being followed by the reception a repair symbol (R) associated with the sub-block, each repair symbol corresponding to a linear combination of the source symbols of the sub-block associated with the repair symbol.
11. Procédé selon la revendication 10, comprenant des étapes consistant à : détecter un symbole source (S) manquant ou erroné dans le bloc de données, et The method of claim 10, comprising the steps of: detecting a missing or erroneous source symbol (S) in the data block, and
à la réception d'un premier symbole de réparation (R) suivant le symbole source manquant ou erroné, calculer le symbole source manquant ou erroné en résolvant une équation résultant de l'égalité entre le premier symbole de réparation et une combinaison linéaire correspondant au premier symbole de réparation.  upon receipt of a first repair symbol (R) following the missing or erroneous source symbol, calculating the missing or erroneous source symbol by solving an equation resulting from the equality between the first repair symbol and a linear combination corresponding to the first symbol of repair.
12. Procédé selon la revendication 10 ou 11, comprenant des étapes consistant à : The method of claim 10 or 11, comprising steps of:
détecter de mauvaises conditions de réception de blocs de données transmis dans un mode multi diffusion,  detect bad reception conditions of data blocks transmitted in a multicast mode,
transmettre en mode point à point, à un serveur (CNTP, MBMS), un message signalant de mauvaises conditions de réception, et  transmit in point-to-point mode, to a server (CNTP, MBMS), a message signaling poor reception conditions, and
recevoir en mode point à point, pour des blocs de données (DB) reçus dans le mode multi diffusion, des symboles de réparation supplémentaires utilisables pour calculer des symboles source (S) manquants dans les blocs de données reçus.  receiving in point-to-point mode, for data blocks (DBs) received in the multicast mode, additional repair symbols usable for calculating missing source symbols (S) in the received data blocks.
13. Dispositif d'émission de données configuré pour mettre en œuvre le procédé selon l'une des revendications 1 à 9. Data transmission device configured to implement the method according to one of claims 1 to 9.
14. Dispositif de réception de données configuré pour mettre en œuvre le procédé selon l'une des revendications 10 à 12. 14. Data receiving device configured to implement the method according to one of claims 10 to 12.
EP17832531.2A 2016-12-22 2017-12-21 Method and device for correcting low-latency errors for retrieving data packets Withdrawn EP3560104A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1663227A FR3061379B1 (en) 2016-12-22 2016-12-22 DATA TRANSMISSION METHOD INCLUDING FORWARD ERROR CORRECTION
PCT/FR2017/053795 WO2018115775A1 (en) 2016-12-22 2017-12-21 Method and device for correcting low-latency errors for retrieving data packets

Publications (1)

Publication Number Publication Date
EP3560104A1 true EP3560104A1 (en) 2019-10-30

Family

ID=58501569

Family Applications (1)

Application Number Title Priority Date Filing Date
EP17832531.2A Withdrawn EP3560104A1 (en) 2016-12-22 2017-12-21 Method and device for correcting low-latency errors for retrieving data packets

Country Status (7)

Country Link
US (1) US20190319645A1 (en)
EP (1) EP3560104A1 (en)
JP (1) JP2020503742A (en)
KR (1) KR20190099045A (en)
CN (1) CN110121840B (en)
FR (1) FR3061379B1 (en)
WO (1) WO2018115775A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11411584B2 (en) * 2020-09-28 2022-08-09 Western Digital Technologies, Inc. Data storage device channel encoding current data using redundancy bits generated over preceding data
CN114244476B (en) * 2021-12-25 2024-03-15 秦柏林 Data coding transmission method based on multiplying power code

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870412A (en) * 1997-12-12 1999-02-09 3Com Corporation Forward error correction system for packet based real time media
US7930617B1 (en) * 2007-06-20 2011-04-19 Rockwell Collins, Inc. Sliding window block codes for cross-packet coding
KR20130094160A (en) * 2012-01-20 2013-08-23 삼성전자주식회사 Method and apparatus for streaming service
US9519615B2 (en) * 2013-04-09 2016-12-13 Emc Corporation Multiprocessor system with independent direct access to bulk solid state memory resources

Also Published As

Publication number Publication date
CN110121840A (en) 2019-08-13
FR3061379A1 (en) 2018-06-29
KR20190099045A (en) 2019-08-23
JP2020503742A (en) 2020-01-30
FR3061379B1 (en) 2022-08-12
CN110121840B (en) 2023-09-15
WO2018115775A1 (en) 2018-06-28
US20190319645A1 (en) 2019-10-17

Similar Documents

Publication Publication Date Title
EP0578313B1 (en) Concatenated coding for OFDM transmission
CN110943800B (en) Data packet sending method, device and system, storage medium and electronic device
EP1512228B1 (en) Forward error correction method and system for reliable transmission of real time data over a packet based networks
EP1241795A2 (en) Method and system for transmitting and receiving information using chain reaction codes
EP2471206B1 (en) Method for packet size equalization in a multimedia flow
FR2906428A1 (en) METHOD, DEVICE AND SOFTWARE APPLICATION FOR TRANSMITTING DATA PACKETS IN A COMMUNICATION SYSTEM.
FR2845227A1 (en) METHOD FOR RECEIVING A MODULE SIGNAL ACCORDING TO A MULTI-LEVEL ENCODING TECHNIQUE, DECODING METHOD, RECEIVING DEVICE, ENCODING-DECODING SYSTEM AND APPLICATIONS THEREOF
EP2266234B1 (en) Method for transmitting a digital signal between at least two transmitters and at least one receiver, using at least one relay, and corresponding program product and relay device
EP1172961A1 (en) Communications system, receiver and method to estimate errors introduced by the channel
US11689323B2 (en) Efficient on-demand packet recovery for broadcast and multicast networks system and method
WO2018115775A1 (en) Method and device for correcting low-latency errors for retrieving data packets
EP3476071B1 (en) Dynamic and selective transmission of a digital signal for a system with full-duplex relay and a limited return path
CA2031039C (en) Digital information communications method and device with automatic repeat request (arq) function
CN113965293B (en) PAM4 signal forward error correction method based on RS coding optimal redundancy bit
KR100792153B1 (en) Method for Transmission Data for Multicast Based Network, Method for Processing Data and Data Transmission System
FR3029375A1 (en) METHOD AND DEVICE FOR SOFT AND SELECTIVE SSDF RELAY
Sánchez et al. P2P group communication using Scalable Video Coding
FR3051614A1 (en) SYSTEM AND METHOD FOR DATA TRANSMISSION
EP2436134B1 (en) Method for transmitting data from a radio communication network infrastructure to user equipment, and equipment for implementing the method
JP2008092213A (en) Receiver, method for resending packet and program
WO2007028835A2 (en) Modulation method with insertion of semi-pilot symbols
EP2722992B1 (en) Coding method for channel with quasi-periodic fading
Nguyen et al. Internet media streaming using network coding and path diversity
Khayam et al. Improving wireless multimedia quality using header detection with priors
WO2013012089A1 (en) Relay device, relay method, and program

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20190619

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
17Q First examination report despatched

Effective date: 20200416

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20201027