WO2025196182A1 - Procédé de codage de données source, procédé de décodage de mots de code, dispositifs et programme d'ordinateur correspondants. - Google Patents

Procédé de codage de données source, procédé de décodage de mots de code, dispositifs et programme d'ordinateur correspondants.

Info

Publication number
WO2025196182A1
WO2025196182A1 PCT/EP2025/057631 EP2025057631W WO2025196182A1 WO 2025196182 A1 WO2025196182 A1 WO 2025196182A1 EP 2025057631 W EP2025057631 W EP 2025057631W WO 2025196182 A1 WO2025196182 A1 WO 2025196182A1
Authority
WO
WIPO (PCT)
Prior art keywords
matrix
size
extension
block
matrices
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.)
Pending
Application number
PCT/EP2025/057631
Other languages
English (en)
Inventor
Bruno Jahan
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.)
Orange SA
Original Assignee
Orange 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 Orange SA filed Critical Orange SA
Publication of WO2025196182A1 publication Critical patent/WO2025196182A1/fr
Anticipated expiration legal-status Critical
Pending legal-status Critical Current

Links

Classifications

    • H—ELECTRICITY
    • H03—ELECTRONIC CIRCUITRY
    • H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05—Error 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/11—Error 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 using multiple parity bits
    • H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148—Structural properties of the code parity-check or generator matrix
    • H03M13/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • H—ELECTRICITY
    • H03—ELECTRONIC CIRCUITRY
    • H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05—Error 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/11—Error 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 using multiple parity bits
    • H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148—Structural properties of the code parity-check or generator matrix
    • H03M13/118—Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H—ELECTRICITY
    • H03—ELECTRONIC CIRCUITRY
    • H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00—Coding, 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/65—Purpose and implementation aspects
    • H03M13/6502—Reduction of hardware complexity or efficient processing
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00—Arrangements for detecting or preventing errors in the information received
    • H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056—Systems characterized by the type of code used
    • H04L1/0057—Block codes

Definitions

  • the field of the invention is that of digital communications. More specifically, the invention relates to error-correcting codes, and in particular, but not exclusively, error-correcting codes of the LDPC (Low Density Parity Check) type.
  • the invention finds applications in particular in the field of data storage or transmission, for example via wireless communications (for example by radio waves or unguided optical waves) or wired communications (for example by optical fiber or electric cable). In particular, the invention finds applications in all fields where it is sought to offer good transmission reliability, for example for radio transmissions (Wifi®, 5G, 6G, etc.). 2.
  • Prior art Figure 1 illustrates a transmitter of a digital transmission chain.
  • a transmitter uses conventional signal processing modules.
  • the source data 11 for example binary data from a data-generating source of video type (for example a source of animated images, virtual or augmented reality images, an image sequence source), of audio type (for example voice), of flow control type whether of video or audio type or other, or from a sensor, an actuator, etc.
  • a channel coding block 12 applying an error-correcting code
  • the coded data are then interleaved in an interleaving block 13 (called "external") to mix the coded data.
  • a mapping block 14 (also called “signal binary coding”) makes it possible to convert the coded data into constellation points (BPSK, QPSK, 16QAM, etc.).
  • the associated symbols are put into frame 15 and modulated in a single-carrier or multi-carrier modulation block 16, for example of the OFDM (“Orthogonal Frequency-Division Multiplexing”) type.
  • OFDM Orthogonal Frequency-Division Multiplexing
  • error-correcting codes in the channel coding block 12. For example, LDPC codes, turbo-codes, polar codes, or Reed-Salomon codes offer good performance in terms of error correction.
  • LDPC codes are defined by three parameters ⁇ , ⁇ and ⁇ : - ⁇ corresponds to the size of the source data supplied as input to the LDPC encoder, for example in number of useful bits (or information bits) if we consider binary data, - ⁇ corresponds to the size of the redundancy data added by the LDPC encoder, for example in number of redundancy bits if we consider binary data, and - ⁇ corresponds to the size of the data from the LDPC encoder, for example in number of coded bits, these coded bits including the useful bits and the redundancy bits.
  • An LDPC code can notably be defined by a parity matrix ⁇ , which gives the parity relations between the source data and the redundancy data.
  • An example of a binary parity matrix ⁇ is given in Figure 2.
  • the parity matrix H comprises M rows (defining M parity equations) and N columns.
  • the values equal to "1" in the parity matrix ⁇ correspond to the connections (defining the parity equations) between the useful data and the redundancy data.
  • the 3GPP standardization consortium defined two basic structures or matrices BG1 and BG2 ("Base Graph" in English) allowing to construct 104 parity matrices ⁇ of LDPC codes (52 matrices constructed from the basic matrix BG1 and 52 matrices constructed from the basic matrix BG2).
  • ⁇ ⁇ 6,8,9,10 ⁇ .
  • the parity matrices ⁇ are obtained from the basic matrices BG1 or BG2, from a factor expansion ⁇ ⁇ and a circular rotation ⁇ of a diagonal matrix.
  • Such a construction is known as "Protograph" in English and allows to have a compact description of the set of matrices.
  • a parity matrix ⁇ of size ⁇ . ⁇ ⁇ ⁇ . ⁇ is obtained by replacing each non-zero element of the base matrix BG1 or BG2 by a diagonal matrix of size ⁇ ⁇ ⁇ to which a circular rotation ⁇ has been applied (which is not necessarily the same for all non-zero elements of the base matrix).
  • the choice between using the base matrix BG1 or BG2 is made according to the size of the source data to be encoded ⁇ . ⁇ ⁇ and the desired coding rate ⁇ .
  • the BG1 basic matrix is mainly used for high coding rates and large sizes of source data to be coded, for example for eMBB ("enhanced Mobile BroadBand") type applications.
  • the BG2 basic matrix is rather used to code small source data blocks (for example ⁇ . ⁇ ⁇ 292 bits, or ⁇ . ⁇ ⁇ 3824 bits and ⁇ ⁇ 2/3, or ⁇ ⁇ 0.25), in particular for URRLC ("Ultra Reliable Low Latency Communications") type applications .
  • the basic matrices BG1 or BG2 used to construct the parity matrix ⁇ of an LDPC code according to the 5G standard can be represented in the form of six sub-matrices ⁇ , ⁇ , 0, ⁇ , ⁇ and ⁇ , as described in the document “High Area-Efficient Parallel Encoder with compatible architecture for 5G LDPC codes”, Y.
  • LDPC codes are recognized for their ability to guarantee high-speed transmissions, in particular thanks to the possibility of parallelizing operations at the decoder level, a disadvantage of these codes is the complexity related to decoding. Indeed, the greater the number of decoding iterations, the greater the number of operations to be performed at reception and the more resource-intensive it is.
  • the decoding block can thus use up to 90% of the receiver's resources. It can be considered the most energy-consuming part of the physical layer, especially for 5G. There is therefore a need for a new coding technique seeking to reduce the energy consumption of the decoder. 3.
  • the parity matrix ⁇ is obtained from a base matrix ⁇ ' of size ⁇ ⁇ ⁇ , by replacing each element of said base matrix ⁇ ' by an expansion matrix of size ⁇ ⁇ ⁇ , of base ⁇ ' expressed in the form: ⁇ ⁇ ' ⁇ 0 with: ⁇ ⁇ a kernel matrix of size ⁇ ⁇ ⁇ ⁇ a matrix with at least one diagonal of size ⁇ ⁇ ⁇ ⁇ an extension matrix of size ( ⁇ ⁇ ⁇ ) ⁇ ⁇ ⁇ an extension matrix of size ( ⁇ ⁇ ⁇ ) ⁇ 0 a zero matrix of size ( ⁇ ⁇ ⁇ ⁇ ⁇ ) ⁇ ⁇ ⁇ an identity matrix of size ( ⁇ ⁇ ⁇ ) ⁇ ( ⁇ ⁇ ⁇ ⁇ ⁇ )
  • the extension matrix ⁇ comprises at least two blocks of ⁇ rows and at least one block of ⁇ columns, with ⁇ an integer between 1 and ⁇ ⁇ 1, each block of ⁇ rows comprising at least one matrix ⁇ ⁇ ⁇ ⁇ ⁇
  • the extension matrix ⁇ comprises, in the same block of ⁇ columns, at least two matrices obtained by applying a distinct circular rotation to a diagonal matrix of size ⁇ ⁇ ⁇ .
  • the matrix formed from the extension matrix ⁇ and the continuation matrix ⁇ comprises, in the same block of ⁇ rows, at least two matrices obtained by applying a circular rotation to a diagonal matrix of size ⁇ ⁇ ⁇ .
  • the proposed solution thus seeks to improve the structure of an LDPC coder, with the aim of accelerating the convergence of the decoder and therefore reducing the energy consumption in reception associated with the use in transmission of this coding module.
  • the proposed basic matrices correspond to the requirements defined by the 3GPP in the document TS 138212 V15.2.0 cited above in terms of size of blocks to be coded ⁇ . ⁇ ⁇ and coding rate ⁇ .
  • the coded data (code word formed from the ⁇ . ⁇ ⁇ source data and ⁇ . ⁇ ⁇ redundancy data) can be stored in a memory and/or transmitted from a transmitter to a receiver, via a transmission channel.
  • At least one of said row blocks comprises a succession of at least two matrices ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ by applying a distinct circular rotation coefficient ⁇ to said diagonal matrix of size ⁇ ⁇ ⁇ .
  • a distinct circular rotation coefficient ⁇ it is sought to avoid the repetition of the same pattern within the same block of lines of the extension matrix ⁇ .
  • the use of distinct circular rotations in the same block of lines makes it possible to avoid, or at least to limit, short cycles of size 4 or 6. It is indeed desirable to limit the number of short cycles, because they limit the decoding performance.
  • At least one of said row blocks comprises a succession of at least two matrices ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ obtained by applying the same circular rotation coefficient ⁇ to said diagonal matrix of size ⁇ ⁇ ⁇ . In this way, it is sought to avoid the repetition of the same pattern within the same block of columns of the extension matrix ⁇ .
  • blocks of ⁇ ⁇ 5 rows makes it possible to avoid, or at least limit, short cycles of size 4.
  • said at least two blocks of ⁇ rows are consecutive, i.e. no row of zero or non-zero elements is interposed between two blocks of rows. In this way, the non-zero elements of the extension matrix ⁇ can be distributed homogeneously over the different blocks of rows.
  • said extension matrix ⁇ comprises a portion of one of said matrices ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ obtained by applying a circular rotation coefficient ⁇ to a diagonal matrix of size ⁇ ⁇ ⁇ , and said extension matrix ⁇ comprises the extension of said portion.
  • the matrix formed from said extension matrix C and said extension matrix ⁇ comprises at least one complete pattern representing the matrix ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ , as well as possibly a partial pattern.
  • said extension matrix ⁇ is equal to: V2 V1 V3 V4 V1 V1 V2 V3 V2 V2 V0 V3 V3 V1 V3 V3 V0 V2 V2 V2 V2 V3 V0 V1 V4 V1 V0 V2 V4 V2 V0 V2 V1 V1 V0 V3 V2 V2 V3 V3 V4 V3 V3 V2 V0 V0 V2 V3 V1 V4 V4 V1 V0 V1 V0 V2 V3 V3 V2 V2 V4 V3 V3 V3 V4 V1 V2 V3 V1 V2 V3 V0 V4 V1 V1 V3 V4 V3 V3 V1 V2 V3 V0 V4 V1 V1 V3 V4 V3 V3 V1 V3 V3 V3 V1 V3 V3 V3 V1 V3 V4 V1 V1 V1 V2 V1 V1 V1 V2 V1 V1 V1 V2 V1 V4 V3 V1 V4 V1 V1 V1 V1 V
  • the basic matrix BG' proposed according to this first embodiment thus has a format similar to the matrix BG1 defined by the 3GPP with a decomposition into six sub-matrices ( ⁇ , ⁇ , ⁇ , ⁇ , 0 and ⁇ ). However, its size is slightly different from that of the basic matrix BG1. Indeed, for the matrix BG1 defined by the 3GPP, the number ⁇ of redundancy data is equal to 46, whereas it is equal to 44 in the proposed solution. This is explained by the fact that the first two columns of the matrix BG1 defined by the 3GPP are punctured to improve performance in the "waterfall" zone, i.e.
  • the block error rate of the decoder as a function of the signal-to-noise ratio drops rapidly. Due to this puncturing of the first two columns, source data may not be transmitted. Two rows are therefore added to the basic matrix BG1 to add parity equations and allow the reconstruction of this source data. This solution improves the robustness of the codec, particularly for high throughputs.
  • the first two columns of the matrix BG1 which can be punctured, have many non-zero elements, in order to be able to reconstruct the source data. However, this increases the number of connections and therefore the risk of short cycles. According to the invention, the first two columns of the basic matrix BG' are not punctured.
  • the extension matrix ⁇ comprises at least two blocks of ⁇ rows, each block of rows comprising a matrix ⁇ ⁇ ⁇ ⁇ obtained by applying a circular rotation coefficient ⁇ to a diagonal matrix of size ⁇ ⁇ ⁇ .
  • the basic matrix BG' proposed according to this second embodiment has a format similar to the matrix BG2 defined by 3GPP with a decomposition into six sub-matrices ( ⁇ , ⁇ , ⁇ , ⁇ , 0 and ⁇ ). However, its size is slightly different from that of the basic matrix BG2. Indeed, for the matrix BG2 defined by 3GPP, the number ⁇ of redundancy data is equal to 26, 34, 38 or 42 depending on the value of K, while it is respectively equal to 24, 32, 36 or 40 in the proposed solution.
  • the first two columns of the matrix BG2 defined by 3GPP are punctured to improve performance in the waterfall zone. Due to this puncturing of the first two columns, source data may not be transmitted. Two rows are therefore added to the basic matrix BG2 to add parity equations and allow the reconstruction of this source data.
  • This solution makes it possible to improve the robustness of the codec, particularly for high throughputs.
  • the first two columns of the matrix BG1 which can be punctured, have many non-zero elements, in order to be able to reconstruct the source data. However, this amounts to increasing the number of connections and therefore the risk of short cycles.
  • the first two columns of the basic matrix BG' are not punctured.
  • the invention relates to a corresponding encoding device.
  • a encoding device also called an encoder, is particularly suitable for implementing the encoding method described above. It may of course include the various characteristics relating to the method according to the invention, which may be combined or taken in isolation.
  • the invention further relates to a corresponding decoding method and device.
  • a decoding method is particularly suitable for decoding at least one code word constructed using the encoding method described above. It may of course include the various characteristics relating to the encoding method according to the invention, which may be combined or taken in isolation.
  • the characteristics and advantages of the decoding method and the decoder are the same as those of the coding method and the coder described previously. Consequently, they are not detailed further.
  • the decoding method can implement a decoding of a parity equation obtained from the last row of the parity matrix ⁇ , then of a parity equation obtained from the previous row of said parity matrix ⁇ , going back row by row to the first row of the parity matrix ⁇ .
  • Such decoding in "reverse" mode offers good performance, in particular for decoding small source data, for example for ⁇ . ⁇ ⁇ 256.
  • the invention also relates to one or more computer programs comprising instructions for implementing a method as described above when this or these programs are executed by at least one processor.
  • the invention also relates to a computer-readable information medium, comprising instructions of a computer program as mentioned above. 4.
  • - figure 1 illustrates a transmitter of a conventional digital transmission chain
  • - figure 2 presents an example of a parity matrix ⁇ for an LDPC code
  • - figure 3 illustrates selection criteria for the basic matrix BG1 or BG2
  • - figure 4 illustrates the decomposition of the basic matrix BG1 or BG2 into sub-matrices
  • - figures 5A and 5B present the main steps implemented by a coding method, respectively decoding method, according to an embodiment of the invention
  • - Figure 6A and Figure 6B illustrate the structure of the matrix BG1
  • - Figure 7A and Figure 7B illustrate the concept of cycle
  • - Figures 8 to 16 present different structures of the basic matrices according to different embodiments of the invention
  • - Figures 17 to 19 illustrate performance curves of an LDPC decoder implementing a decoding
  • Such a basic matrix ⁇ ' can be decomposed into six submatrices ⁇ , ⁇ , 0, ⁇ , ⁇ , ⁇ , and expressed in the form: ⁇ ⁇ ' ⁇ 0 with: ⁇ ⁇ a kernel matrix of size ⁇ ⁇ ⁇ ⁇ a matrix having at least one diagonal of size ⁇ ⁇ ⁇ ⁇ an extension matrix of size ( ⁇ ⁇ ⁇ ) ⁇ ⁇ ⁇ an extension matrix of size ( ⁇ ⁇ ⁇ ) ⁇ 0 a zero matrix of size ( ⁇ ⁇ ⁇ ⁇ ⁇ ) ⁇ ⁇ ⁇ an identity matrix of size ( ⁇ ⁇ ⁇ ) ⁇ ( ⁇ ⁇ ⁇ ⁇ ⁇ )
  • the extension matrix ⁇ has a particular structure and comprises at least two blocks of ⁇ rows and at least one block of ⁇ columns, with ⁇ an integer included between 1 and ⁇ ⁇ 1, each block of ⁇ rows comprising at least one matrix ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ obtained by applying a circular
  • a parity matrix ⁇ is obtained from the basic matrix ⁇ '.
  • each element of the base matrix ⁇ ' with an expansion matrix of size ⁇ ⁇ ⁇ , with ⁇ an integer expansion factor, ⁇ ⁇ 1. More precisely, each zero or empty element of the base matrix ⁇ ' is replaced by a zero matrix of size ⁇ ⁇ ⁇ , and each non-zero or non-empty element of the base matrix ⁇ ' is replaced by a circular permutation matrix, obtained by applying a circular rotation ⁇ to an identity matrix of size ⁇ ⁇ ⁇ .
  • a code word may in particular be stored in a memory of the encoder or transmitted by a transmitter to a receiver.
  • Figure 5B illustrates the main steps of a decoding method according to an embodiment of the invention.
  • a basic matrix ⁇ ' of size ⁇ ⁇ ⁇ is obtained. This step is similar to the first step 51 implemented by the coding method.
  • a parity matrix ⁇ is obtained from the basic matrix ⁇ '. This step is similar to the second step 52 implemented by the coding method.
  • BG1 Basic matrix
  • the 6A recalls the structure of the basic matrix BG1 as defined in the document ETSI TS 138212 V15.2.0, formed from the matrices ⁇ , ⁇ , ⁇ and ⁇ .
  • the submatrices ⁇ and ⁇ are omitted for simplification.
  • the “1” elements of the basic matrix BG1 represent the connections of the different parity equations.
  • the number of connections per column and per row has been added in Figure 6A.
  • the first column of the matrices ⁇ and ⁇ includes 30 connections
  • the second column includes 28 connections
  • the third column includes 7 connections, etc.
  • the first column of the matrices ⁇ and ⁇ includes 12 connections
  • the second column includes 5 connections, etc.
  • the first four rows of the matrices ⁇ and ⁇ each include 19 connections.
  • the first row of the matrices ⁇ and ⁇ includes 2 connections, the second row includes 7 connections, etc. If we ignore the null matrices ⁇ and identity ⁇ , the minimum number of connections per row is 2 and the maximum number of connections per row is 19. The minimum number of connections per column is 4 and the maximum number of connections per column is 30. There is therefore a strong disparity in the number of connections per row and/or per column in the BG1 matrix.
  • the kernel matrix ⁇ has, in proportion, many connections, i.e. many non-zero elements, because it is the kernel of the BG1 matrix. This allows the decoder, on reception, to find the source data.
  • the parity matrix ⁇ is constructed by replacing each non-zero element of the BG1 matrix with an identity matrix of size ⁇ ⁇ ⁇ , and applying a circular rotation ⁇ according to the factors illustrated in Figure 6B.
  • ETSI TS 138212 V15.2.0 describes the structure of the basis matrix BG2, which can be decomposed into sub-matrices ⁇ , ⁇ , ⁇ , ⁇ , ⁇ and ⁇ .
  • the sub-matrices ⁇ and ⁇ are omitted hereinafter for the sake of simplification.
  • 3GPP has proposed to decompose the BG2 basis matrix into four sub-matrices whose dimension depends on the parameter K.
  • the sub-matrices C and D of the BG2 basis matrix can be represented in a nested form.
  • 5.4 Proposed basis matrices The position of the connections in the BG1 or BG2 basis matrices, as well as the rotation factors to be used, are specified in the 5G 3GPP standard. However, as previously indicated, it remains desirable to improve the performance of error-correcting codes, in particular by reducing the complexity of decoding.
  • the proposed solution thus makes it possible to reduce the energy consumption of the LDPC codec.
  • the invention although presenting a privileged application in the context of 3GPP standards, is not limited to this use and can be envisaged in other contexts, for example for other networks or more generally for other communication systems using LDPC codes.
  • the structure of the proposed basic matrices is defined so as to have a low disparity in the number of connections per row and/or per column.
  • LDPC decoding is based on the probability bases of having transmitted a value equal to "1" or "0". It is therefore desirable to distribute the number of connections homogeneously, so that the number of connections in rows, and especially in columns, is substantially constant or equally distributed, so as to obtain better performances for a reduced number of iterations.
  • the extension matrix ⁇ is generally the largest in terms of its dimensions.
  • the extension matrix ⁇ excluding its first two columns intended to be punctured, has a size of 40 ⁇ 22.
  • the connections can be distributed on diagonals in the extension matrix ⁇ .
  • BG1' a homogeneous number of connections for the proposed basic matrix
  • Each block of ⁇ rows comprises at least one matrix ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ obtained by applying a circular rotation coefficient ⁇ to a diagonal matrix of size ⁇ ⁇ with ⁇ an integer between 0 and ⁇ ⁇ 1 (i.e. at least one complete pattern).
  • the first block 111 comprises three occurrences of a matrix ⁇ 0 7 , corresponding to the identity matrix of size 7.
  • the first block of lines 111 thus comprises a succession of at least two matrices ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ obtained by applying the same circular rotation coefficient ⁇ to said diagonal matrix of size ⁇ ⁇ ⁇ .
  • the second block 112 comprises one occurrence of a matrix ⁇ 6 7 , one occurrence of a matrix ⁇ 1 7 and one occurrence of a matrix ⁇ 3 7 .
  • the third block 113 comprises an occurrence of a matrix ⁇ 2 7 , an occurrence of a matrix ⁇ 3 7 and an occurrence of a matrix ⁇ 4 7 .
  • the fourth block 114 comprises an occurrence of a matrix ⁇ 1 7 , an occurrence of a matrix ⁇ 0 7 and an occurrence of a matrix ⁇ 6 7 .
  • the row blocks 112, 113 and 114 thus each comprise a succession of at least two matrices ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ obtained by applying a distinct circular rotation coefficient ⁇ to the diagonal matrix of size ⁇ ⁇ ⁇ .
  • the row blocks are consecutive, i.e. no row of zero or non-zero elements is interposed between two row blocks.
  • At least one block of ⁇ columns comprises at least two matrices ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ obtained by applying a distinct circular rotation coefficient ⁇ to said diagonal matrix of size ⁇ ⁇ ⁇ .
  • the first block 121 comprises an occurrence of a matrix ⁇ 0 7 , an occurrence of a matrix ⁇ 6 7 , an occurrence of a matrix ⁇ 2 7 and an occurrence of a matrix ⁇ 1 7 .
  • the second block 122 comprises an occurrence of a matrix ⁇ 0 7 , an occurrence of a matrix ⁇ 1 7 , an occurrence of a matrix ⁇ 3 7 and an occurrence of a matrix ⁇ 0 7 .
  • the third block 123 comprises an occurrence of a matrix ⁇ 0 7 , an occurrence of a matrix ⁇ 3 7 , an occurrence of a matrix ⁇ 4 7 and an occurrence of a matrix ⁇ 6 7 .
  • the intersection of a block of rows and a block of columns corresponds to an elementary block formed by a matrix ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ .
  • said extension matrix ⁇ also comprises at least one block of ⁇ ′ rows, ⁇ ′ ⁇ ⁇ , with ⁇ ′ an integer between 1 and ⁇ ⁇ 1 comprising a succession of matrices ⁇ ⁇ ⁇ ⁇ ′ obtained by applying the same circular rotation coefficient ⁇ to a diagonal matrix size ⁇ ′ ⁇ ⁇ ′.
  • Such a block of rows comprises a succession of matrices ⁇ 0 6 .
  • the structure of the extension matrix ⁇ can in particular extend onto the extension matrix ⁇ .
  • the extension matrix ⁇ comprises a portion of a matrix ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ and the extension matrix ⁇ comprises the extension of the portion of the matrix ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ .
  • the extension matrix ⁇ includes three "complete" patterns each corresponding to the matrix ⁇ 0 7 .
  • the fourth pattern is partial and extends into the continuation matrix ⁇ .
  • the continuation matrix ⁇ thus allows "to extend the diagonals" and consequently to increase the overall performance of the LDPCs.
  • the matrices ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ thus be used to decompose the extension matrices ⁇ and continuation matrices ⁇ .
  • the superscript ⁇ gives the dimension of the identity matrix ( ⁇ rows, ⁇ columns), and the subscript ⁇ gives the coefficient of circular rotation applied to the identity matrix to obtain this matrix ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ .
  • the last matrices ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ of a row or a column exceed the dimensions of the extension matrices ⁇ and continuation matrices ⁇ , then they can be truncated.
  • Circular rotations make it possible in particular to minimize the number of short cycles of size 4 and 6 for matrices of the same dimension, for example matrices of dimension (6,6) and (7,7) according to the example of figure 11.
  • the extension and continuation matrices of figure 11 can be expressed in the following form: ⁇ 0 6 ⁇ 0 6 ⁇ 0 6 ⁇ 0 6 ⁇ 0 6 ⁇ 0 7 ⁇ 0 7 ⁇ 0 7 ⁇ 6 7 ⁇ 1 7 ⁇ 3 7 ⁇ 6 7 ⁇ 2 7 ⁇ 3 7 ⁇ 4 7 ⁇ 6 7 ⁇ 1 7 ⁇ 0 7 ⁇ 6 7 ⁇ 6 7 ⁇ 3 7 ⁇ 1 7 ⁇ 6 7 ⁇ 4 7
  • the number of connections per row and per column is shown on the right and at the bottom of the figure.
  • the number of connections per row and/or per column in the proposed extension ⁇ and extension ⁇ matrices is substantially homogeneous (for example, between 3 and 5 for the number of connections per row and between 5 and 6 for the number of connections per column). Such homogeneity makes it possible to optimize the performance of LDPC codecs for a limited number of decoder iterations (less than 10 iterations for example).
  • the extension ⁇ and extension ⁇ matrices are optimized to reduce short cycles. However, if we take into account the basic matrix BG1' formed by the kernel ⁇ , ⁇ , spreading ⁇ and extension ⁇ matrices, short cycles may remain.
  • the kernel matrix A may be identical to or different from that proposed for the basic matrix BG1 according to 3GPP.
  • the kernel matrix A comprises approximately 75% of connections (i.e. non-zero elements) per row.
  • the kernel matrix ⁇ is equal to: V0 V0 V1 V3 V4 V3 V2 V1 V1 V1 V1 V4 V0 V4 V2 V2 V3 V2 V2 V2 V3 V0 V0 V3 V4 V3 V0 V1 V2 V1 V0 V3 V4 V0 V1 V4 V0 V4 V0 V4 V0 V2 V2 V0 V0 V3 V4 V3 V1 V0 V4 V1 V2 V1 V3 V4 V0 V4 V2 V2 V0 V0 V0 V0 V3 V4 V3 V1 V0 V4 V1 V2 V1 V3 V4 V0 V4 V2 V2 V0 V0 V0 V0 V0 V0 V0 V0 V0 V4 V3 V1 V0 V4 V1 V2 V
  • the matrix ⁇ having at least one diagonal is equal to: V1 V0 V0 V0 V0 V0 V0 V1 V0
  • taking rotation factors into account makes it possible to reduce, or even avoid, short cycles. It is therefore possible to increase the diversity of the proposed basic matrix and therefore to reduce the number of short cycles by taking rotation factors into account.
  • another circular rotation operation ⁇ is implemented, making it possible to minimize the number of short cycles of size 4 and size 6 for the entire proposed basic matrix BG1'. It is possible to increase the number of rotation factors to increase the diversity of the basic matrix ⁇ 1'.
  • rotation factors V0 to V4 are chosen.
  • a different number of rotation factors can be chosen, which leads to a different structure for the matrices ⁇ , ⁇ , ⁇ and ⁇ .
  • the parity matrix ⁇ thus obtained can be used by an encoder to encode at least one block of ⁇ . ⁇ ⁇ source data.
  • the structure illustrated in Figure 12 makes it possible in particular to reduce short cycles for small source data, for example for ⁇ . ⁇ ⁇ 256.
  • BG2' a homogeneous number of connections for the proposed base matrix
  • Each block of ⁇ rows comprises at least one matrix ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ obtained by applying a coefficient of circular rotation ⁇ to a diagonal matrix of size ⁇ ⁇ ⁇ , with ⁇ an integer between 0 and ⁇ ⁇ 1 (i.e. at least one complete pattern).
  • the first block 141 comprises two occurrences of a matrix ⁇ 0 5 , corresponding to the identity matrix of size 7.
  • the first block of lines 141 thus comprises a succession of at least two matrices ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ obtained by applying the same circular rotation coefficient ⁇ to the diagonal matrix of size ⁇ ⁇ ⁇ .
  • the second block 142 comprises one occurrence of a matrix ⁇ 4 5 and one occurrence of a ⁇ 3 5 .
  • the third block 143 comprises an occurrence of a matrix ⁇ 0 5 and an occurrence of a matrix ⁇ 1 5 .
  • the fourth block 144 comprises an occurrence of a matrix ⁇ 2 5 and an occurrence of a matrix ⁇ 0 5 .
  • the fifth block 145 comprises an occurrence of a matrix ⁇ 1 5 and an occurrence of a matrix ⁇ 3 5 .
  • the row blocks 141 to 145 thus each comprise a succession of at least two matrices ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ obtained by applying a distinct circular rotation coefficient ⁇ to the diagonal matrix of size ⁇ ⁇ ⁇ .
  • the row blocks ⁇ are consecutive, i.e. no row of zero or non-zero elements is interposed between two row blocks.
  • at least one block of ⁇ columns comprises at least two matrices ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ obtained by applying a distinct circular rotation coefficient ⁇ to said diagonal matrix of size ⁇ ⁇ ⁇ .
  • intersection of a block of rows and a block of columns corresponds to an “elementary block” formed by a matrix ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ .
  • said extension matrix ⁇ also comprises at least one block of ⁇ ′ rows, ⁇ ′ ⁇ ⁇ , with ⁇ ′ an integer between 1 and ⁇ ⁇ 1 comprising a succession of matrices ⁇ ⁇ ⁇ ⁇ ′ obtained by applying the same circular rotation coefficient ⁇ to a diagonal matrix size ⁇ ′ ⁇ ⁇ ′.
  • a block of ⁇ ′ 7 rows is referenced 146 in Figure 14.
  • Such a block of rows comprises a succession of matrices ⁇ 0 7 .
  • the extension matrix ⁇ comprises at least two blocks of ⁇ rows, each block of rows comprising a matrix ⁇ ⁇ ⁇ ⁇ obtained by applying a circular rotation coefficient ⁇ to a diagonal matrix of size ⁇ ⁇ ⁇ .
  • the extension matrix ⁇ comprises nine blocks of 4 rows each comprising the matrix ⁇ 2 4 .
  • the structure of the matrix ⁇ can in particular extend onto the extension matrix ⁇ .
  • the block formed by the last two rows of the matrix ⁇ and the first two rows of the extension matrix D forms a "complete" pattern corresponding to an identity matrix.
  • the extension matrix ⁇ thus allows "to extend the diagonals" and consequently to increase the overall performance of LDPCs.
  • the matrices ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ can thus be used to decompose the extension matrices ⁇ and extension matrices ⁇ .
  • the last matrices ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ of a row or a column exceed the dimensions of the extension matrices ⁇ and extension matrices ⁇ , then they can be truncated.
  • Circular rotations make it possible in particular to minimize the number of short cycles of size 4 and 6 for matrices of the same dimension, for example matrices of dimension (5,5) and (7,7) according to the example in Figure 14.
  • the extension matrix C in Figure 14 can be expressed in the following form: ⁇ 0 5 ⁇ 0 5 ⁇ 4 5 ⁇ 3 5 ⁇ 0 5 ⁇ 1 5 ⁇ 2 5 ⁇ 0 5 ⁇ 1 5 ⁇ 3 5 ⁇ 0 7 ⁇ 0 7 ⁇ 6 7 ⁇ 5 7
  • the continuation matrix ⁇ of Figure 14 in the following form: ⁇ 2 4 ⁇ 2 4 ⁇ 2 4 ⁇ 2 4 ⁇ 2 4 ⁇ 2 4 ⁇ 2 4 ⁇ 2 4 ⁇ 2 4 ⁇ 2 4 ⁇ 2 4 ⁇ 2 4
  • Another example of a continuation matrix ⁇ is given below: ⁇ 0 4 ⁇ 0 4 ⁇ 0 4 ⁇ 0 4 ⁇ 0 4 ⁇ 0 4 ⁇ 0 4 ⁇ 0 4 ⁇ 0 4 ⁇ 0 4 ⁇ 0 4 ⁇ 0 4 ⁇ 0 4
  • Other circular rotations can be applied to the extension matrix ⁇ .
  • the number of connections per row and per column is indicated on the right and at the bottom of the figure.
  • the number of connections per row and/or per column in the proposed extension matrices ⁇ and extension matrices ⁇ is substantially homogeneous (for example, between 2 and 3 for the number of connections per row, and between 9 and 10 for the number of connections per column for the extension matrix ⁇ , and between 10 and 12 for the number of connections per column for the extension matrix ⁇ ).
  • homogeneity allows to optimize the performance of LDPC codecs for a limited number of decoder iterations (less than 10 iterations for example).
  • extension matrices ⁇ and extension ⁇ are also optimized to reduce short cycles.
  • the basic matrix BG2' formed by the kernel matrices ⁇ , ⁇ , spreading ⁇ and extension ⁇ short cycles may remain.
  • the kernel matrix A can be the same as or different from the one proposed for the basic matrix BG2 according to 3GPP.
  • said matrix ⁇ is equal to: V0 V0 V0 V0 V1 V0 V0 V0 V0 V0 V0
  • taking into account the rotation factors makes it possible in particular to reduce, or even avoid, short cycles.
  • the matrices ⁇ , ⁇ and ⁇ have a nested structure according to the value of ⁇ .
  • a parity matrix ⁇ by replacing each empty or zero element of the base matrix ⁇ 2' by a zero matrix of size ⁇ ⁇ ⁇ and each non-zero element of the base matrix ⁇ 2' by an expansion matrix obtained by applying a circular rotation ⁇ to an identity matrix of size ⁇ ⁇ ⁇ .
  • the parity matrix ⁇ thus obtained can be used by an encoder to encode at least one block of ⁇ . ⁇ ⁇ source data.
  • the structure illustrated in Figure 15 makes it possible in particular to reduce short cycles for small source data, for example for ⁇ . ⁇ ⁇ 256.
  • BG2' proposed according to the invention
  • ⁇ 256
  • ⁇ 0
  • 5.5 Decoding The use of basic matrices according to the different embodiments described above makes it possible in particular to improve the decoding performance of LDPC codes.
  • the implementation of a decoding in “reverse” mode is further considered, according to which the parity matrix is decoded from bottom to top (i.e., the parity equations obtained from the last lines of the parity matrix are first sought to be resolved before those obtained from the first lines of the parity matrix).
  • Such decoding in "reverse" mode offers good performance, especially for decoding small source data , for example for ⁇ . ⁇ ⁇ 256. More generally, starting the decoding with the rows of the parity matrix with the fewest connections (bottom of the parity matrix, corresponding to the last rows of the extension ⁇ and extension ⁇ matrices) and ending with the rows of the parity matrix with the most connections (top of the parity matrix, corresponding to the kernel ⁇ matrix and the ⁇ matrix) in "reverse” mode allows the decoder to converge more quickly. Such a decoder therefore requires fewer decoding iterations to achieve similar performance to that obtained for a conventional decoder with the use of the BG1 and BG2 basic matrices according to 3GPP.
  • MinSum type decoders as described in the document “A fully parallel LDPC decoder architecture using probabilistic minsum algorithm for high-throughput applications”, C.-C. Cheng et al., IEEE Trans. Circuits Syst. I, Reg. Papers, vol. 61, no. 9, pp. 2738–2746, Sep. 2014, conventionally used to decode LDPC codes, have better performance if the decoding starts from the end of the parity matrix. It is therefore particularly advantageous to implement a “reverse” type decoding to decode LDPC codes constructed from the basic matrices according to the invention or from the basic matrices according to 3GPP.
  • the decoder algorithm is for example the MinSum, with an alpha parameter equal to 0.7, in “reverse” mode for decoding the data obtained using a parity matrix constructed from a basic matrix BG1' according to an embodiment of the invention, and in “classical” mode for decoding the data obtained using a parity matrix constructed from a basic matrix BG1 according to the 3GPP.
  • Curve 171 illustrates the decoding performance using the basic matrix BG1' according to an embodiment of the invention after 20 iterations of the decoder.
  • Curve 172 illustrates the decoding performance using the basic matrix BG1 after 20 iterations of the decoder.
  • Curve 173 illustrates the decoding performance using the basic matrix BG1' according to an embodiment of the invention after 10 iterations of the decoder.
  • Curve 174 illustrates the decoding performance using the basic matrix BG1 after 10 iterations of the decoder.
  • Curve 175 illustrates the decoding performance using the basic matrix BG1' according to an embodiment of the invention after 5 iterations of the decoder.
  • Curve 176 illustrates the decoding performance using the basic matrix BG1 after 5 iterations of the decoder. It is noted that the structure proposed according to at least one embodiment of the invention makes it possible to improve the performance of the LDPC decoder according to the 5G standard. The difference is all the greater with a lower number of iterations of the decoder.
  • the decoder algorithm is for example the MinSum, with an alpha parameter equal to 0.7, in “reverse” mode for decoding the data obtained using a parity matrix constructed from a BG2' base matrix according to an embodiment of the invention, and in “classical” mode for decoding the data obtained using a parity matrix constructed from a BG2 base matrix according to the 3GPP.
  • Curve 181 illustrates the decoding performance using the BG2' base matrix according to an embodiment of the invention after 20 iterations of the decoder.
  • Curve 182 illustrates the decoding performance using the BG2 base matrix after 20 iterations of the decoder.
  • Curve 183 illustrates the decoding performance using the BG2' base matrix according to an embodiment of the invention after 10 iterations of the decoder.
  • Curve 184 illustrates the decoding performance using the BG2 base matrix after 10 iterations of the decoder.
  • Curve 185 illustrates the decoding performance using the BG2' base matrix according to an embodiment of the invention after 5 iterations of the decoder.
  • Curve 186 illustrates the decoding performance using the BG2 base matrix after 5 iterations of the decoder.
  • the performance illustrated in FIG. 19 is obtained for small code sizes, a rate of 1/5 and five decoding iterations.
  • the decoder algorithm is the MinSum in “classic” mode with an alpha parameter equal to 0.7.
  • an encoder comprises at least one memory 201, at least one processing unit 202, equipped for example with a programmable computing machine or a dedicated computing machine, for example a processor P, and controlled by the computer program 203, implementing steps of the coding method according to at least one embodiment of the invention.
  • the code instructions of the computer program 203 are for example loaded into a RAM memory before being executed by the processor of the processing unit 202.
  • the processor of the processing unit 202 implements steps of the coding method described previously, according to the instructions of the computer program 203, to code the ⁇ . ⁇ ⁇ source data using a parity matrix ⁇ of size ( ⁇ . ⁇ ⁇ ⁇ . ⁇ ), and deliver at least one code word of size ⁇ . ⁇ ⁇ formed of the ⁇ . ⁇ ⁇ source data and ⁇ . ⁇ ⁇ redundancy data.
  • a decoder comprises at least one memory 204, at least one processing unit 205, equipped for example with a programmable computing machine or a dedicated computing machine, for example a processor P, and controlled by the computer program 206, implementing implements steps of the decoding method according to at least one embodiment of the invention.
  • the code instructions of the computer program 206 are for example loaded into a RAM memory before being executed by the processor of the processing unit 205.
  • the processor of the processing unit 205 implements steps of the decoding method described above, according to the instructions of the computer program 206, to decode at least one code word of size ⁇ . ⁇ ⁇ formed from ⁇ . ⁇ ⁇ source data and ⁇ . ⁇ ⁇ redundancy data, using a parity matrix ⁇ of size ( ⁇ . ⁇ ⁇ ⁇ . ⁇ ), and reconstruct the ⁇ . ⁇ source data.

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

L'invention concerne un procédé de codage d'au moins un bloc de K.Z c données source, délivrant au moins un mot de code de taille N.Z c , ledit procédé mettant en œuvre une étape de codage desdites K.Z c données source en utilisant une matrice de parité H. Selon l'invention, ladite matrice de parité H est obtenue à partir d'une matrice de base BG' s'exprimant sous la forme : (I). La matrice d'extension C comprend au moins deux blocs de L lignes et au moins un bloc de L colonnes, avec L un entier compris entre 1 et K — 1, chaque bloc de L lignes comprenant au moins une matrice (II) obtenue en appliquant un coefficient de rotation circulaire α à une matrice diagonale de taille L X L, avec α un entier compris entre 0 et L — 1, ledit au moins un bloc de L colonnes comprenant au moins deux matrices (II) obtenues en appliquant un coefficient de rotation circulaire α distinct à ladite matrice diagonale de taille L X L.

Description

DESCRIPTION Titre : Procédé de codage de données source, procédé de décodage de mots de code, dispositifs et programme d’ordinateur correspondants. 1. Domaine de l’invention Le domaine de l’invention est celui des communications numériques. Plus précisément, l’invention concerne les codes correcteurs d’erreurs, et notamment, mais non exclusivement, les codes correcteurs d’erreurs de type LDPC (en anglais « Low Density Parity Check »). L’invention trouve notamment des applications dans le domaine du stockage ou de la transmission de données, par exemple via des communications sans fil (par exemple par ondes radio ou ondes optiques non guidées) ou filaire (par exemple par fibre optique ou câble électrique). En particulier, l’invention trouve des applications dans tous les domaines où l’on cherche à offrir une bonne fiabilité de transmission, par exemple pour les transmissions radio (Wifi®, 5G, 6G …). 2. Art antérieur La figure 1 illustre un émetteur d’une chaine de transmission numérique. Un tel émetteur utilise des modules classiques de traitement du signal. Ainsi, les données source 11, par exemple des données binaires provenant d’une source génératrice de données de type vidéo (par exemple une source d’images animées, d’images de réalité virtuelle ou augmentée, une source de séquence d’images), de type audio (par exemple la voix), de type de contrôle des flux qu’ils soient de type vidéo ou audio ou autre, ou provenant d’un capteur, d’un actionneur, etc., sont codées dans un bloc de codage canal 12 (appliquant un code correcteur d’erreurs) pour introduire de la redondance. Les données codées sont ensuite entrelacées dans un bloc d’entrelacement 13 (dit « externe ») pour mélanger les données codées. Un bloc de mapping 14 (aussi appelé « codage binaire signal ») permet de convertir les données codées en point de constellation (BPSK, QPSK, 16QAM, etc). Les symboles associés sont mis en trame 15 et modulés dans un bloc de modulation 16 monoporteuse ou multiporteuse, par exemple de type OFDM (« Orthogonal Frequency-Division Multiplexing »). Afin d’améliorer la robustesse des communications via un canal de communication, il est connu d’utiliser des codes correcteurs d’erreurs dans le bloc de codage canal 12. Par exemple, les codes LDPC, les turbo-codes, les codes polaires, ou encore les codes Reed-Salomon offrent de bonnes performances en termes de correction d’erreurs. Les turbo-codes ont notamment été retenus pour la norme de téléphonie mobile 4G, et les LDPC pour la norme de téléphonie mobile 5G. On s’attache ci-après à rappeler les principales caractéristiques des codes LDPC, telles que définies dans la norme 5G notamment. Classiquement, les codes LDPC sont définis par trois paramètres ^^^^, ^^^^ et ^^^^ : - ^^^^ correspond à la taille des données source fournies en entrée du codeur LDPC, par exemple en nombre de bits utiles (ou bits d’information) si l’on considère des données binaires, - ^^^^ correspond à la taille des données de redondance ajoutés par le codeur LDPC, par exemple en nombre de bits de redondance si l’on considère des données binaires, et - ^^^^ correspond à la taille des données issues du codeur LDPC, par exemple en nombre de bits codés, ces bits codés incluant les bits utiles et les bits de redondance. Le rendement de codage est classiquement donné par ^^^^ = ^^^^/^^^^, avec la relation ^^^^ = ^^^^ + ^^^^. Un code LDPC peut notamment être défini par une matrice de parité ^^^^, qui donne les relations de parité entre les données source et les données de redondance. Un exemple de matrice de parité ^^^^ binaire est donné en figure 2. La matrice de parité H comprend M lignes (définissant M équations de parité) et N colonnes. Les valeurs égales à « 1 » dans la matrice de parité ^^^^ correspondent aux connexions (définissant les équations de parité) entre les données utiles et les données de redondance. Plus le nombre de connexions (i.e. de « 1 » dans la matrice de parité ^^^^) est important, plus la complexité du décodeur sera importante. A titre illustratif, suivant l’exemple de la matrice de parité ^^^^ de la figure 2, l’équation de parité définie à la première ligne donne la première donnée de redondance ^^^^(0) : ^^^^(0) = ^^^^(0)^^^^^(1)^^^^^(2)^^^^^(3)^^^^^(4)^^^^^(6)^^^^^(7)^^^^^(9)^^^^^(10)^^^^^(11)^^^^^(12)^^^^^(13) avec : ^^^^(^^^^) = 0 ou 1, et ^ l’opération « ou exclusif ». Dans le document ETSI TS 138 212 V15.2.0, le consortium de normalisation 3GPP a défini deux structures ou matrices de base BG1 et BG2 (« Base Graph » en anglais) permettant de construire 104 matrices de parité ^^^^ de codes LDPC (52 matrices construites à partir de la matrice de base BG1 et 52 matrices construites à partir de la matrice de base BG2). Par exemple, pour la 5G, les dimensions des matrices de base BG1 et BG2 sont : - BG1 : ^^^^ = 22, ^^^^ = 46, ^^^^ = 68 - BG2 : soit ^^^^^^^^ = 6, ^^^^ = 26, ^^^^ = 32, soit ^^^^^^^^ = 8, ^^^^ = 34, ^^^^ = 42, soit ^^^^^^^^ = 9, ^^^^ = 38, ^^^^ = 47, soit ^^^^^^^^ = 10, ^^^^ = 42, ^^^^ = 52. On utilise classiquement la notation ^^^^^^^^ , au lieu de ^^^^, pour la matrice BG2, avec ^^^^^^^^ = {6,8,9,10}. Les matrices de parité ^^^^ sont obtenues à partir des matrices de base BG1 ou BG2, à partir d’un facteur d’expansion ^^^^^^^^ et d’une rotation circulaire ^^^^^^^^ d’une matrice diagonale. Une telle construction est connue sous le nom « Protograph » en anglais et permet d’avoir une description compacte de l’ensemble des matrices. Selon cette technique, une matrice de parité ^^^^ de taille ^^^^.^^^^^^^^ × ^^^^.^^^^^^^^ est obtenue en remplaçant chaque élément non nul de la matrice de base BG1 ou BG2 par une matrice diagonale de taille ^^^^^^^^ × ^^^^^^^^ à laquelle on a appliqué une rotation circulaire ^^^^^^^^ (qui n’est pas nécessairement la même pour tous les éléments non nuls de la matrice de base). Un avantage de cette famille de codeurs LDPC est d’obtenir facilement l’ensemble des matrices de parité ^^^^ tout en limitant l’utilisation de la mémoire. Par exemple, pour un facteur d’expansion ^^^^^^^^ = 8 et une rotation circulaire ^^^^^^^^ = 2, un élément non nul de la matrice de base BG1 ou BG2 est remplacé par la matrice suivante : 0 0 1 0 0 0 0 0 é0 0 0 ù ê 1 0 0 0 0 0 0 0 0 1 0 ú ê 0 0 0 0 0 ú ê 0 0 1 0 0ú ê 0 0 0 0 0 0 1 0ú ê0 0 0 0 0 0 0 1ú ê 1 0 0 0 0 0 0 0ú ë0 1 0 0 0 0 0 0 û Selon le document ETSI TS 138212 V15.2.0, pour chaque matrice de base BG1 ou BG2, il est ainsi possible de construire 52 matrices, classées en huit sous-familles selon la valeur du facteur d’expansion ^^^^^^^^ (compris entre 2 et 384), selon l’index « ils » : Index ils Facteur d’expansion ^^^^^^^^ 0 2,4,8,16,32,128,256 1 3,6,12,24,48,96,192,384 2 5,10,20,40,80,160,320 3 7,14,28,56,112,224 4 9,18,36,72,144,288 5 11,22,44,88,176,352 6 13,26,52,104,208 7 15,30,60,120,240 Ainsi, il est possible de coder des blocs de données source de taille ^^^^.^^^^^^^^ , allant de 12 bits (à partir de la matrice de base BG2 avec ^^^^ = ^^^^^^^^ = 6 et le facteur d’expansion minimal ^^^^^^^^ = 2) à 8448 bits (à partir de la matrice de base BG1 avec ^^^^ = 22 et le facteur d’expansion maximal ^^^^^^^^ = 384). Le choix entre l’utilisation de la matrice de base BG1 ou BG2 s’effectue en fonction de la taille des données source à coder ^^^^.^^^^^^^^ et du rendement de codage ^^^^ souhaité. Ainsi, comme illustré en figure 3, la matrice de base BG1 est principalement utilisée pour les rendements de codage élevés et les tailles importantes des données source à coder, par exemple pour des applications de type eMBB (« enhanced Mobile BroadBand »). La matrice de base BG2 est plutôt utilisée pour coder des blocs de données source de petite taille (par exemple ^^^^.^^^^^^^^ < 292 bits, ou ^^^^.^^^^^^^^ < 3824 bits et ^^^^ < 2/3, ou ^^^^ < 0,25), notamment pour des applications de type URRLC (« Ultra Reliable Low Latency Communications »). Ces deux matrices de base sont notamment conçues pour couvrir les différents usages de la 5G qui peuvent nécessiter un haut débit et/ou une grande fiabilité (robustesse). Par ailleurs, selon la norme 5G, les deux premières colonnes de la matrice de base BG1 ou BG2 sont supprimées avant transmission, ce qui induit que les rendements de base sont respectivement ^^^^^^^^^^^^1 = ^^^^/(^^^^ − 2) = 22/66 = 1/3 et ^^^^^^^^^^^^2 = 10/50 = 1/5. On note par ailleurs que les matrices de base BG1 ou BG2 utilisées pour construire la matrice de parité ^^^^ d’un code LDPC selon la norme 5G peuvent être représentées sous la forme de six sous-matrices ^^^^, ^^^^, 0, ^^^^, ^^^^ et ^^^^, comme décrit dans le document « High Area-Efficient Parallel Encoder with compatible architecture for 5G LDPC codes », Y. Zhu et al., et illustré en figure 4 : �^^^^ ^^^^ 0 ^^^^ ^^^^ ^^^^� avec : ^^^^ une matrice noyau ou Kernel de taille 4 × ^^^^ ^^^^ une matrice présentant au moins une double diagonale de taille 4 × 4 ^^^^ une matrice d’extension de taille (^^^^ − 4) × ^^^^ ^^^^ une matrice de prolongement, également appelée matrice étendue, de taille (^^^^ − 4) × 4 0 une matrice nulle de taille (^^^^ − ^^^^ − 4) × 4 ^^^^ une matrice identité de taille (^^^^ − 4) × (^^^^ − ^^^^ − 4). Bien que les codes LDPC soient reconnus pour leur capacité à garantir des transmissions à haut débit, notamment grâce à la possibilité de paralléliser les opérations au niveau du décodeur, un inconvénient de ces codes est la complexité liée au décodage. En effet, plus le nombre d’itérations de décodage est important, plus le nombre d’opérations à effectuer en réception est important et consommateur en termes de ressources. Le bloc de décodage peut ainsi utiliser jusqu’à 90% des ressources du récepteur. Il peut être considéré comme la partie la plus énergivore de la couche physique, en particulier pour la 5G. Il existe donc un besoin pour une nouvelle technique de codage cherchant à réduire la consommation en énergie du décodeur. 3. Exposé de l’invention L’invention propose une solution nouvelle sous la forme d’un procédé de codage d’au moins un bloc de ^^^^.^^^^^^^^ données source, délivrant au moins un mot de code de taille ^^^^.^^^^^^^^ formé desdites ^^^^.^^^^^^^^ données source et de ^^^^.^^^^^^^^ données de redondance, ^^^^ = ^^^^ + ^^^^, avec ^^^^^^^^ un facteur d’expansion entier, ^^^^^^^^ ≥ 1, ledit procédé mettant en œuvre une étape de codage desdites ^^^^.^^^^^^^^ données source en utilisant une matrice de parité ^^^^ de taille (^^^^.^^^^^^^^ × ^^^^.^^^^^^^^). Selon l’invention, la matrice de parité ^^^^ est obtenue à partir d’une matrice de base ^^^^^^^^’ de taille ^^^^ × ^^^^, en remplaçant chaque élément de ladite matrice de base ^^^^^^^^’ par une matrice d’expansion de taille ^^^^^^^^ × ^^^^^^^^ , de base ^^^^^^^^’ s’exprimant sous la forme : ^^^^^^^^’ ^^^^ 0 avec : ^^^^ une matrice noyau de taille ^^^^ × ^^^^ ^^^^ une matrice présentant au moins une diagonale de taille ^^^^ × ^^^^ ^^^^ une matrice d’extension de taille (^^^^ − ^^^^) × ^^^^ ^^^^ une matrice de prolongement de taille (^^^^ − ^^^^) × ^^^^ 0 une matrice nulle de taille (^^^^ − ^^^^ − ^^^^) × ^^^^ ^^^^ une matrice identité de taille (^^^^ − ^^^^) × (^^^^ − ^^^^ − ^^^^) De plus, la matrice d’extension ^^^^ comprend au moins deux blocs de ^^^^ lignes et au moins un bloc de ^^^^ colonnes, avec ^^^^ un entier compris entre 1 et ^^^^ − 1, chaque bloc de ^^^^ lignes comprenant au moins une matrice ^^^^^ ^ ^^^ ^^ ^ obtenue en appliquant un coefficient de rotation circulaire ^^^^ à une matrice diagonale de taille ^^^^ × ^^^^, avec ^^^^ un compris entre 0 et ^^^^ − 1, ledit au moins un bloc de ^^^^ colonnes comprenant au moins deux ^^^^^ ^ ^^^ ^^ ^ obtenues en appliquant un coefficient de rotation circulaire ^^^^ distinct à ladite matrice diagonale de taille ^^^^ × ^^^^. En d’autres termes, la matrice d’extension ^^^^ comprend, dans un même bloc de ^^^^ colonnes, au moins deux matrices obtenues en appliquant une rotation circulaire distincte à une matrice diagonale de taille ^^^^ × ^^^^. Avantageusement, la matrice formée de la matrice d’extension ^^^^ et de la matrice de prolongement ^^^^ comprend, dans un même bloc de ^^^^ lignes, au moins deux matrices obtenues en appliquant une rotation circulaire à une matrice diagonale de taille ^^^^ × ^^^^. On cherche ainsi à éviter la répétition d’un même motif sur les différents blocs de lignes et/ou blocs de colonnes de la matrice d’extension ^^^^, de façon à obtenir une indépendance entre les lignes de la matrice d’extension ^^^^ et éviter, ou à tout le moins limiter, les cycles courts. On cherche aussi à répartir les éléments non nuls de la matrice d’extension ^^^^ sur ses différentes lignes et/ou colonnes, de façon sensiblement homogène. En particulier, il est possible de faire varier le nombre de connexions par ligne en choisissant la taille ^^^^ des blocs de lignes ou de colonnes. On rappelle à cet effet que plus le nombre de connexions (i.e. d’éléments non nuls dans la matrice de base BG’, et par suite dans la matrice de parité ^^^^) est important, plus la complexité du décodeur est importante. On cherche donc selon un mode de réalisation à réaliser un compromis entre le nombre de connexions et les performances de décodage. La solution proposée cherche ainsi à améliorer la structure d’un codeur LDPC, dans le but d’accélérer la convergence du décodeur et donc de diminuer la consommation d’énergie en réception associée l’utilisation en émission de ce module de codage. Dans un mode de réalisation particulier, les matrices de base proposées correspondent aux exigences définies par le 3GPP dans le document TS 138212 V15.2.0 cité précédemment en termes de taille de blocs à coder ^^^^.^^^^^^^^ et de rendement de codage ^^^^. En particulier, les données codées (mot de code formé des ^^^^.^^^^^^^^ données source et ^^^^.^^^^^^^^ données de redondance) peuvent être stockées dans une mémoire et/ou transmises d’un émetteur vers un récepteur, via un canal de transmission. Selon un mode de réalisation particulier, au moins un desdits blocs de lignes comprend une succession d’au moins deux matrices ^^^^^ ^ ^^ ^^ ^^ en appliquant un coefficient de rotation circulaire ^^^^ distinct à ladite matrice diagonale de taille ^^^^ × ^^^^. A nouveau, on cherche à éviter la répétition d’un même motif au sein d’un même bloc de lignes de la matrice d’extension ^^^^. Notamment, l’utilisation de rotations circulaires distinctes dans un même bloc de lignes permet d’éviter, ou à tout le moins de limiter, les cycles courts de taille 4 ou 6. Il est en effet souhaitable de limiter le nombre de cycles courts, car ils limitent les performances de décodage. En particulier, de tels cycles courts introduisent des planchers d’erreurs ne permettant pas d’atteindre, au décodage, des taux d’erreur bloc (BLER) très faibles en fonction du rapport signal à bruit, par exemple de l’ordre de 10-5 ou 10-6. Selon un mode de réalisation au moins un desdits blocs de lignes comprend une succession d’au moins deux matrices ^^^^^ ^ ^^ ^^ ^^ obtenues en appliquant un même coefficient de rotation circulaire ^^^^ à ladite matrice diagonale de taille ^^^^ × ^^^^. De cette façon, on cherche à éviter la répétition d’un même motif au sein d’un même bloc de colonnes de la matrice d’extension ^^^^. Selon un mode de réalisation particulier, ^^^^ ≥ 5. En particulier, l’utilisation de blocs de ^^^^ ≥ 5 lignes permet notamment d’éviter, ou à tout le moins de limiter, les cycles courts de taille 4. Selon un mode de réalisation particulier, lesdits au moins deux blocs de ^^^^ lignes sont consécutifs, i.e. aucune ligne d’éléments nuls ou non nuls n’est intercalée entre deux blocs de lignes. De cette façon, les éléments non nuls de la matrice d’extension ^^^^ peuvent être répartis de façon homogène sur les différents blocs de lignes. Selon un premier mode de réalisation, la matrice d’extension ^^^^ comprend également au moins un bloc de ^^^^′ lignes, ^^^^′ ≠ ^^^^, avec ^^^^′ un entier compris entre 1 et ^^^^ − 1, comprenant une succession de matrices ^^^^^ ^ ^^^ ^^ ^′ obtenues en appliquant un même coefficient de rotation circulaire ^^^^ à une matrice diagonale de taille ^^^^′ × ^^^^′. Par exemple, le choix d’un nombre de lignes ^^^^′ = 6 pour un premier bloc de lignes, et ^^^^ = 7 pour au moins deux blocs de lignes de la matrice d’extension ^^^^ permet d’éviter les cycles courts de taille 4 ou 6. En particulier, pour au moins un desdits blocs de lignes, ladite matrice d’extension ^^^^ comprend une portion d’une desdites matrices ^^^^^ ^ ^^^ ^^ ^ obtenues en appliquant un coefficient de rotation circulaire ^^^^ à une matrice diagonale de taille ^^^^ × ^^^^, et ladite matrice de prolongement ^^^^ comprend le prolongement de ladite portion. En d’autres termes, la matrice formée de ladite matrice d’extension C et de ladite matrice de prolongement ^^^^ comprend au moins un motif complet représentant la matrice ^^^^^ ^ ^^ ^^ ^^, ainsi qu’éventuellement un motif partiel. Par exemple, ladite matrice d’extension ^^^^ est égale à : V2 V1 V3 V4 V1 V1 V2 V3 V2 V2 V0 V3 V3 V1 V3 V3 V0 V2 V2 V2 V2 V3 V0 V1 V4 V1 V0 V2 V4 V2 V0 V2 V1 V1 V0 V3 V2 V2 V3 V3 V4 V3 V3 V2 V0 V0 V2 V3 V1 V4 V4 V1 V0 V1 V0 V2 V3 V3 V2 V2 V4 V3 V3 V3 V4 V1 V2 V3 V1 V2 V3 V0 V4 V1 V1 V3 V4 V3 V3 V1 V3 V3 V3 V1 V3 V4 V1 V1 V1 V2 V1 V1 V1 V2 V1 V4 V3 V1 V4 V2 V1 V1 V4 V0 V4 V1 V1 V1 V2 V0 V3 V1 V3 V3 V2 V2 V2 V1 V1 V2 V2 V0 V3 V1 V2 V1 V0 V2 V4 ladite matrice de prolongement ^^^^ est égale à : V2 V1 V1 V3 V4 V3 V1 V1 V1 V3 V1 V3 V1 V3 V4 V2 V2 V1 V4 V1 V4 V1 V2 De plus : - chaque élément vide ou nul de ladite matrice de base ^^^^^^^^’ est remplacé par une matrice nulle de taille ^^^^^^^^ × ^^^^^^^^ , - chaque élément non nul de ladite matrice de base ^^^^^^^^’ est remplacé par une matrice d’expansion obtenue en appliquant une rotation circulaire ^^^^^^^^ à une matrice identité de taille ^^^^^^^^ × ^^^^^^^^ , telle que : Rotation circulaire ^^^^^^^^ si ^^^^^^^^ appartient à ^^^^0 = 0 + 4^^^^,^^^^ ∈ [0: 63] {2,4,8,16,32,128,256 } : ^^^^1 = 1 + 4^^^^,^^^^ ∈ [0: 63] ^^^^2 = 2 + 4^^^^,^^^^ ∈ [0: 63] ^^^^3 = 3 + 4^^^^,^^^^ ∈ [0: 63] ^^^^4 = 0 + 4^^^^,^^^^ ∈ [0: 63] si ^^^^^^^^ appartient à ^^^^0 = 0 + 5^^^^ + 6^^^^, ^^^^ ∈ [0: 1] et ^^^^ ∈ [0: 63] {3,6,12,24,48,96,192,384} : ^^^^1 = 1 + 6^^^^,^^^^ ∈ [0: 63] ^^^^2 = 2 + 6^^^^,^^^^ ∈ [0: 63] ^^^^3 = 3 + 6^^^^,^^^^ ∈ [0: 63] ^^^^4 = 4 + 6^^^^,^^^^ ∈ [0: 63] si ^^^^^^^^ appartient à ^^^^0 = 0 + 5^^^^,^^^^ ∈ [0: 63] {5,10,20,40,80,160,320} : ^^^^1 = 1 + 5^^^^,^^^^ ∈ [0: 63] ^^^^2 = 2 + 5^^^^,^^^^ ∈ [0: 63] ^^^^3 = 3 + 5^^^^,^^^^ ∈ [0: 63] ^^^^4 = 4 + 5^^^^,^^^^ ∈ [0: 63] ^^^^0 = 0 + 5^^^^ + 7^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 31] ^^^^1 = 1 + 5^^^^ + 7^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 31] si ^^^^ appartient à ^^^^2 = 2 + 7^^^^,^^^^ ∈ [0: 31] {7,14,28,56,112,224 } : ^^^^3 = 3 + 7^^^^,^^^^ ∈ [0: 31] ^^^^4 = 4 + 7^^^^,^^^^ ∈ [0: 31] si ^^^^^^^^ appartient à ^^^^0 = 0 + 5^^^^ + 9^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 31] {9,18,36,72,144,288 } : ^^^^1 = 1 + 5^^^^ + 9^^^^, ^^^^ ∈ [0: 1]^^^^^^^^ ^^^^ ∈ [0: 31] ^^^^2 = 2 + 5^^^^ + 9^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 31] ^^^^3 = 3 + 5^^^^ + 9^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 31] ^^^^4 = 4 + 9^^^^,^^^^ ∈ [0: 31] si ^^^^^^^^ appartient à ^^^^0 = 0 + 5^^^^ + 11^^^^, ^^^^ ∈ [0: 2] ^^^^^^^^ ^^^^ ∈ [0: 31] {11,22,44,88,176,352 } : ^^^^1 = 1 + 5^^^^ + 11^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 31] ^^^^2 = 2 + 5^^^^ + 11^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 31] ^^^^3 = 3 + 5^^^^ + 11^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 31] ^^^^4 = 4 + 5^^^^ + 11^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 31] si ^^^^^^^^ appartient à ^^^^0 = 0 + 5^^^^ + 13^^^^, ^^^^ ∈ [0: 2] ^^^^^^^^ ^^^^ ∈ [0: 15] {13,26,52,104,208 } : ^^^^1 = 1 + 5^^^^ + 13^^^^, ^^^^ ∈ [0: 2] ^^^^^^^^ ^^^^ ∈ [0: 15] ^^^^2 = 2 + 5^^^^ + 13^^^^, ^^^^ ∈ [0: 2] ^^^^^^^^ ^^^^ ∈ [0: 15] ^^^^3 = 3 + 5^^^^ + 13^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 15] ^^^^4 = 4 + 5^^^^ + 13^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 15] si ^^^^^^^^ appartient à ^^^^0 = 0 + 5^^^^ + 15^^^^, ^^^^ ∈ [0: 2] ^^^^^^^^ ^^^^ ∈ [0: 15] {15,30,60,120,240 } : ^^^^1 = 1 + 5^^^^ + 15^^^^, ^^^^ ∈ [0: 2] ^^^^^^^^ ^^^^ ∈ [0: 15] ^^^^2 = 2 + 5^^^^ + 15^^^^, ^^^^ ∈ [0: 2] ^^^^^^^^ ^^^^ ∈ [0: 15] ^^^^3 = 3 + 5^^^^ + 15^^^^, ^^^^ ∈ [0: 2] ^^^^^^^^ ^^^^ ∈ [0: 15] ^^^^4 = 4 + 5^^^^ + 15^^^^, ^^^^ ∈ [0: 2] ^^^^^^^^ ^^^^ ∈ [0: 15] avec ^^^^ et ^^^^ des variables aléatoires. Par exemple, ^^^^ = 4, ^^^^ = 22 et ^^^^ = 44. On constate que la matrice de base BG’ proposée selon ce premier mode de réalisation présente ainsi un format similaire à la matrice BG1 définie par le 3GPP avec une décomposition en six sous-matrices (^^^^, ^^^^, ^^^^, ^^^^, 0 et ^^^^). Toutefois, sa taille est légèrement différente de celle de la matrice de base BG1. En effet, pour la matrice BG1 définie par le 3GPP, le nombre ^^^^ de données de redondance est égal à 46, alors qu’il est égal à 44 dans la solution proposée. Ceci s’explique par le fait que les deux premières colonnes de la matrice BG1 définie par le 3GPP sont poinçonnées pour améliorer les performances dans la zone « waterfall », i.e. dans la zone où le taux d’erreur bloc du décodeur en fonction du rapport signal à bruit chute rapidement. Du fait de ce poinçonnage des deux premières colonnes, des données source peuvent ne pas être transmises. Deux lignes sont donc ajoutées à la matrice de base BG1 pour ajouter des équations de parité et permettre de reconstruire ces données source. Cette solution permet d’améliorer la robustesse du codec, notamment pour des rendements élevés. En particulier, les deux premières colonnes de la matrice BG1, qui peuvent être poinçonnées, possèdent beaucoup d’éléments non nuls, afin de pouvoir reconstruire les données source. Toutefois, cela revient à augmenter le nombre de connexions et donc le risque de cycle court. Selon l’invention, les deux premières colonnes de la matrice de base BG’ ne sont pas poinçonnées. Il n’est donc pas nécessaire d’ajouter des équations de parité ou de prévoir un grand nombre d’éléments non nuls dans les deux premières colonnes de la matrice de base BG’. De cette façon, il est possible selon l’invention de diminuer le nombre de connexions et donc d’accélérer la convergence du décodeur et de réduire sa consommation énergétique. Selon un deuxième mode de réalisation, la matrice de prolongement ^^^^ comprend au moins deux blocs de ^^^^ lignes, chaque bloc de lignes comprenant une matrice ^^^^ ^^^^ ^^^^ obtenue en appliquant un coefficient de rotation circulaire ^^^^ à une matrice diagonale de taille ^^^^ × ^^^^. L’utilisation de matrices diagonales permet ainsi de répartir les éléments non nuls de la matrice de prolongement ^^^^ sur les différentes lignes et/ou colonnes de la matrice de prolongement ^^^^. Par exemple, ^^^^ = 4 quelle que soit la valeur de ^^^^. Par exemple, lesdites matrice d’extension ^^^^ et de prolongement D sont égales à : pour K=6 : C D V2 V2 V1 V3 V2 V3 V0 V2 V3 V2 V2 V1 V2 V1 V1 V2 V2 V3 V3 V2 V1 V2 V1 V0 V2 V2 V2 V3 V1 V1 V2 V0 V0 V3 V2 V1 V0 V1 V2 V3 V0 V1 pour K=8 : C D V2 V2 V1 V3 V3 V2 V3 V2 V0 V2 V3 V2 V2 V1 V2 V1 V1 V2 V2 V3 V3 V1 V2 V1 V3 V2 V1 V3 V0 V2 V1 V2 V2 V3 V1 V1 V2 V0 V0 V3 V2 V1 V0 V3 V1 V2 V2 V3 V0 V1 V2 V0 V3 V3 V0 V3 V2 V2 V0 V2 V1 V1 V0 V0 V0 V3 V0 V3 V2 V2 V2 V2 pour K=9 : C D V2 V2 V1 V3 V3 V2 V3 V2 V0 V2 V1 V3 V2 V2 V1 V1 V2 V1 V1 V2 V2 V3 V3 V1 V2 V1 V3 V2 V1 V3 V0 V2 V1 V2 V2 V1 V3 V1 V1 V2 V0 V0 V3 V2 V1 V0 V3 V1 V2 V2 V3 V0 V0 V1 V2 V0 V3 V2 V3 V0 V3 V2 V2 V0 V2 V1 V1 V0 V0 V0 V3 V0 V3 V2 V3 V2 V2 V2 V0 V2 V0 V3 V0 V1 V2 V0 Pour K=10 : C D V2 V2 V1 V3 V3 V2 V3 V2 V0 V2 V1 V3 V2 V2 V2 V1 V1 V2 V1 V2 V1 V2 V2 V3 V3 V1 V2 V1 V3 V2 V1 V3 V0 V2 V1 V2 V2 V1 V3 V1 V3 V1 V2 V0 V0 V3 V2 V1 V0 V3 V1 V2 V2 V3 V0 V0 V1 V2 V1 V0 V3 V2 V3 V0 V0 V3 V2 V2 V0 V2 V1 V1 V0 V0 V0 V3 V0 V3 V2 V3 V2 V2 V2 V2 V0 V2 V0 V3 V0 V1 V2 V0 V2 V1 V0 V2 V0 V1 V2 V3 V1 V2 De plus : - chaque élément vide ou nul de ladite matrice de base ^^^^^^^^’ est remplacé par une matrice nulle de taille ^^^^^^^^ × ^^^^^^^^ , - chaque élément non nul de ladite matrice de base ^^^^^^^^’ est remplacé par une matrice de permutation circulaire obtenue en appliquant une rotation circulaire ^^^^^^^^ à une matrice identité de taille ^^^^^^^^ × ^^^^^^^^ , telle que définie précédemment. Par exemple ^^^^ = 4 et : ^^^^ = 6 et ^^^^ = 24, ou ^^^^ = 8 et ^^^^ = 32, ou ^^^^ = 9 et ^^^^ = 36 ou ^^^^ = 10 et ^^^^ = 40. On constate que la matrice de base BG’ proposée selon ce deuxième mode de réalisation présente un format similaire à la matrice BG2 définie par le 3GPP avec une décomposition en six sous-matrices (^^^^, ^^^^, ^^^^, ^^^^, 0 et ^^^^). Toutefois, sa taille est légèrement différente de celle de la matrice de base BG2. En effet, pour la matrice BG2 définie par le 3GPP, le nombre ^^^^ de données de redondance est égal à 26, 34, 38 ou 42 selon la valeur de K, alors qu’il est respectivement égal à 24, 32, 36 ou 40 dans la solution proposée. Ceci s’explique par le fait que les deux premières colonnes de la matrice BG2 définie par le 3GPP sont poinçonnées pour améliorer les performances dans la zone « waterfall ». Du fait de ce poinçonnage des deux premières colonnes, des données source peuvent ne pas être transmises. Deux lignes sont donc ajoutées à la matrice de base BG2 pour ajouter des équations de parité et permettre de reconstruire ces données source. Cette solution permet d’améliorer la robustesse du codec, notamment pour des rendements élevés. En particulier, les deux premières colonnes de la matrice BG1, qui peuvent être poinçonnées, possèdent beaucoup d’éléments non nuls, afin de pouvoir reconstruire les données source. Toutefois, cela revient à augmenter le nombre de connexions et donc le risque de cycle court. Selon l’invention, les deux premières colonnes de la matrice de base BG’ ne sont pas poinçonnées. Il n’est donc pas nécessaire d’ajouter des équations de parité ou de prévoir un grand nombre d’éléments non nuls dans les deux premières colonnes de la matrice de base BG’. De cette façon, il est possible selon l’invention de diminuer le nombre de connexions et donc d’accélérer la convergence du décodeur et de réduire sa consommation énergétique. De même, la suppression de la double diagonale de la matrice B dans un mode de réalisation proposé, par rapport à la matrice de base BG2 définie par le 3GPP, permet de simplifier le codeur. Dans un autre mode de réalisation, l’invention concerne un dispositif de codage correspondant. Un tel dispositif de codage, également appelé codeur, est notamment adaptée à mettre en œuvre le procédé de codage décrit précédemment. Il pourra bien sûr comporter les différentes caractéristiques relatives au procédé selon l’invention, qui peuvent être combinées ou prises isolément. Ainsi, les caractéristiques et avantages du codeur sont les mêmes que ceux du procédé décrit précédemment. Par conséquent, ils ne sont pas détaillés plus amplement. L’invention concerne par ailleurs un procédé et un dispositif de décodage correspondant. Un tel procédé de décodage et notamment adapté à décoder au moins un mot de code construit en utilisant le procédé de codage décrit ci-dessus. Il pourra bien sûr comporter les différentes caractéristiques relatives au procédé de codage selon l’invention, qui peuvent être combinées ou prises isolément. Ainsi, les caractéristiques et avantages du procédé de décodage et du décodeur sont les mêmes que ceux du procédé de codage et du codeur décrits précédemment. Par conséquent, ils ne sont pas détaillés plus amplement. En particulier, le procédé de décodage peut mettre en œuvre un décodage d’une équation de parité obtenue à partir de la dernière ligne de la matrice de parité ^^^^, puis d’une équation de parité obtenue à partir de la ligne précédente de ladite matrice de parité ^^^^, en remontant ligne par ligne jusqu’à la première ligne de la matrice de parité ^^^^. Un tel décodage en mode « reverse » offre de bonnes performances, notamment pour décoder des données source de petites tailles, par exemple pour ^^^^.^^^^^^^^ < 256. L’invention concerne encore un ou plusieurs programmes d’ordinateur comportant des instructions pour la mise en œuvre d’un procédé tel que décrit ci-dessus lorsque ce ou ces programmes sont exécutés par au moins un processeur. L’invention concerne aussi un support d’informations lisible par un ordinateur, et comportant des instructions d’un programme d’ordinateur tel que mentionné ci-dessus. 4. Liste des figures D’autres caractéristiques et avantages de l’invention apparaîtront plus clairement à la lecture de la description suivante d’un mode de réalisation particulier, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels : - la figure 1 illustre un émetteur d’une chaine de transmission numérique classique ; - la figure 2 présente un exemple de matrice de parité ^^^^ pour un code LDPC ; - la figure 3 illustre des critères de sélection de la matrice de base BG1 ou BG2 ; - la figure 4 illustre la décomposition de la matrice de base BG1 ou BG2 en sous-matrices ; - les figures 5A et 5B présentent les principales étapes mises en œuvre par un procédé de codage, respectivement de décodage, selon un mode de réalisation de l’invention ; - la figure 6A et la figure 6B illustrent la structure de la matrice BG1 ; - la figure 7A et la figure 7B illustrent la notion de cycle ; - les figures 8 à 16 présentent différentes structures des matrices de base selon différents modes de réalisation de l’invention ; - les figures 17 à 19 illustrent des courbes de performances d’un décodeur LDPC mettant en œuvre un décodage d’un mot de code obtenu selon un mode de réalisation de l’invention ; - les figures 20A et 20B présentent la structure simplifiée d’un codeur, respectivement d’un décodeur, selon un mode de réalisation de l’invention. 5. Description d’un mode de réalisation de l’invention 5.1 Principe général Le principe général de l’invention repose sur une répartition astucieuse des connexions (i.e. des éléments non nuls) dans une matrice de base ^^^^^^^^’, cherchant à répartir les connexions de façon sensiblement homogène et/ou à limiter le nombre de cycles courts. Par suite, une matrice de parité ^^^^ obtenue à partir de la matrice de base modifiée ^^^^^^^^’ présente une structure particulière. Une telle structure permet d’améliorer les performances des codes correcteurs d’erreurs, notamment en diminuant la complexité du décodage. La figure 5A illustre les principales étapes d’un procédé de codage selon un mode de réalisation de l’invention. Au cours d’une première étape 51, on obtient une matrice de base ^^^^^^^^’ de taille ^^^^ × ^^^^. Une telle matrice de base ^^^^^^^^’ peut être décomposée en six sous-matrices ^^^^, ^^^^, 0, ^^^^, ^^^^, ^^^^, et s’exprimer sous la forme : ^^^^^^^^’ ^^^^ 0 avec : ^^^^ une matrice noyau de taille ^^^^ × ^^^^ ^^^^ une matrice présentant au moins une diagonale de taille ^^^^ × ^^^^ ^^^^ une matrice d’extension de taille (^^^^ − ^^^^) × ^^^^ ^^^^ une matrice de prolongement de taille (^^^^ − ^^^^) × ^^^^ 0 une matrice nulle de taille (^^^^ − ^^^^ − ^^^^) × ^^^^ ^^^^ une matrice identité de taille (^^^^ − ^^^^) × (^^^^ − ^^^^ − ^^^^) En particulier, la matrice d’extension ^^^^ présente une structure particulière et comprend au moins deux blocs de ^^^^ lignes et au moins un bloc de ^^^^ colonnes, avec ^^^^ un entier compris entre 1 et ^^^^ − 1, chaque bloc de ^^^^ lignes comprenant au moins une matrice ^^^^^ ^ ^^^ ^^ ^ obtenue en appliquant un coefficient de rotation circulaire ^^^^ à une matrice diagonale de taille ^^^^ × ^^^^, avec ^^^^ un entier compris entre 0 et ^^^^ − 1, ledit au moins un bloc de ^^^^ colonnes comprenant au moins deux matrices ^^^^^ ^ ^^^ ^^ ^ obtenues en appliquant un coefficient de rotation circulaire ^^^^ distinct à ladite matrice diagonale de taille ^^^^ × ^^^^. Au cours d’une deuxième étape 52, on obtient une matrice de parité ^^^^ à partir de la matrice de base ^^^^^^^^’. Pour ce faire, on remplace chaque élément de la matrice de base ^^^^^^^^’ par une matrice d’expansion de taille ^^^^^^^^ × ^^^^^^^^ , avec ^^^^^^^^ un facteur d’expansion entier, ^^^^^^^^ ≥ 1. Plus précisément, chaque élément nul ou vide de la matrice de base ^^^^^^^^’ est remplacé par une matrice nulle de taille ^^^^^^^^ × ^^^^^^^^, et chaque élément non nul ou non vide de la matrice de base ^^^^^^^^’ est remplacé par une matrice de permutation circulaire, obtenue en appliquant une rotation circulaire ^^^^^^^^ à une matrice identité de taille ^^^^^^^^ × ^^^^^^^^ . Au cours d’une troisième étape 53, au moins un bloc de ^^^^.^^^^^^^^ données source est codé en utilisant la matrice de parité ^^^^ de taille (^^^^.^^^^^^^^ × ^^^^.^^^^^^^^), de façon à obtenir au moins un mot de code de taille ^^^^.^^^^^^^^ formé des ^^^^.^^^^^^^^ données source et de ^^^^.^^^^^^^^ données de redondance, ^^^^ = ^^^^ + ^^^^. Un tel mot de code peut notamment être stocké dans une mémoire du codeur ou transmis par un émetteur à destination d’un récepteur. La figure 5B illustre les principales étapes d’un procédé de décodage selon un mode de réalisation de l’invention. Au cours d’une première étape 54, on obtient une matrice de base ^^^^^^^^’ de taille ^^^^ × ^^^^. Cette étape est similaire à la première étape 51 mise en œuvre par le procédé de codage. Au cours d’une deuxième étape 55, on obtient une matrice de parité ^^^^ à partir de la matrice de base ^^^^^^^^’. Cette étape est similaire à la deuxième étape 52 mise en œuvre par le procédé de codage. Au cours d’une troisième étape 56, au moins un mot de code de taille ^^^^.^^^^^^^^ formé de ^^^^.^^^^^^^^ données source et de ^^^^.^^^^^^^^ données de redondance, ^^^^ = ^^^^ + ^^^^ est décodé en utilisant la matrice de parité ^^^^ de taille (^^^^.^^^^^^^^ × ^^^^.^^^^^^^^), de façon à reconstruire au moins un bloc de ^^^^.^^^^^^^^ données source. 5.2 Matrice de base BG1 Afin de mieux comprendre l’invention, on rappelle en figure 6A la structure de la matrice de base BG1 telle que définie dans le document ETSI TS 138212 V15.2.0, formée des matrices ^^^^, ^^^^, ^^^^ et ^^^^. Les sous-matrices ^^^^ et ^^^^ sont omises par souci de simplification. Les éléments « 1 » de la matrice de base BG1 représentent les connexions des différentes équations de parité. Le nombre de connexions par colonne et par ligne a été ajouté sur la figure 6A. Ainsi, la première colonne des matrices ^^^^ et ^^^^ comprend 30 connexions, la deuxième colonne comprend 28 connexions, la troisième colonne comprend 7 connexions, etc. La première colonne des matrices ^^^^ et ^^^^ comprend 12 connexions, la deuxième colonne comprend 5 connexions, etc. Les quatre premières lignes des matrices ^^^^ et ^^^^ comprennent chacune 19 connexions. La première ligne des matrices ^^^^ et ^^^^ comprend 2 connexions, la deuxième ligne comprend 7 connexions, etc. Si l’on ne tient pas compte des matrices nulle ^^^^ et identité ^^^^, le nombre minimum de connexions par ligne est 2 et le nombre maximum de connexions par ligne est 19. Le nombre minimum de connexions par colonne est 4 et le nombre maximum de connexions par colonne est 30. Il existe donc une forte disparité dans le nombre de connexions par ligne et/ou par colonne dans la matrice BG1. La matrice noyau ^^^^ a, en proportion, beaucoup de connexions, i.e. beaucoup d’éléments non nuls, car c’est le noyau (kernel) de la matrice BG1. Cela permet au décodeur, en réception, de retrouver les données source. On note par ailleurs que les deux premières colonnes de la matrice BG1, qui correspondent aux données non transmises, possèdent également beaucoup de connexions (« 1 »). A titre d’exemple, la figure 6B illustre les facteurs de rotation circulaire ^^^^ pour la matrice BG1 de la figure 6A, pour un facteur d’expansion ^^^^^^^^ = 256. La matrice de parité ^^^^ est construite en remplaçant chaque élément non nul de la matrice BG1 par une matrice identité de taille ^^^^^^^^ × ^^^^^^^^ , et en appliquant une rotation circulaire ^^^^ selon les facteurs illustrés en figure 6B. Ainsi, l’élément « 1 » de la première ligne/première colonne de la matrice BG1 de la figure 6A est remplacé par une matrice identité de taille 256 × 256 à laquelle on applique une rotation circulaire ^^^^ = 250. L’élément « 1 » de la première ligne/deuxième colonne de la matrice BG1 de la figure 6A est remplacé par une matrice identité de taille 256 × 256 à laquelle on applique une rotation circulaire ^^^^ = 69, et ainsi de suite. 5.3 Matrice de base BG2 De la même façon, le document ETSI TS 138212 V15.2.0 décrit la structure de la matrice de base BG2, qui peut être décomposée en sous-matrices ^^^^, ^^^^, ^^^^, ^^^^, ^^^^ et ^^^^. Les sous-matrices ^^^^ et ^^^^ sont omises par la suite par souci de simplification. En particulier, le 3GPP a proposé de décomposer la matrice de base BG2 en quatre sous-matrices dont la dimension dépend du paramètre K. Ce paramètre dépend de la taille des données source à coder (K=6, 8, 9 ou 10). Les sous-matrices C et D de la matrice de base BG2 peuvent être représentées sous une forme imbriquée. 5.4 Matrices de base proposées La position des connexions dans les matrices de base BG1 ou BG2, ainsi que les facteurs de rotation à utiliser, sont précisés dans la norme 5G 3GPP. Toutefois, comme indiqué préalablement, il reste souhaitable d’améliorer les performances des codes correcteurs d’erreurs, notamment en diminuant la complexité du décodage. On propose donc ci-après de nouvelles matrices de base adaptées notamment aux exigences de la 5G (en termes de taille de blocs à coder ^^^^.^^^^^^^^ et de rendement de codage ^^^^) et de futures évolutions, offrant de bonnes performances tout en diminuant la complexité de décodage, par exemple en réduisant le nombre d’itérations de décodage. La solution proposée permet ainsi de réduire la consommation en énergie du codec LDPC. Bien entendu, l’invention, bien que présentant une application privilégiée dans le contexte des standards 3GPP, ne se limite pas à cette utilisation et peut être envisagée dans d’autres contextes, par exemple pour d’autres réseaux ou plus généralement pour d’autres systèmes de communication utilisant des codes LDPC. Selon un mode de réalisation particulier, la structure des matrices de base proposées est définie de sorte à avoir une faible disparité dans le nombre de connexions par ligne et/ou par colonne. En effet, si l’on considère un codeur LDPC par exemple, on rappelle que le décodage LDPC s’appuie sur les bases des probabilités d’avoir transmis une valeur égale à « 1 » ou « 0 ». Il est donc souhaitable de distribuer le nombre de connexions de façon homogène, afin que le nombre de connexions en ligne, et surtout en colonne, soit sensiblement constant ou équiréparti, de façon à obtenir de meilleures performances pour un nombre d’itérations réduit. La structure des matrices de base proposées est également définie de sorte à limiter le nombre de cycles courts, et si possible à éviter les cycles courts (« Girth » en anglais). En effet, de tels cycles courts limitent les performances des codes correcteurs d’erreurs, notamment des codes LDPC, surtout pour des données source de petite taille, par exemple de l’ordre de ^^^^.^^^^^^^^ = 256 bits ou moins. Pour mieux comprendre ce principe, les figures 7A et 7B illustrent les phénomènes de boucles avec un facteur d’expansion ^^^^^^^^ = 4. Selon la figure 7A, on applique un facteur d’expansion ^^^^^^^^ = 4 avec un même facteur de rotation ^^^^1 = ^^^^2 = ^^^^3 = ^^^^4 = 0 aux éléments « 1 » localisés en (^^^^, ^^^^), (^^^^ + 7, ^^^^), (^^^^, ^^^^ + 7) et (^^^^ + 7, ^^^^ + 7). On obtient une boucle, illustrée par les flèches. Selon 7B, on applique un facteur d’expansion ^^^^^^^^ = 4 avec un même facteur de rotation ^^^^1 = ^^^^2 = ^^^^4 = 0 aux éléments « 1 » localisés en position (^^^^, ^^^^), (^^^^ + 7, ^^^^) et (^^^^ + 7, ^^^^ + 7), et un facteur de rotation ^^^^3 = 1 à l’élément localisé en position (^^^^, ^^^^ + 7). Dans ce cas, il n’y a pas de boucle. Le changement de facteur de rotation d’un des éléments de la matrice permet donc d’éliminer les boucles. L’inventeur a ainsi pu définir une règle particulière pour les matrices « Protograph » concernant les cycles courts de longueur de 4 : si (^^^^0 − ^^^^3 + ^^^^4 − ^^^^2) ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ = 0, alors cette configuration provoque un cycle court de longueur de 4 (ou l’alternance de signes correspond au passage d’un bloc élémentaire (grisé en figures 7A et 7B) à un autre bloc élémentaire sur une même ligne (signe « + ») ou sur une même colonne (signe « - ») dans la boucle). Cette équation permet, selon un mode de réalisation de l’invention, de choisir la valeur des coefficients de rotation circulaire permettant de garantir que la matrice de base BG’ n’a pas de cycle de longueur 4, la limite ou le degré de liberté étant donné par la valeur de ^^^^^^^^. Par ailleurs, on présente ci-après différentes solutions permettant d’obtenir une faible disparité dans le nombre de connexions par ligne et/ou par colonne de la matrice de base modifiée et/ou de limiter (voire éviter) les cycles courts. Afin de limiter le nombre de cycles courts, on propose dans un premier temps de ne plus poinçonner les deux premières colonnes des nouvelles matrices noyau ^^^^ et d’extension ^^^^ à l’émission, alors que les deux premières colonnes des matrices noyau ^^^^ et d’extension ^^^^ sont classiquement poinçonnées dans les matrices de base BG1 et BG2 selon le 3GPP. En effet, une telle technique de poinçonnage nécessite un nombre important de connexions dans les deux premières colonnes et peut donc conduire à un nombre important de cycles courts. De plus, elle diminue la vitesse de convergence du décodeur. On cherche donc à s’en affranchir. On cherche par ailleurs à améliorer la répartition des connexions dans la matrice d’extension ^^^^. En effet, la matrice d’extension ^^^^ est généralement la plus importante par sa dimension. Pour la matrice de base BG1 selon le 3GPP par exemple, la matrice d’extension ^^^^, hors ses deux première colonnes destinées à être poinçonnées, présente une taille 40 × 22. Pour la matrice de base BG2 selon le 3GPP, la matrice d’extension ^^^^, hors ses deux première colonnes, présente une taille : 22 × 4 pour ^^^^^^^^ = 6 30 × 6 pour ^^^^^^^^ = 8 34 × 7 pour ^^^^^^^^ = 9 et 38 × 8 pour ^^^^^^^^ = 10. Pour garantir une bonne répartition des connexions selon un mode de réalisation de l’invention, les connexions peuvent être réparties sur des diagonales dans la matrice d’extension ^^^^. Ainsi, toutes les équations de parités sont distinctes entre elles. A titre d’exemple, si l’on considère un bloc de 10 lignes et de 20 colonnes, comme illustré en figure 8, il est possible d’avoir deux occurrences d’une matrice diagonale 10 × 10 sur le bloc de 10 lignes, soient deux connexions en ligne et une en colonne. Selon un autre exemple, si l’on considère deux blocs de 5 lignes et de 20 colonnes comme illustré en figure 9, il est possible d’avoir quatre occurrences d’une matrice diagonale 5 × 5 sur chaque bloc de 5 lignes, soient quatre connexions en ligne et une en colonne par bloc. Il est ainsi possible de faire varier le nombre de connexions par ligne selon la taille des diagonales ou des blocs de lignes. On note toutefois que la configuration illustrée en figure 9 peut introduire des cycles courts de taille 4. Pour pallier ce problème, il est possible d’effectuer une rotation circulaire par « bloc élémentaire », comme illustré en figure 10, en technique décrite en relation avec les figures 7A et 7B. En introduisant une nouvelle variable ^^^^^^ ^^^ ^^ ^ qui définit une matrice identité de taille ^^^^ × ^^^^ et ^^^^ un coefficient de rotation circulaire, les deux blocs de 5 lignes et de 20 colonnes illustrés en figure 10 peuvent être représentés de manière plus compacte sous la forme suivante : ^^^^0 5 ^^^^0 5 ^^^^0 5 ^^^^0 5 ^^^^0 5 ^^^^1 5 ^^^^2 5 ^^^^3 5 Avec cette nouvelle représentation, il est possible de déterminer les différents coefficients de rotation circulaire ^^^^ qui assurent le minimum de cycles de longueur 4, 6 … pour l’ensemble des matrices d’extension C et de prolongement D. 5.4.1 Optimisation des matrices d’extension C et de prolongement D selon un premier exemple On présente un premier exemple de structure pour les matrices d’extension ^^^^ et de prolongement ^^^^, qui peut être utilisé notamment en 5G avec ^^^^ = 4. Selon cet exemple, illustré en figure 11, la matrice d’extension ^^^^ présente une taille (^^^^ − ^^^^) × ^^^^ = 40 × 22 et la matrice de prolongement ^^^^ une taille (^^^^ − ^^^^) × ^^^^ = 40 × 4. Une telle structure permet de limiter le nombre de cycles courts de taille 4 et d’obtenir un nombre homogène de connexions pour la matrice de base proposée, notée BG1’, sensiblement équivalente à la matrice de base BG1 proposée par le 3GPP. Comme illustré en figure 11, la matrice d’extension ^^^^ proposée comprend ainsi au moins deux blocs de ^^^^ lignes, par exemple quatre blocs de ^^^^ = 7 lignes, référencés 111, 112, 113 et 114, et au moins un bloc de ^^^^ colonnes, par exemple trois blocs de ^^^^ = 7 colonnes, référencés 121, 122 et 123. Chaque bloc de ^^^^ lignes comprend au moins une matrice ^^^^^ ^ ^^^ ^^ ^ obtenue en appliquant un coefficient de rotation circulaire ^^^^ à une matrice diagonale de taille ^^^^ × avec ^^^^ un entier compris entre 0 et ^^^^ − 1 (i.e. au moins un motif complet). Par exemple, le premier bloc 111 comprend trois occurrences d’une matrice ^^^^0 7, correspondant à la matrice identité de taille 7. Le premier bloc de lignes 111 comprend ainsi une succession d’au moins deux matrices ^^^^^ ^ ^^ ^^ ^^ obtenues en appliquant un même coefficient de rotation circulaire ^^^^ à ladite matrice diagonale de taille ^^^^ × ^^^^. Le deuxième bloc 112 comprend une occurrence d’une matrice ^^^^6 7, une occurrence d’une matrice ^^^^1 7 et une occurrence d’une matrice ^^^^3 7. Le troisième bloc 113 comprend une occurrence d’une matrice ^^^^2 7, une occurrence d’une matrice ^^^^3 7 et une occurrence d’une matrice ^^^^4 7. Le quatrième bloc 114 comprend une occurrence d’une matrice ^^^^1 7, une occurrence d’une matrice ^^^^0 7 et une occurrence d’une matrice ^^^^6 7. Les blocs de lignes 112, 113 et 114 comprennent ainsi chacun une succession d’au moins deux matrices ^^^^^ ^ ^^^ ^^ ^ obtenues en appliquant un coefficient de rotation circulaire ^^^^ distinct à la matrice diagonale de taille ^^^^ × ^^^^. Selon l’exemple illustré, les blocs de ^^^^ lignes sont consécutifs, i.e. aucune ligne d’éléments nuls ou non nuls n’est intercalée entre deux blocs de lignes. Par ailleurs, au moins un bloc de ^^^^ colonnes comprend au moins deux matrices ^^^^^ ^ ^^^ ^^ ^ obtenues en appliquant un coefficient de rotation circulaire ^^^^ distinct à ladite matrice diagonale de taille ^^^^ × ^^^^. Par exemple, le premier bloc 121 comprend une occurrence d’une matrice ^^^^0 7, une occurrence d’une matrice ^^^^6 7, une occurrence d’une matrice ^^^^2 7 et une occurrence d’une matrice ^^^^1 7. Le deuxième bloc 122 comprend une occurrence d’une matrice ^^^^0 7, une occurrence d’une matrice ^^^^1 7, une occurrence d’une matrice ^^^^3 7 et une occurrence d’une matrice ^^^^0 7. Le troisième bloc 123 comprend une occurrence d’une matrice ^^^^0 7, une occurrence d’une matrice ^^^^3 7, une occurrence d’une matrice ^^^^4 7 et une occurrence d’une matrice ^^^^6 7. L’intersection d'un bloc de lignes et d’un bloc de colonnes correspond à un bloc élémentaire formé par une matrice ^^^^^ ^ ^^ ^^ ^^. On note par ailleurs que ladite matrice d’extension ^^^^ comprend également au moins un bloc de ^^^^′ lignes, ^^^^′ ≠ ^^^^, avec ^^^^′ un entier compris entre 1 et ^^^^ − 1 comprenant une succession de matrices ^^^^^^ ^^ ^^ ^^′ obtenues en appliquant un même coefficient de rotation circulaire ^^^^ à une matrice diagonale taille ^^^^′ × ^^^^′. Par exemple, un tel bloc de ^^^^′ = 6 lignes est référencé 110 sur la figure 11. Un tel bloc de lignes comprend une succession de matrices ^^^^0 6. La structure de la matrice d’extension ^^^^ peut notamment se prolonger sur la matrice de prolongement ^^^^. Ainsi, pour au moins un bloc de lignes, la matrice d’extension ^^^^ comprend une portion d’une matrice ^^^^^ ^ ^^^ ^^ ^ et la matrice de prolongement ^^^^ comprend le prolongement de la portion de la matrice ^^^^^ ^ ^^^ ^^ ^. Par exemple, en revenant à la figure 11, si l’on considère le premier bloc de 7 lignes 111, avec les 22 premières colonnes appartenant à la matrice d’extension ^^^^ et les 4 dernières colonnes appartenant à la matrice de prolongement ^^^^, la matrice d’extension ^^^^ comprend trois motifs « complets » correspondant chacun à la matrice ^^^^0 7. Le quatrième motif est partiel et se prolonge dans la matrice de prolongement ^^^^. La matrice de prolongement ^^^^ permet ainsi permet « d’étendre les diagonales » et par conséquent d’augmenter les performances globales des LDPC. Les matrices ^^^^^ ^ ^^^ ^^ ^ ainsi être utilisées pour décomposer les matrices d’extension ^^^^ et de prolongement ^^^^. Comme déjà indiqué, l’exposant ^^^^ donne la dimension de la matrice identité (^^^^ lignes, ^^^^ colonnes), et l’indice ^^^^ donne le coefficient de rotation circulaire appliquée à la matrice identité pour obtenir cette matrice ^^^^^ ^ ^^^ ^^ ^. En particulier, si les dernières matrices ^^^^^ ^ ^^ ^^ ^^ d’une ligne ou d’une colonne dépassent les dimensions des matrices d’extension ^^^^ et de prolongement ^^^^, alors elles peuvent être tronquées. Les rotations circulaires permettent notamment de minimiser le nombre de cycles courts de taille 4 et 6 pour les matrices de même dimension, par exemple les matrices de dimension (6,6) et (7,7) selon l’exemple de la figure 11. En reprenant la notation compacte proposée ci-dessus, les matrices d’extension et de prolongement de la figure 11 peuvent s’exprimer sous la forme suivante : ^^^^0 6 ^^^^0 6 ^^^^0 6 ^^^^0 6 ^^^^0 6 ^^^^0 7 ^^^^0 7 ^^^^0 7 ^^^^0 7 ^^^^6 7 ^^^^1 7 ^^^^3 7 ^^^^6 7 ^^^^2 7 ^^^^3 7 ^^^^4 7 ^^^^6 7 ^^^^1 7 ^^^^0 7 ^^^^6 7 ^^^^6 7 ^^^^3 7 ^^^^1 7 ^^^^6 7 ^^^^4 7 En revenant à la figure 11, le nombre de connexions par ligne et par colonne est indiqué à droite et en bas de la figure. Grâce à l’utilisation de matrices diagonales auxquelles on applique une rotation circulaire, on constate que le nombre de connexions par ligne et/ou par colonne dans les matrices d’extension ^^^^ et de prolongement ^^^^ proposées est sensiblement homogène (par exemple compris entre 3 et 5 pour le nombre de connexions par ligne et compris entre 5 et 6 pour le nombre de connexions par colonne). Une telle homogénéité permet d’optimiser les performances des codecs LDPC pour un nombre limité d’itérations du décodeur (inférieur à 10 itérations par exemple). Dans les exemples ci-dessus, les matrices d’extension ^^^^ et de prolongement ^^^^ sont optimisées pour diminuer les cycles courts. Toutefois, si nous prenons en compte la matrice de base BG1’ formée des matrices noyau ^^^^, ^^^^, d’étalement ^^^^ et de prolongement ^^^^, il peut rester des cycles courts. La matrice noyau A peut être identique à ou différente de celle proposée pour la matrice de base BG1 selon le 3GPP. Avantageusement, la matrice noyau A comprend environ 75% de connexions (i.e. d’éléments non nuls) par ligne. Par exemple, la matrice noyau ^^^^ est égale à : V0 V0 V1 V3 V4 V3 V2 V1 V1 V1 V1 V4 V0 V4 V2 V2 V3 V2 V2 V2 V2 V3 V0 V0 V3 V4 V3 V0 V1 V2 V1 V0 V3 V4 V0 V1 V4 V0 V4 V0 V2 V2 V0 V0 V3 V4 V3 V1 V0 V4 V1 V2 V1 V3 V4 V0 V4 V2 V2 V2 V0 V0 V0 De même, la matrice B, qui comprend le début de la partie redondance associée à la matrice noyau A, peut être identique à ou différente de celle proposée pour la matrice de base BG1 selon le 3GPP. Par exemple, la matrice ^^^^ présentant au moins une diagonale est égale à : V1 V0 V0 V0 V0 V0 V0 V1 V0 Comme illustré en figure 7B, la prise en compte des facteurs de rotation permet notamment de diminuer, voire éviter, les cycles courts. Il est donc possible d’augmenter la diversité de la matrice de base proposée et donc de diminuer le nombre de cycles courts en tenant compte des facteurs de rotation. En d’autres termes, pour chaque connexion identifiée par une valeur « 1 » dans les matrices ^^^^, ^^^^, ^^^^ et ^^^^, une autre opération de rotation circulaire ^^^^^^^^ est mise en œuvre, permettant de minimiser le nombre de cycles court de taille 4 et de taille 6 pour l’ensemble de la matrice de base BG1’ proposée. Il est possible d’augmenter le nombre de facteurs de rotation pour augmenter la diversité de la matrice de base ^^^^^^^^1’. On choisit par exemple cinq facteurs de rotation notés V0 à V4. Bien entendu un nombre différent de facteurs de rotation peut être choisi, ce qui conduit à une structure différente pour les matrices ^^^^, ^^^^, ^^^^ et ^^^^. Il est notamment possible de définir les équations qui définissent les facteurs de rotation V0 à V4 en fonction de l’indice « ils » selon la norme 5G 3GPP. Index « ils » Rotation Circulaire ^^^^^^^^ ^^^^0 = 0 + 4^^^^,^^^^ ∈ [0: 63] ^^^^1 = 1 + 4^^^^,^^^^ ∈ [0: 63] 0 ^^^^2 = 2 + 4^^^^,^^^^ ∈ [0: 63] ^^^^3 = 3 + 4^^^^,^^^^ ∈ [0: 63] ^^^^4 = 0 + 4^^^^,^^^^ ∈ [0: 63] ^^^^0 = 0 + 5^^^^ + 6^^^^, ^^^^ ∈ [0: 1] et ^^^^ ∈ [0: 63] ^^^^1 = 1 + 6^^^^,^^^^ ∈ [0: 63] 1 ^^^^2 = 2 + 6^^^^,^^^^ ∈ [0: 63] ^^^^3 = 3 + 6^^^^,^^^^ ∈ [0: 63] ^^^^4 = 4 + 6^^^^,^^^^ ∈ [0: 63] ^^^^0 = 0 + 5^^^^,^^^^ ∈ [0: 63] ^^^^1 = 1 + 5^^^^,^^^^ ∈ [0: 63] 2 ^^^^2 = 2 + 5^^^^,^^^^ ∈ [0: 63] ^^^^3 = 3 + 5^^^^,^^^^ ∈ [0: 63] ^^^^4 = 4 + 5^^^^,^^^^ ∈ [0: 63] ^^^^0 = 0 + 5^^^^ + 7^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 31] ^^^^1 = 1 + 5^^^^ + 7^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 31] 3 ^^^^2 = 2 + 7^^^^,^^^^ ∈ [0: 31] ^^^^3 = 3 + 7^^^^,^^^^ ∈ [0: 31] ^^^^4 = 4 + 7^^^^,^^^^ ∈ [0: 31] ^^^^0 = 0 + 5^^^^ + 9^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 31] ^^^^1 = 1 + 5^^^^ + 9^^^^, ^^^^ ∈ [0: 1]^^^^^^^^ ^^^^ ∈ [0: 31] 4 ^^^^2 = 2 + 5^^^^ + 9^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 31] ^^^^3 = 3 + 5^^^^ + 9^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 31] ^^^^4 = 4 + 9^^^^,^^^^ ∈ [0: 31] ^^^^0 = 0 + 5^^^^ + 11^^^^, ^^^^ ∈ [0: 2] ^^^^^^^^ ^^^^ ∈ [0: 31] ^^^^1 = 1 + 5^^^^ + 11^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 31] 5 ^^^^2 = 2 + 5^^^^ + 11^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 31] ^^^^3 = 3 + 5^^^^ + 11^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 31] ^^^^4 = 4 + 5^^^^ + 11^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 31] ^^^^0 = 0 + 5^^^^ + 13^^^^, ^^^^ ∈ [0: 2] ^^^^^^^^ ^^^^ ∈ [0: 15] ^^^^1 = 1 + 5^^^^ + 13^^^^, ^^^^ ∈ [0: 2] ^^^^^^^^ ^^^^ ∈ [0: 15] 6 ^^^^2 = 2 + 5^^^^ + 13^^^^, ^^^^ ∈ [0: 2] ^^^^^^^^ ^^^^ ∈ [0: 15] ^^^^3 = 3 + 5^^^^ + 13^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 15] ^^^^4 = 4 + 5^^^^ + 13^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 15] ^^^^0 = 0 + 5^^^^ + 15^^^^, ^^^^ ∈ [0: 2] ^^^^^^^^ ^^^^ ∈ [0: 15] ^^^^1 = 1 + 5^^^^ + 15^^^^, ^^^^ ∈ [0: 2] ^^^^^^^^ ^^^^ ∈ [0: 15] 7 ^^^^2 = 2 + 5^^^^ + 15^^^^, ^^^^ ∈ [0: 2] ^^^^^^^^ ^^^^ ∈ [0: 15] ^^^^3 = 3 + 5^^^^ + 15^^^^, ^^^^ ∈ [0: 2] ^^^^^^^^ ^^^^ ∈ [0: 15] ^^^^4 = 4 + 5^^^^ + 15^^^^, ^^^^ ∈ [0: 2] ^^^^^^^^ ^^^^ ∈ [0: 15] avec ^^^^ et ^^^^ des variables aléatoires dont l’intervalle est donné dans le tableau ci-dessus. La figure 12 donne un exemple de matrice de base BG1’ proposée selon l’invention, pour un facteur d’expansion ^^^^^^^^ = 256, dans laquelle les matrices ^^^^ et ^^^^ sont construites à partir de matrices identités de longueur 6 ou 7 auxquelles on a appliqué des rotations circulaires (^^^^^ 6 ^^^ ou ^^^^^ 7 ^^^). On rappelle que les matrices 0 et I ne sont pas illustrées par soucis de simplification. A partir de la matrice de base BG1’ ainsi obtenue, il est possible d’obtenir une matrice de parité ^^^^, en remplaçant chaque élément vide ou nul de la matrice de base ^^^^^^^^1’ par une matrice nulle de taille ^^^^^^^^ × ^^^^^^^^ et chaque élément non nul de la matrice de base ^^^^^^^^1’ par une matrice d’expansion obtenue en appliquant une rotation circulaire ^^^^^^^^ à une matrice identité de taille ^^^^^^^^ × ^^^^^^^^ . La matrice de parité ^^^^ ainsi obtenue peut être utilisée par un codeur pour coder au moins un bloc de ^^^^.^^^^^^^^ données source. La structure illustrée en figure 12 permet notamment de diminuer les cycles courts pour des données source de petites tailles, par exemple pour ^^^^.^^^^^^^^ < 256. La figure 13 donne un autre exemple de matrice de base BG1’ proposée selon l’invention, pour un facteur d’expansion ^^^^^^^^ = 256, un indice ^^^^^^^^^^^^ = 0, et ^^^^ = 50, avec une nouvelle structure pour la matrice ^^^^. 5.4.2 Optimisation des matrices d’extension C et de prolongement D selon un deuxième exemple On présente ci-après un deuxième exemple de structure pour les matrices d’extension ^^^^ et de prolongement ^^^^, qui peut également être utilisé en 5G avec ^^^^ = 4. Selon cet exemple, illustré en figure 14, les matrices d’extension ^^^^ et de prolongement ^^^^ présentent une taille qui dépend de ^^^^ = ^^^^^^^^ = {6, 8, 9, 10}. Notamment, les matrices ^^^^,^^^^ et ^^^^ présentent une structure imbriquée selon la valeur de ^^^^. Si ^^^^ = 6, la matrice d’extension ^^^^ présente une taille (^^^^ − ^^^^) × ^^^^ = 20 × 6 et la matrice de prolongement ^^^^ une taille (^^^^ − ^^^^) × ^^^^ = 20 × 4. Si ^^^^ = 8, la matrice d’extension ^^^^ présente une taille (^^^^ − ^^^^) × ^^^^ = 28 × 8 et la matrice de prolongement ^^^^ une taille (^^^^ − ^^^^) × ^^^^ = 28 × 4. Si ^^^^ = 9, la matrice d’extension ^^^^ présente une taille (^^^^ − ^^^^) × ^^^^ = 32 × 9 et la matrice de prolongement ^^^^ une taille (^^^^ − ^^^^) × ^^^^ = 32 × 4. Si ^^^^ = 10, la matrice d’extension ^^^^ présente une taille (^^^^ − ^^^^) × ^^^^ = 34 × 10 et la matrice de prolongement ^^^^ une taille (^^^^ − ^^^^) × ^^^^ = 34 × 4. Une telle structure permet de limiter le nombre de cycles courts de taille 4 et d’obtenir un nombre homogène de connexions pour la matrice de base proposée, notée BG2’, sensiblement équivalente à la matrice de base BG2 proposée par le 3GPP. On décrit ci-après le cas où ^^^^ = 10. Une description similaire pourrait être faite pour les autres valeurs de ^^^^. Comme illustré en figure 14, la matrice d’extension ^^^^ proposée comprend au moins deux blocs de ^^^^ lignes, par exemple cinq blocs de ^^^^ = 5 lignes, référencés 141, 142, 143, 144 et 145, et au moins un bloc de ^^^^ colonnes, par exemple deux blocs de ^^^^ = 5 colonnes. Chaque bloc de ^^^^ lignes comprend au moins une matrice ^^^^^ ^ ^^^ ^^ ^ obtenue en appliquant un coefficient de rotation circulaire ^^^^ à une matrice diagonale de taille ^^^^ × ^^^^, avec ^^^^ un entier compris entre 0 et ^^^^ − 1 (i.e. au moins un motif complet). Par exemple, le premier bloc 141 comprend deux occurrences d’une matrice ^^^^0 5, correspondant à la matrice identité de taille 7. Le premier bloc de lignes 141 comprend ainsi une succession d’au moins deux matrices ^^^^^ ^ ^^ ^^ ^^ obtenues en appliquant un même coefficient de rotation circulaire ^^^^ à la matrice diagonale de taille ^^^^ × ^^^^. Le deuxième bloc 142 comprend une occurrence d’une matrice ^^^^4 5 et une occurrence d’une ^^^^3 5. Le troisième bloc 143 comprend une occurrence d’une matrice ^^^^0 5 et une occurrence d’une matrice ^^^^1 5. Le quatrième bloc 144 comprend une occurrence d’une matrice ^^^^2 5 et une occurrence d’une matrice ^^^^0 5. Le cinquième bloc 145 comprend une occurrence d’une matrice ^^^^1 5 et une occurrence d’une matrice ^^^^3 5. Les blocs de lignes 141 à 145 comprennent ainsi chacun une succession d’au moins deux matrices ^^^^^ ^ ^^^ ^^ ^ obtenues en appliquant un coefficient de rotation circulaire ^^^^ distinct à la matrice diagonale de taille ^^^^ × ^^^^. Selon l’exemple illustré, les blocs de ^^^^ lignes sont consécutifs, i.e. aucune ligne d’éléments nuls ou non nuls n’est intercalée entre deux blocs de lignes. Par ailleurs, au moins un bloc de ^^^^ colonnes comprend au moins deux matrices ^^^^^ ^ ^^^ ^^ ^ obtenues en appliquant un coefficient de rotation circulaire ^^^^ distinct à ladite matrice diagonale de taille ^^^^ × ^^^^. Par exemple, le premier bloc de ^^^^ = 5 colonnes comprend une occurrence d’une matrice ^^^^5 0, une occurrence d’une matrice ^^^^4 5, une occurrence d’une matrice ^^^^0 5, et une occurrence d’une matrice ^^^^2 5 et une occurrence d’une matrice ^^^^5 1. Le deuxième bloc de ^^^^ = 5 colonnes comprend une occurrence d’une matrice ^^^^0 5, une occurrence d’une matrice ^^^^3 5, une occurrence d’une matrice ^^^^1 5, une occurrence d’une matrice ^^^^0 5 et une occurrence d’une matrice ^^^^3 5. L’intersection d'un bloc de lignes et d’un bloc de colonnes correspond à un « bloc élémentaire » formé par une matrice ^^^^^ ^ ^^ ^^ ^^. On note par ailleurs que ladite matrice d’extension ^^^^ comprend également au moins un bloc de ^^^^′ lignes, ^^^^′ ≠ ^^^^, avec ^^^^′ un entier compris entre 1 et ^^^^ − 1 comprenant une succession de matrices ^^^^^^ ^^ ^^ ^^′ obtenues en appliquant un même coefficient de rotation circulaire ^^^^ à une matrice diagonale taille ^^^^′ × ^^^^′. Par exemple, un tel bloc de ^^^^′ = 7 lignes est référencé 146 sur la figure 14. Un tel bloc de lignes comprend une succession de matrices ^^^^0 7. Selon le mode de réalisation illustré en figure 14, la matrice de prolongement ^^^^ comprend au moins deux blocs de ^^^^ lignes, chaque bloc de lignes comprenant une matrice ^^^^ ^^^^ ^^^^ obtenue en appliquant un coefficient de rotation circulaire ^^^^ à une matrice diagonale de taille ^^^^ × ^^^^. Par exemple, la matrice de prolongement ^^^^ comprend neuf blocs de 4 lignes comprenant chacun la matrice ^^^^2 4. La structure de la matrice ^^^^ peut notamment se prolonger sur la matrice de prolongement ^^^^. Par exemple, en revenant à la figure 14, le bloc formé des deux dernières lignes de la matrice ^^^^ et des deux premières lignes de la matrice de prolongement D forme un motif « complet » correspondant à une matrice identité. La matrice de prolongement ^^^^ permet ainsi permet « d’étendre les diagonales » et par conséquent d’augmenter les performances globales des LDPC. Les matrices ^^^^^ ^ ^^^ ^^ ^ peuvent ainsi être utilisées pour décomposer les matrices d’extension ^^^^ et de prolongement ^^^^. En particulier, si les dernières matrices ^^^^^ ^ ^^ ^^ ^^ d’une ligne ou d’une colonne dépassent les dimensions des matrices d’extension ^^^^ et de prolongement ^^^^, alors elles peuvent être tronquées. Les rotations circulaires permettent notamment de minimiser le nombre de cycles courts de taille 4 et 6 pour les matrices de même dimension, par exemple les matrices de dimension (5,5) et (7,7) selon l’exemple de la figure 14. En reprenant la notation compacte proposée ci-dessus, la matrice d’extension C de la figure 14 peut s’exprimer sous la forme suivante : ^^^^0 5 ^^^^0 5 ^^^^4 5 ^^^^3 5 ^^^^0 5 ^^^^1 5 ^^^^2 5 ^^^^0 5 ^^^^1 5 ^^^^3 5 ^^^^0 7 ^^^^0 7 ^^^^6 7 ^^^^5 7 Et la matrice de prolongement ^^^^ de la figure 14 sous la forme suivante : ^^^^2 4 ^^^^2 4 ^^^^2 4 ^^^^2 4 ^^^^2 4 ^^^^2 4 ^^^^2 4 ^^^^2 4 ^^^^2 4 Un autre exemple de matrice de prolongement ^^^^ est donné ci-après : ^^^^0 4 ^^^^0 4 ^^^^0 4 ^^^^0 4 ^^^^0 4 ^^^^0 4 ^^^^0 4 ^^^^0 4 ^^^^0 4 D’autres rotations circulaires peuvent être appliquée à la matrice de prolongement ^^^^. En revenant à la figure 14, le nombre de connexions par ligne et par colonne est indiqué à droite et en bas de la figure. Grâce à l’utilisation de matrices diagonales auxquelles on applique une rotation circulaire, on constate que le nombre de connexions par ligne et/ou par colonne dans les matrices d’extension ^^^^ et de prolongement ^^^^ proposées est sensiblement homogène (par exemple compris entre 2 et 3 pour le nombre de connexions par ligne, et compris entre 9 et 10 pour le nombre de connexions par colonne pour la matrice d’extension ^^^^, et entre 10 et 12 pour le nombre de connexions par colonne pour la matrice de prolongement ^^^^). Comme déjà indiqué, une telle homogénéité permet d’optimiser les performances des codecs LDPC pour un nombre limité d’itérations du décodeur (inférieur à 10 itérations par exemple). Dans les exemples ci-dessus, les matrices d’extension ^^^^ et de prolongement ^^^^ sont également optimisées pour diminuer les cycles courts. Toutefois, comme indiqué précédemment, si nous prenons en compte la matrice de base BG2’ formée des matrices noyau ^^^^, ^^^^, d’étalement ^^^^ et de prolongement ^^^^, il peut rester des cycles courts. La matrice noyau A peut être identique à ou différente de celle proposée pour la matrice de base BG2 selon le 3GPP. Par exemple, selon la valeur de ^^^^, ladite matrice noyau ^^^^ est égale à : pour K=10 pour K=9 pour K=8 pour K=6 V1 V0 V3 V2 V1 V4 V3 V2 V4 V0 V3 V2 V4 V2 V3 V0 V2 V0 V3 V4 V2 V3 V1 V1 V3 V4 V4 La matrice B, qui comprend le début de la partie redondance associée à la matrice noyau A, peut également être identique à ou différente de celle proposée pour la matrice de base BG2 selon le 3GPP. Par exemple, ladite matrice ^^^^ est égale à : V0 V0 V0 V0 V1 V0 V0 V0 V0 Comme illustré en figure 7B, la prise en compte des facteurs de rotation permet notamment de diminuer, voire éviter, les cycles courts. Il est donc possible d’augmenter la diversité de la matrice de base proposée et donc de diminuer le nombre de cycles courts en tenant compte des facteurs de rotation. En d’autres termes, pour chaque connexion identifiée par une valeur « 1 » dans les matrices ^^^^, ^^^^, ^^^^ et ^^^^, une autre opération de rotation circulaire ^^^^^^^^ est mise en œuvre, permettant de minimiser le nombre de cycles court de taille 4 et de taille 6 pour l’ensemble de la matrice de base BG2’ proposée. Il est possible d’augmenter le nombre de facteurs de rotation pour augmenter la diversité de la matrice de base ^^^^^^^^2’. On choisit par exemple cinq facteurs de rotation notés V0 à V4, comme défini ci-dessus pour la matrice de base proposée BG1’. Bien entendu, un nombre différent de facteurs de rotation peut être choisi, ce qui conduit à une structure différente pour les matrices ^^^^, ^^^^, ^^^^ et ^^^^. Il est notamment possible de définir les équations qui définissent les facteurs de rotation V0 à V4 en fonction de l’indice « ils » selon la norme 5G 3GPP définis précédemment. La figure 15 donne un exemple de matrice de base BG2’ proposée selon l’invention, pour un facteur d’expansion ^^^^^^^^ = 256, dans laquelle la matrice d’extension ^^^^ est construite à partir de cinq matrices identité de longueur 5 et de deux matrices identité de longueur 7 auxquelles on a appliqué des rotations circulaires (^^^^^ 5 ^^^ ou ^^^^^ 7 ^^^) et la matrice de prolongement ^^^^ est construite à partir de matrices identité de longueur rappelle que les matrices 0 et I ne sont pas illustrées par soucis de simplification. Selon l’exemple illustré en figure 15, les matrices ^^^^,^^^^ et ^^^^ présentent une structure imbriquée selon la valeur de ^^^^. A partir de la matrice de base BG2’ ainsi obtenue, il est possible d’obtenir une matrice de parité ^^^^, en remplaçant chaque élément vide ou nul de la matrice de base ^^^^^^^^2’ par une matrice nulle de taille ^^^^^^^^ × ^^^^^^^^ et chaque élément non nul de la matrice de base ^^^^^^^^2’ par une matrice d’expansion obtenue en appliquant une rotation circulaire ^^^^^^^^ à une matrice identité de taille ^^^^^^^^ × ^^^^^^^^ . La matrice de parité ^^^^ ainsi obtenue peut être utilisée par un codeur pour coder au moins un bloc de ^^^^.^^^^^^^^ données source. La structure illustrée en figure 15 permet notamment de diminuer les cycles courts pour des données source de petites tailles, par exemple pour ^^^^.^^^^^^^^ < 256. La figure 16 donne un autre exemple de matrice de base BG2’ proposée selon l’invention, pour un facteur d’expansion ^^^^^^^^ = 256, un indice ^^^^^^^^^^^^ = 0, et ^^^^ = 50, avec une nouvelle structure pour la matrice ^^^^. 5.5 Décodage L’utilisation de matrices de base selon les différents modes de réalisation décrits ci-dessus permet notamment d’améliorer les performances de décodage des codes LDPC. Dans le mode de réalisation décrit ici, on considère en outre la mise en œuvre d’un décodage en mode « reverse », selon lequel on décode du bas vers le haut la matrice de parité (i.e. on cherche d’abord à résoudre les équations de parité obtenues à partir des dernières lignes de la matrice de parité avant celles obtenues à partir des premières lignes de la matrice de parité). Un tel décodage en mode « reverse » offre de bonnes performances, notamment pour décoder des données source de petites tailles, par exemple pour ^^^^.^^^^^^^^ < 256. Plus généralement, le fait de commencer le décodage par les lignes de la matrice de parité présentant le moins de connexions (bas de la matrice de parité, correspondant aux dernières lignes des matrices d’extension ^^^^ et de prolongement ^^^^) pour finir par les lignes de la matrice de parité présentant le plus de connexions (haut de la matrice de parité, correspondant à la matrice noyau ^^^^ et à la matrice ^^^^) en mode « reverse » permet au décodeur de converger plus rapidement. Un tel décodeur demande donc moins d’itérations de décodage pour atteindre des performances similaires à celle obtenues pour un décodeur classique avec l’utilisation des matrices de base BG1 et BG2 selon le 3GPP. Notamment, les décodeurs de type MinSum, tel que décrits dans le document « A fully parallel LDPC decoder architecture using probabilistic minsum algorithm for high-throughput applications », C.-C. Cheng et al., IEEE Trans. Circuits Syst. I, Reg. Papers, vol. 61, no. 9, pp. 2738–2746, Sep. 2014, classiquement utilisés pour décoder les codes LDPC, présentent de meilleures performances si le décodage débute par la fin de la matrice de parité. Il est donc particulièrement avantageux de mettre en œuvre un décodage de type « reverse » pour décoder des codes LDPC construits à partir des matrices de base selon l’invention ou des matrices de base selon le 3GPP. Toutefois, l’utilisation d’un décodage « standard » du haut vers le bas de la matrice de parité, ou dans un autre ordre encore, est également possible. 5.6 Courbes de performances On présente désormais, en relation avec la figure 17, les performances de décodage obtenues en termes de taux d’erreur bloc (BLER) en fonction du rapport signal à bruit (SNR en dB), pour des décodeurs LDPC, après encodage de données source en utilisant une matrice de parité obtenue soit à partir de la matrice de base BG1 telle que définie par le 3GPP pour la norme 5G, soit à partir d’une matrice de base BG1’ selon un mode de réalisation de l’invention. Ces performances sont obtenues pour des longueurs de codes de 330 bits (^^^^ = 22, ^^^^^^^^ = 15) et un rendement de 1/3. L’algorithme du décodeur est par exemple le MinSum, avec un paramètre alpha égal à 0,7, en mode « reverse » pour le décodage des données obtenues en utilisant une matrice de parité construite à partir d’une matrice de base BG1’ selon un mode de réalisation de l’invention, et en mode « classique » pour le décodage des données obtenues en utilisant une matrice de parité construite à partir d’une matrice de base BG1 selon le 3GPP. La courbe 171 illustre les performances de décodage en utilisant la matrice de base BG1’ selon un mode de réalisation de l’invention après 20 itérations du décodeur. La courbe 172 illustre les performances de décodage en utilisant la matrice de base BG1 après 20 itérations du décodeur. La courbe 173 illustre les performances de décodage en utilisant la matrice de base BG1’ selon un mode de réalisation de l’invention après 10 itérations du décodeur. La courbe 174 illustre les performances de décodage en utilisant la matrice de base BG1 après 10 itérations du décodeur. La courbe 175 illustre les performances de décodage en utilisant la matrice de base BG1’ selon un mode de réalisation de l’invention après 5 itérations du décodeur. La courbe 176 illustre les performances de décodage en utilisant la matrice de base BG1 après 5 itérations du décodeur. On note que la structure proposée selon au moins un mode de réalisation de l’invention permet d’améliorer les performances du décodeur LDPC selon la norme 5G. L’écart est d’autant plus important avec un nombre plus faible d’itérations du décodeur. On présente enfin, en relation avec les figures 18 et 19, les performances de décodage obtenues en termes de taux d’erreur bloc (BLER) en fonction du rapport signal à bruit (SNR en dB), pour des décodeurs LDPC, après encodage de données source en utilisant une matrice de parité obtenue soit à partir de la matrice de base BG2 telle que définie par le 3GPP pour la norme 5G, soit à partir d’une matrice de base BG2’ selon un mode de réalisation de l’invention. Les performances illustrées en figure 18 sont obtenues pour des longueurs de codes de 720 bits (^^^^ = 10, ^^^^^^^^ = 72) et un rendement de 1/5. L’algorithme du décodeur est par exemple le MinSum, avec un paramètre alpha égal à 0,7, en mode « reverse » pour le décodage des données obtenues en utilisant une matrice de parité construite à partir d’une matrice de base BG2’ selon un mode de réalisation de l’invention, et en mode « classique » pour le décodage des données obtenues en utilisant une matrice de parité construite à partir d’une matrice de base BG2 selon le 3GPP. La courbe 181 illustre les performances de décodage en utilisant la matrice de base BG2’ selon un mode de réalisation de l’invention après 20 itérations du décodeur. La courbe 182 illustre les performances de décodage en utilisant la matrice de base BG2 après 20 itérations du décodeur. La courbe 183 illustre les performances de décodage en utilisant la matrice de base BG2’ selon un mode de réalisation de l’invention après 10 itérations du décodeur. La courbe 184 illustre les performances de décodage en utilisant la matrice de base BG2 après 10 itérations du décodeur. La courbe 185 illustre les performances de décodage en utilisant la matrice de base BG2’ selon un mode de réalisation de l’invention après 5 itérations du décodeur. La courbe 186 illustre les performances de décodage en utilisant la matrice de base BG2 après 5 itérations du décodeur. Les performances illustrées en figure 19 sont obtenues pour des codes de petites tailles, un rendement de 1/5 et cinq itérations de décodage. L’algorithme du décodeur est le MinSum en mode « classique » avec un paramètre alpha égal à 0,7. Les performances de décodage d’un code de longueur 12 bits (K= 6,^^^^^^^^ = 2) sont illustrées par la courbe 191 pour un codec utilisant la matrice de base BG2’ selon un mode de réalisation de l’invention et par la courbe 192 pour un codec utilisant la matrice de base BG2. Les performances de décodage d’un code de longueur 18 bits (K= 6,^^^^^^^^ = 3) sont illustrées par la courbe 193 pour un codec utilisant la matrice de base BG2’ selon un mode de réalisation de l’invention et par la courbe 194 pour un codec utilisant la matrice de base BG2. Les performances de décodage d’un code de longueur 30 bits (K= 6,^^^^^^^^ = 5) sont illustrées par la courbe 195 pour un codec utilisant la matrice de base BG2’ selon un mode de réalisation de l’invention et par la courbe 196 pour un codec utilisant la matrice de base BG2. Les performances de décodage d’un code de longueur 42 bits (K= 6,^^^^^^^^ = 7) sont illustrées par la courbe 197 pour un codec utilisant la matrice de base BG2’ selon un mode de réalisation de l’invention et par la courbe 198 pour un codec utilisant la matrice de base BG2. 5.7 Variantes On a décrit ci-dessus des exemples avec des valeurs particulières pour ^^^^, ^^^^ et ^^^^. Il s’agit toutefois de simples exemples, et d’autres valeurs pour ^^^^, ^^^^ et ^^^^ peuvent être envisagées, notamment pour d’autres normes de transmission (Wifi®, 6G, etc.). De même, on a proposé des matrices de base avec cinq facteurs de rotation V0 à V4. Toutefois, un nombre différent de facteurs de rotation peut être choisi. D’autres formes de la matrice ^^^^ peuvent par ailleurs être utilisées. Dans ce cas, la position des connexions et/ou les valeurs des facteurs de rotation peuvent être mis à jour pour tenir compte de la structure de la matrice ^^^^. On a également pris pour exemple un code LDPC. L’invention peut également être étendue à d’autres codes correcteurs d’erreurs utilisant une matrice de parité. 5.8 Dispositifs de codage et de décodage On présente finalement, en relation avec les figures 20A et 20B, les structures simplifiées d’un codeur et d’un décodeur selon au moins un mode de réalisation décrit ci-dessus. Comme illustré en figure 20A, un codeur comprend au moins une mémoire 201, au moins une unité de traitement 202, équipée par exemple d’une machine de calcul programmable ou d’une machine de calcul dédiée, par exemple un processeur P, et pilotée par le programme d’ordinateur 203, mettant en œuvre des étapes du procédé de codage selon au moins un mode de réalisation de l’invention. A l’initialisation, les instructions de code du programme d’ordinateur 203 sont par exemple chargées dans une mémoire RAM avant d’être exécutées par le processeur de l’unité de traitement 202. Le processeur de l’unité de traitement 202 met en œuvre des étapes du procédé de codage décrit précédemment, selon les instructions du programme d’ordinateur 203, pour coder les ^^^^.^^^^^^^^ données source en utilisant une matrice de parité ^^^^ de taille (^^^^.^^^^^^^^ × ^^^^.^^^^^^^^), et délivrer au moins un mot de code de taille ^^^^.^^^^^^^^ formé des ^^^^.^^^^^^^^ données source et de ^^^^.^^^^^^^^ données de redondance. Comme illustré en figure 20B, un décodeur comprend au moins une mémoire 204, au moins une unité de traitement 205, équipée par exemple d’une machine de calcul programmable ou d’une machine de calcul dédiée, par exemple un processeur P, et pilotée par le programme d’ordinateur 206, mettant en œuvre des étapes du procédé de décodage selon au moins un mode de réalisation de l’invention. A l’initialisation, les instructions de code du programme d’ordinateur 206 sont par exemple chargées dans une mémoire RAM avant d’être exécutées par le processeur de l’unité de traitement 205. Le processeur de l’unité de traitement 205 met en œuvre des étapes du procédé de décodage décrit précédemment, selon les instructions du programme d’ordinateur 206, pour décoder au moins un mot de code de taille ^^^^.^^^^^^^^ formé de ^^^^.^^^^^^^^ données source et de ^^^^.^^^^^^^^ données de redondance, en utilisant une matrice de parité ^^^^ de taille (^^^^.^^^^^^^^ × ^^^^.^^^^^^^^), et reconstruire les ^^^^.^^^^^^^^ données source.

Claims

REVENDICATIONS 1. Procédé de codage d’au moins un bloc de ^^^^.^^^^^^^^ données source, délivrant au moins un mot de code de taille ^^^^.^^^^^^^^ formé desdites ^^^^.^^^^^^^^ données source et de ^^^^.^^^^^^^^ données de redondance, ^^^^ = ^^^^ + ^^^^, avec ^^^^^^^^ un facteur d’expansion entier, ^^^^^^^^ ≥ 1, ledit procédé mettant en œuvre une étape de codage (53) desdites ^^^^.^^^^^^^^ données source en utilisant une matrice de parité ^^^^ de taille (^^^^.^^^^^^^^ × ^^^^.^^^^^^^^), caractérisé en ce que ladite matrice de parité ^^^^ est obtenue (52) à partir d’une matrice de base ^^^^^^^^’ de taille ^^^^ × ^^^^, en remplaçant chaque élément de ladite matrice de base ^^^^^^^^’ par une matrice d’expansion de taille ^^^^^^^^ × ^^^^^^^^, ladite matrice de base ^^^^^^^^’ s’exprimant sous la forme : ^^^^^^^^’ ^^^^ 0 avec : ^^^^ une matrice noyau de taille ^^^^ × ^^^^ ^^^^ une matrice présentant au moins une diagonale de taille ^^^^ × ^^^^ ^^^^ une matrice d’extension de taille (^^^^ − ^^^^) × ^^^^ ^^^^ une matrice de prolongement de taille (^^^^ − ^^^^) × ^^^^ 0 une matrice nulle de taille (^^^^ − ^^^^ − ^^^^) × ^^^^ ^^^^ une matrice identité de taille (^^^^ − ^^^^) × (^^^^ − ^^^^ − ^^^^) et en ce que ladite matrice d’extension ^^^^ comprend au moins deux blocs de ^^^^ lignes et au moins un bloc de ^^^^ colonnes, avec ^^^^ un entier compris entre 1 et ^^^^ − 1, chaque bloc de ^^^^ lignes comprenant au moins une matrice ^^^^^ ^ ^^^ ^^ ^ obtenue en appliquant un coefficient de rotation circulaire ^^^^ à une matrice diagonale de taille ^^^^ × ^^^^, avec ^^^^ un compris entre 0 et ^^^^ − 1, ledit au moins un bloc de ^^^^ colonnes comprenant au moins deux ^^^^^ ^ ^^^ ^^ ^ obtenues en appliquant un coefficient de rotation circulaire ^^^^ distinct à ladite matrice diagonale de taille ^^^^ × ^^^^. 2. Procédé selon la revendication 1, caractérisé ce qu’au moins un desdits blocs de lignes comprend une succession d’au moins deux matrices ^^^^^ ^ ^^ ^^ ^^ obtenues en appliquant un coefficient de rotation circulaire ^^^^ distinct à ladite matrice diagonale de taille ^^^^ × ^^^^. 3. Procédé selon l'une quelconque des revendications 1 et 2, caractérisé en ce qu’au moins un desdits blocs de lignes comprend une succession d’au moins deux matrices ^^^^ ^ ^ ^^ ^^ ^^ obtenues en appliquant un même coefficient de rotation circulaire ^^^^ à ladite matrice diagonale de taille ^^^^ × ^^^^. 4. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que ^^^^ ≥ 5. 5. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que lesdits au moins deux blocs de ^^^^ lignes sont consécutifs. 6. Procédé selon l'une quelconque des revendications 1 à 5, et en ce que ladite matrice d’extension ^^^^ comprend également au moins un bloc de ^^^^′ lignes, ^^^^′ ≠ ^^^^, avec ^^^^′ un entier compris entre 1 et ^^^^ − 1, comprenant une succession de matrices ^^^^^ ^ ^^ ^^ ^^′ obtenues en appliquant un même coefficient de rotation circulaire ^^^^ à une matrice diagonale de taille ^^^^′ × ^^^^′. 7. Procédé selon l'une quelconque des revendications 1 à 6, caractérisé en ce que pour au moins un desdits blocs de lignes, ladite matrice d’extension ^^^^ comprend une portion d’une desdites matrices ^^^^^ ^ ^^^ ^^ ^ obtenues en appliquant un coefficient de rotation circulaire ^^^^ à une matrice diagonale de taille ^^^^ × ^^^^, et en ce que ladite matrice de prolongement ^^^^ comprend le prolongement de ladite portion. 8. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que ladite matrice d’extension ^^^^ est égale à : V2 V1 V3 V4 V1 V1 V2 V3 V2 V2 V0 V3 V3 V1 V3 V3 V0 V2 V2 V2 V2 V3 V0 V1 V4 V1 V0 V2 V4 V2 V0 V2 V1 V1 V0 V3 V2 V2 V3 V3 V4 V3 V3 V2 V0 V0 V2 V3 V1 V4 V4 V1 V0 V1 V0 V2 V3 V3 V2 V2 V4 V3 V3 V3 V4 V1 V2 V3 V1 V2 V3 V0 V4 V1 V1 V3 V4 V3 V3 V1 V3 V3 V3 V1 V3 V4 V1 V1 V1 V2 V1 V1 V1 V2 V1 V4 V3 V1 V4 V2 V1 V1 V4 V0 V4 V1 V1 V1 V2 V0 V3 V1 V3 V3 V2 V2 V2 V1 V1 V2 V2 V0 V3 V1 V2 V1 V0 V2 V4 ladite matrice de prolongement ^^^^ est égale à : V2 V1 V1 V3 V4 V3 V1 V1 V1 V3 V1 V3 V1 V3 V4 V2 V2 V1 V4 V1 V4 V1 V2 et en ce que : - chaque élément vide ou nul de ladite matrice de base ^^^^^^^^’ est remplacé par une matrice nulle de taille ^^^^^^^^ × ^^^^^^^^ , - chaque élément non nul de ladite matrice de base ^^^^^^^^’ est remplacé par une matrice de permutation circulaire obtenue en appliquant une rotation circulaire ^^^^^^^^ à une matrice identité de taille ^^^^^^^^ × ^^^^^^^^ , telle que : Rotation circulaire ^^^^^^^^ si ^^^^^^^^ appartient à ^^^^0 = 0 + 4^^^^,^^^^ ∈ [0: 63] {2,4,8,16,32,128,256 } : ^^^^1 = 1 + 4^^^^,^^^^ ∈ [0: 63] ^^^^2 = 2 + 4^^^^,^^^^ ∈ [0: 63] ^^^^3 = 3 + 4^^^^,^^^^ ∈ [0: 63] ^^^^4 = 0 + 4^^^^,^^^^ ∈ [0: 63] si ^^^^^^^^ appartient à ^^^^0 = 0 + 5^^^^ + 6^^^^, ^^^^ ∈ [0: 1] et ^^^^ ∈ [0: 63] {3,6,12,24,48,96,192,384} : ^^^^1 = 1 + 6^^^^,^^^^ ∈ [0: 63] ^^^^2 = 2 + 6^^^^,^^^^ ∈ [0: 63] ^^^^3 = 3 + 6^^^^,^^^^ ∈ [0: 63] ^^^^4 = 4 + 6^^^^,^^^^ ∈ [0: 63] si ^^^^^^^^ appartient à ^^^^0 = 0 + 5^^^^,^^^^ ∈ [0: 63] {5,10,20,40,80,160,320} : ^^^^1 = 1 + 5^^^^,^^^^ ∈ [0: 63] ^^^^2 = 2 + 5^^^^,^^^^ ∈ [0: 63] ^^^^3 = 3 + 5^^^^,^^^^ ∈ [0: 63] ^^^^4 = 4 + 5^^^^,^^^^ ∈ [0: 63] si ^^^^ appartient à ^^^^0 = 0 + 5^^^^ + 7^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 31] {7,14,28,56,112,224 } : ^^^^1 = 1 + 5^^^^ + 7^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 31] ^^^^2 = 2 + 7^^^^,^^^^ ∈ [0: 31] ^^^^3 = 3 + 7^^^^,^^^^ ∈ [0: 31] ^^^^4 = 4 + 7^^^^,^^^^ ∈ [0: 31] si ^^^^^^^^ appartient à ^^^^0 = 0 + 5^^^^ + 9^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 31] {9,18,36,72,144,288 } : ^^^^1 = 1 + 5^^^^ + 9^^^^, ^^^^ ∈ [0: 1]^^^^^^^^ ^^^^ ∈ [0: 31] ^^^^2 = 2 + 5^^^^ + 9^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 31] ^^^^3 = 3 + 5^^^^ + 9^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 31] ^^^^4 = 4 + 9^^^^,^^^^ ∈ [0: 31] si ^^^^^^^^ appartient à ^^^^0 = 0 + 5^^^^ + 11^^^^, ^^^^ ∈ [0: 2] ^^^^^^^^ ^^^^ ∈ [0: 31] {11,22,44,88,176,352 } : ^^^^1 = 1 + 5^^^^ + 11^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 31] ^^^^2 = 2 + 5^^^^ + 11^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 31] ^^^^3 = 3 + 5^^^^ + 11^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 31] ^^^^4 = 4 + 5^^^^ + 11^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 31] si ^^^^^^^^ appartient à ^^^^0 = 0 + 5^^^^ + 13^^^^, ^^^^ ∈ [0: 2] ^^^^^^^^ ^^^^ ∈ [0: 15] {13,26,52,104,208 } : ^^^^1 = 1 + 5^^^^ + 13^^^^, ^^^^ ∈ [0: 2] ^^^^^^^^ ^^^^ ∈ [0: 15] ^^^^2 = 2 + 5^^^^ + 13^^^^, ^^^^ ∈ [0: 2] ^^^^^^^^ ^^^^ ∈ [0: 15] ^^^^3 = 3 + 5^^^^ + 13^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 15] ^^^^4 = 4 + 5^^^^ + 13^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 15] si ^^^^^^^^ appartient à ^^^^0 = 0 + 5^^^^ + 15^^^^, ^^^^ ∈ [0: 2] ^^^^^^^^ ^^^^ ∈ [0: 15] {15,30,60,120,240 } : ^^^^1 = 1 + 5^^^^ + 15^^^^, ^^^^ ∈ [0: 2] ^^^^^^^^ ^^^^ ∈ [0: 15] ^^^^2 = 2 + 5^^^^ + 15^^^^, ^^^^ ∈ [0: 2] ^^^^^^^^ ^^^^ ∈ [0: 15] ^^^^3 = 3 + 5^^^^ + 15^^^^, ^^^^ ∈ [0: 2] ^^^^^^^^ ^^^^ ∈ [0: 15] ^^^^4 = 4 + 5^^^^ + 15^^^^, ^^^^ ∈ [0: 2] ^^^^^^^^ ^^^^ ∈ [0: 15] avec ^^^^ et ^^^^ des variables aléatoires. 9. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que ^^^^ = 4, ^^^^ = 22 et ^^^^ = 44. 10. Procédé selon l'une quelconque des revendications 1 à 5, caractérisé en ce que ladite matrice de prolongement ^^^^ comprend au moins deux blocs de ^^^^ lignes, chaque bloc de lignes comprenant une matrice ^^^^ ^^^^ ^^^^ obtenue en appliquant un coefficient de rotation circulaire ^^^^ à une matrice diagonale de taille ^^^^ × ^^^^. 11. Procédé selon l'une quelconque des revendications 1 à 5 ou 10, caractérisé en ce que, selon la valeur de ^^^^, lesdites matrice d’extension ^^^^ et de prolongement D sont égales à : pour K=6 : C D V2 V2 V1 V3 V2 V3 V0 V2 V3 V2 V2 V1 V2 V1 V1 V2 V2 V3 V3 V2 V1 V2 V1 V0 V2 V2 V2 V3 V1 V1 V2 V0 V0 V3 V2 V1 V0 V1 V2 V3 V0 V1 pour K=8 : C D V2 V2 V1 V3 V3 V2 V3 V2 V0 V2 V3 V2 V2 V1 V2 V1 V1 V2 V2 V3 V3 V1 V2 V1 V3 V2 V1 V3 V0 V2 V1 V2 V2 V3 V1 V1 V2 V0 V0 V3 V2 V1 V0 V3 V1 V2 V2 V3 V0 V1 V2 V0 V3 V3 V0 V3 V2 V2 V0 V2 V1 V1 V0 V0 V0 V3 V0 V3 V2 V2 V2 V2 pour K=9 : C D V2 V2 V1 V3 V3 V2 V3 V2 V0 V2 V1 V3 V2 V2 V1 V1 V2 V1 V1 V2 V2 V3 V3 V1 V2 V1 V3 V2 V1 V3 V0 V2 V1 V2 V2 V1 V3 V1 V1 V2 V0 V0 V3 V2 V1 V0 V3 V1 V2 V2 V3 V0 V0 V1 V2 V0 V3 V2 V3 V0 V3 V2 V2 V0 V2 V1 V1 V0 V0 V0 V3 V0 V3 V2 V3 V2 V2 V2 V0 V2 V0 V3 V0 V1 V2 V0 Pour K=10 : C D V2 V2 V1 V3 V3 V2 V3 V2 V0 V2 V1 V3 V2 V2 V2 V1 V1 V2 V1 V2 V1 V2 V2 V3 V3 V1 V2 V1 V3 V2 V1 V3 V0 V2 V1 V2 V2 V1 V3 V1 V3 V1 V2 V0 V0 V3 V2 V1 V0 V3 V1 V2 V2 V3 V0 V0 V1 V2 V1 V0 V3 V2 V3 V0 V0 V3 V2 V2 V0 V2 V1 V1 V0 V0 V0 V3 V0 V3 V2 V3 V2 V2 V2 V2 V0 V2 V0 V3 V0 V1 V2 V0 V2 V1 V0 V2 V0 V1 V2 V3 V1 V2 et en ce que : - chaque élément vide ou nul de ladite matrice de base ^^^^^^^^’ est remplacé par une matrice nulle de taille ^^^^^^^^ × ^^^^^^^^ , - chaque élément non nul de ladite matrice de base ^^^^^^^^’ est remplacé par une matrice de permutation circulaire obtenue en appliquant une rotation circulaire ^^^^^^^^ à une matrice identité de taille ^^^^^^^^ × ^^^^^^^^ , telle que : Rotation Circulaire ^^^^^^^^ ^^^^0 = 0 + 4^^^^,^^^^ ∈ [0: 63] ^^^^1 = 1 + 4^^^^,^^^^ ∈ [0: 63] ^^^^2 = 2 + 4^^^^,^^^^ ∈ [0: 63] si ^^^^ ^^^^3 = 3 + 4^^^^,^^^^ ∈ [0: 63] ^^^^ appartient à ^^^^4 = 0 + 4^^^^,^^^^ ∈ [0: 63] {2,4,8,16,32,128,256} : si ^^^^ ^^^^0 = 0 + 5^^^^ + 6^^^^, ^^^^ ∈ [0: 1] et ^^^^ ∈ [0: 63] ^^^^ appartient à ^^^^1 = 1 + 6^^^^,^^^^ ∈ [0: 63] {3,6,12,24,48,96,192,384 } : ^^^^2 = 2 + 6^^^^,^^^^ ∈ [0: 63] ^^^^3 = 3 + 6^^^^,^^^^ ∈ [0: 63] ^^^^4 = 4 + 6^^^^,^^^^ ∈ [0: 63] si ^^^^ ^^^^0 = 0 + 5^^^^,^^^^ ∈ [0: 63] ^^^^ appartient à ^^^^1 = 1 + 5^^^^,^^^^ ∈ [0: 63] {5,10,20,40,80,160,320} : ^^^^2 = 2 + 5^^^^,^^^^ ∈ [0: 63] ^^^^3 = 3 + 5^^^^,^^^^ ∈ [0: 63] ^^^^4 = 4 + 5^^^^,^^^^ ∈ [0: 63] si ^^^^ appart ^^^^0 = 0 + 5^^^^ + 7^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 31] ^^^^ ient à ^^^^1 = 1 + 5^^^^ + 7^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 31] {7,14,28,56,112,224} : ^^^^2 = 2 + 7^^^^,^^^^ ∈ [0: 31] ^^^^3 = 3 + 7^^^^,^^^^ ∈ [0: 31] ^^^^4 = 4 + 7^^^^,^^^^ ∈ [0: 31] si ^^^^ appartien ^^^^0 = 0 + 5^^^^ + 9^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 31] ^^^^ t à ^^^^1 = 1 + 5^^^^ + 9^^^^, ^^^^ ∈ [0: 1]^^^^^^^^ ^^^^ ∈ [0: 31] {9,18,36,72,144,288} : ^^^^2 = 2 + 5^^^^ + 9^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 31] ^^^^3 = 3 + 5^^^^ + 9^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 31] ^^^^4 = 4 + 9^^^^,^^^^ ∈ [0: 31] si ^^^^ appartient à ^^^^0 = 0 + 5^^^^ + 11^^^^, ^^^^ ∈ [0: 2] ^^^^^^^^ ^^^^ ∈ [0: 31] ^^^^ ^^^^1 = 1 + 5^^^^ + 11^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 31] {11,22,44,88,176,352} : ^^^^2 = 2 + 5^^^^ + 11^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 31] ^^^^3 = 3 + 5^^^^ + 11^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 31] ^^^^4 = 4 + 5^^^^ + 11^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 31] si ^^^^ ^^^^0 = 0 + 5^^^^ + 13^^^^, ^^^^ ∈ [0: 2] ^^^^^^^^ ^^^^ ∈ [0: 15] ^^^^ appartient à ^^^^1 = 1 + 5^^^^ + 13^^^^, ^^^^ ∈ [0: 2] ^^^^^^^^ ^^^^ ∈ [0: 15] {13,26,52,104,208} : ^^^^2 = 2 + 5^^^^ + 13^^^^, ^^^^ ∈ [0: 2] ^^^^^^^^ ^^^^ ∈ [0: 15] ^^^^3 = 3 + 5^^^^ + 13^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 15] ^^^^4 = 4 + 5^^^^ + 13^^^^, ^^^^ ∈ [0: 1] ^^^^^^^^ ^^^^ ∈ [0: 15] si ^^^^ appa ^^^^0 = 0 + 5^^^^ + 15^^^^, ^^^^ ∈ [0: 2] ^^^^^^^^ ^^^^ ∈ [0: 15] ^^^^ rtient à ^^^^1 = 1 + 5^^^^ + 15^^^^, ^^^^ ∈ [0: 2] ^^^^^^^^ ^^^^ ∈ [0: 15] {15,30,60,120,240} : ^^^^2 = 2 + 5^^^^ + 15^^^^, ^^^^ ∈ [0: 2] ^^^^^^^^ ^^^^ ∈ [0: 15] ^^^^3 = 3 + 5^^^^ + 15^^^^, ^^^^ ∈ [0: 2] ^^^^^^^^ ^^^^ ∈ [0: 15] ^^^^4 = 4 + 5^^^^ + 15^^^^, ^^^^ ∈ [0: 2] ^^^^^^^^ ^^^^ ∈ [0: 15] avec ^^^^ et ^^^^ des variables aléatoires. 12. Procédé selon l'une quelconque des revendications 1 à 5 ou 10 à 11, caractérisé en ce que ^^^^ = 4 et : ^^^^ = 6 et ^^^^ = 24, ou ^^^^ = 8 et ^^^^ = 32, ou ^^^^ = 9 et ^^^^ = 36 ou ^^^^ = 10 et ^^^^ = 40. 13. Dispositif de codage d’au moins un bloc de ^^^^.^^^^^^^^ données source, délivrant au moins un mot de code de taille ^^^^.^^^^^^^^ formé desdites ^^^^.^^^^^^^^ données source et de ^^^^.^^^^^^^^ données de redondance, ^^^^ = ^^^^ + ^^^^, avec ^^^^^^^^ un facteur d’expansion entier, ^^^^^^^^ ≥ 1, comprenant au moins une unité de traitement configurée pour coder lesdites ^^^^.^^^^^^^^ données source en utilisant une matrice de parité ^^^^ de taille ( ^^^^.^^^^^^^^ × ^^^^.^^^^^^^^ ) , ladite matrice de parité ^^^^ étant obtenue à partir d’une matrice de base ^^^^^^^^’ de taille ^^^^ ×^^^^, en remplaçant chaque élément de ladite matrice de base ^^^^^^^^’ par une matrice d’expansion de taille ^^^^^^^^ × ^^^^^^^^ , ladite matrice de base ^^^^^^^^’ s’exprimant sous la forme : ^^^^^^^^’ =�^^^^ ^^^^ 0 ^^^^ ^^^^ ^^^^� avec : ^^^^ une matrice noyau de taille ^^^^ × ^^^^ ^^^^ une matrice présentant au moins une diagonale de taille ^^^^ × ^^^^ ^^^^ une matrice d’extension de taille (^^^^ − ^^^^) × ^^^^ ^^^^ une matrice de prolongement de taille (^^^^ − ^^^^) × ^^^^ 0 une matrice nulle de taille (^^^^ − ^^^^ − ^^^^) × ^^^^ ^^^^ une matrice identité de taille (^^^^ − ^^^^) × (^^^^ − ^^^^ − ^^^^) ladite matrice d’extension ^^^^ comprenant au moins deux blocs de ^^^^ lignes et au moins un bloc de ^^^^ colonnes, avec ^^^^ un entier compris entre 1 et ^^^^ − 1, chaque bloc de ^^^^ lignes comprenant au moins une matrice ^^^^ ^ ^ ^^^ ^^ ^ obtenue en appliquant un coefficient de rotation circulaire ^^^^ à une matrice diagonale de taille ^^^^ × ^^^^, avec ^^^^ un entier compris entre 0 et ^^^^ − 1, ledit au moins un bloc de ^^^^ colonnes comprenant au moins deux ^^^^^ ^ ^^^ ^^ ^ obtenues en appliquant un coefficient de rotation circulaire ^^^^ distinct à ladite matrice diagonale de taille ^^^^ × ^^^^. 14. Procédé de décodage d’au moins un mot de code de taille ^^^^.^^^^^^^^ formé de ^^^^.^^^^^^^^ données source et de ^^^^.^^^^^^^^ données de redondance, ^^^^ = ^^^^ + ^^^^, avec ^^^^^^^^ un facteur d’expansion entier, ^^^^^^^^ ≥ 1, ledit procédé mettant en œuvre une étape de décodage (56) dudit au moins un mot de code de taille ^^^^.^^^^^^^^ en utilisant une matrice de parité ^^^^ de taille (^^^^.^^^^^^^^ × ^^^^.^^^^^^^^), caractérisé en ce que ladite matrice de parité ^^^^ est obtenue (55) à partir d’une matrice de base ^^^^^^^^’ de taille ^^^^ × ^^^^, en remplaçant chaque élément de ladite matrice de base ^^^^^^^^’ par une matrice d’expansion de taille ^^^^^^^^ × ^^^^^^^^, ladite matrice de base ^^^^^^^^’ s’exprimant ^^^^^^^^’ =�^^^^ ^^^^ 0 ^^^^ ^^^^ ^^^^� avec : ^^^^ une matrice noyau de taille ^^^^ × ^^^^ ^^^^ une matrice présentant au moins une diagonale de taille ^^^^ × ^^^^ ^^^^ une matrice d’extension de taille (^^^^ − ^^^^) × ^^^^ ^^^^ une matrice de prolongement de taille (^^^^ − ^^^^) × ^^^^ 0 une matrice nulle de taille (^^^^ − ^^^^ − ^^^^) × ^^^^ ^^^^ une matrice identité de taille (^^^^ − ^^^^) × (^^^^ − ^^^^ − ^^^^) et en ce que ladite matrice d’extension ^^^^ comprend au moins deux blocs de ^^^^ lignes et au moins un bloc de ^^^^ colonnes, avec ^^^^ un entier compris entre 1 et ^^^^ − 1, chaque bloc de ^^^^ lignes comprenant au moins une matrice ^^^^^ ^ ^^^ ^^ ^ obtenue en appliquant un coefficient de rotation circulaire ^^^^ à une matrice diagonale de taille ^^^^ × ^^^^, avec ^^^^ un entier compris entre 0 et ^^^^ − 1, ledit au moins un bloc de ^^^^ colonnes comprenant au moins deux matrices ^^^^^ ^ ^^^ ^^ ^ obtenues en appliquant un coefficient de rotation circulaire ^^^^ distinct à ladite matrice diagonale taille ^^^^ × ^^^^. 15. Procédé selon la revendication 14, caractérisé en ce que ladite étape de décodage met en œuvre un décodage d’une équation de parité obtenue à partir de la dernière ligne de ladite matrice de parité ^^^^, puis d’une équation de parité obtenue à partir de la ligne précédente de ladite matrice de parité ^^^^, en remontant ligne par ligne jusqu’à la première ligne de la matrice de parité ^^^^. 16. Dispositif de décodage d’au moins un mot de code de taille ^^^^.^^^^^^^^ formé de ^^^^.^^^^^^^^ données source et de ^^^^.^^^^^^^^ données de redondance, ^^^^ = ^^^^ + ^^^^, avec ^^^^^^^^ un facteur d’expansion entier, ^^^^^^^^ ≥ 1, comprenant au moins une unité de traitement configurée pour décoder ledit au moins un mot de code de taille ^^^^.^^^^^^^^ en utilisant une matrice de parité ^^^^ de taille (^^^^.^^^^^^^^ ×^^^^.^^^^^^^^ ), ladite matrice de parité ^^^^ étant obtenue à partir d’une matrice de base ^^^^^^^^’ de taille ^^^^ × ^^^^, en remplaçant chaque élément de ladite matrice de base ^^^^^^^^’ par une matrice d’expansion de taille ^^^^^^^^ × ^^^^^^^^ , ladite matrice de base ^^^^^^^^’ s’exprimant sous la forme : ^^^^^^^^’ =�^^^^ ^^^^ 0 ^^^^ ^^^^ ^^^^� avec : ^^^^ une matrice noyau de taille ^^^^ × ^^^^ ^^^^ une matrice présentant au moins une diagonale de taille ^^^^ × ^^^^ ^^^^ une matrice d’extension de taille (^^^^ − ^^^^) × ^^^^ ^^^^ une matrice de prolongement de taille (^^^^ − ^^^^) × ^^^^ 0 une matrice nulle de taille (^^^^ − ^^^^ − ^^^^) × ^^^^ ^^^^ une matrice identité de taille (^^^^ − ^^^^) × (^^^^ − ^^^^ − ^^^^) ladite matrice d’extension ^^^^ comprenant au moins deux blocs de ^^^^ lignes et au moins un bloc de ^^^^ colonnes, avec ^^^^ un entier compris entre 1 et ^^^^ − 1, chaque bloc de ^^^^ lignes comprenant au moins une matrice ^^^^^ ^ ^^^ ^^ ^ obtenue en appliquant un coefficient de rotation circulaire ^^^^ à une matrice diagonale de taille ^^^^ × ^^^^, avec ^^^^ un entier compris entre 0 et ^^^^ − 1, ledit au moins un bloc de ^^^^ colonnes comprenant au moins deux matrices ^^^^^ ^ ^^^ ^^ ^ obtenues en appliquant un coefficient de rotation circulaire ^^^^ distinct à ladite matrice diagonale de taille ^^^^ × ^^^^. 17. Programme d’ordinateur comportant des instructions pour la mise en œuvre d’un procédé selon l'une quelconque des revendications 1 à 12, 14 ou 15 lorsque ce programme est exécuté par un processeur.
PCT/EP2025/057631 2024-03-22 2025-03-20 Procédé de codage de données source, procédé de décodage de mots de code, dispositifs et programme d'ordinateur correspondants. Pending WO2025196182A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2402916A FR3160529A1 (fr) 2024-03-22 2024-03-22 Procédé de codage de données source, procédé de décodage de mots de code, dispositifs et programme d’ordinateur correspondants.
FRFR2402916 2024-03-22

Publications (1)

Publication Number Publication Date
WO2025196182A1 true WO2025196182A1 (fr) 2025-09-25

Family

ID=92627260

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2025/057631 Pending WO2025196182A1 (fr) 2024-03-22 2025-03-20 Procédé de codage de données source, procédé de décodage de mots de code, dispositifs et programme d'ordinateur correspondants.

Country Status (2)

Country Link
FR (1) FR3160529A1 (fr)
WO (1) WO2025196182A1 (fr)

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
C.-C. CHENG ET AL.: "A fully parallel LDPC decoder architecture using probabilistic minsum algorithm for high-throughput applications", IEEE TRANS. CIRCUITS SYST. I, REG. PAPERS, vol. 61, no. 9, September 2014 (2014-09-01), pages 2738 - 2746, XP011557589, DOI: 10.1109/TCSI.2014.2312479
VIKRAM ARKALGUD CHANDRASETTY ET AL: "A Highly Flexible LDPC Decoder using Hierarchical Quasi-Cyclic Matrix with Layered Permutation", JOURNAL OF NETWORKS, vol. 7, no. 3, 1 March 2012 (2012-03-01), FI, XP055628506, ISSN: 1796-2056, DOI: 10.4304/jnw.7.3.441-449 *
ZHU YUFEI ET AL: "High Area-Efficient Parallel Encoder with Compatible Architecture for 5G LDPC Codes", SYMMETRY, vol. 13, no. 4, 16 April 2021 (2021-04-16), pages 700, XP093231471, ISSN: 2073-8994, DOI: 10.3390/sym13040700 *

Also Published As

Publication number Publication date
FR3160529A1 (fr) 2025-09-26

Similar Documents

Publication Publication Date Title
FR2845227A1 (fr) Procede de reception d&#39;un signal module selon une technique de codage multi-niveaux, procede de decodage, dispositif de reception, systeme de codage-decodage et applications correspondant
EP1829379A1 (fr) Chiffrement d&#39;un video h.264 preservant synchronisation et compatibilite de la syntax
EP2341628A2 (fr) Procédé de codage LDPC a redondance incrémentale
EP1974472B1 (fr) Procedes d&#39;encodage et de decodage rapides et dispositifs associes
EP3526919B1 (fr) Ici and isi-based selective mapping for faster than nyquist oqam ofdm
FR2778040A1 (fr) Procede et dispositif de codage correcteur d&#39;erreur pour des transmissions de donnees numeriques a debit eleve, et procede et dispositif de decodage correspondant
FR3160529A1 (fr) Procédé de codage de données source, procédé de décodage de mots de code, dispositifs et programme d’ordinateur correspondants.
Ahmed et al. Enhancing reliability with MIMO aided dual iterations for mobile video transmission system
FR2802735A1 (fr) Procede et dispositif de codage, procede et dispositif de decodage, et systemes les mettant en oeuvre
EP2633686B1 (fr) Codage video echelonnable a partir d&#39;un epitome hierarchique
FR2806177A1 (fr) Procede de transmission numerique de type a codage correcteur d&#39;erreurs
WO2024223612A1 (fr) Conception de matrices de base pour les codes ldpc quasi-cycliques
EP1525663B1 (fr) Compression de donnees numeriques robuste au bruit de transmission
FR3148337A1 (fr) Procédé de codage de données source, dispositif de codage et programme d’ordinateur correspondants.
FR2787263A1 (fr) Procede de transmission avec codage de canal a entrelacement efficace et modulaire pour turbo codes
WO2003088504A1 (fr) Procede de codage et/ou de decodage de codes correcteurs d&#39;erreurs, dispositifs et signal correspondants.
FR2822608A1 (fr) Selection flexible de bits en utilisant une modulation codee par treillis et son procede
EP2673883A1 (fr) Système et procédé de limitation de l&#39;effet de falaise pour distribution de contenu sur un réseau hétérogène
FR2796780A1 (fr) Procede et dispositif de codage a au moins deux codages en parallele et permutation amelioree, et procede et dispositif de decodage correspondants
FR2888062A1 (fr) Codeur et turbo decodeur de code produit
WO2018172694A1 (fr) Construction de turbocodes à rendements compatibles
FR2915641A1 (fr) Procede et dispositif d&#39;entrelacement de donnees
EP3675505B1 (fr) Procede et systeme de distribution d&#39;un contenu audiovisuel
Yu et al. Optical Semantic Holographic Communication
FR3022651A1 (fr) Procedes et dispositifs de codage et de decodage correcteur d&#39;erreurs, et programme d&#39;ordinateur correspondant.

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 25714683

Country of ref document: EP

Kind code of ref document: A1