Brevet FR2913836A1 — publié le 20080919

Codage et décodage de signaux de données de rendements variables La présente invention concerne des codes correcteurs pour coder et décoder des signaux de données notamment dans le domaine de la communication numérique et dans le domaine du stockage de données. Plus particulièrement, elle a trait à des codes correcteurs flexibles au traitement de signaux de données ayant des rendements de codage variables sans complexifier les systèmes de codage et décodage. Ces codes correcteurs peuvent notamment être mis en oeuvre par différents protocoles de communication tel que ceux destinés aux réseaux locaux sans fil (WLAN ("Wireless Local Area Network" en anglais)) à très haut débit ou encore tel que le protocole WIMAX Mobile ("World wide Interoperability Microwave Access" en anglais)). Les systèmes de communication numérique les plus performants à l'heure actuelle s'appuient sur des systèmes où les données sont protégées par un codage de canal très performant et décodées itérativement par un décodeur à sortie pondérée. Dans le domaine des transmissions numériques (radioélectrique, filaire ou autre...), la fonction principale des codes correcteurs d'erreurs est de permettre la levée des ambiguïtés apportées par le canal sur le message transmis. Le gain en performance apporté par ces codes peut être affecté à la réduction de consommation des terminaux, à l'augmentation du volume d'informations transmis ou encore à une plus grande flexibilité dans la gestion de la taille des cellules de transmission. Il est de plus en plus souvent demandé aux systèmes de communications une grande flexibilité de rendement de codage de signaux de données pour optimiser la communication en fonction d'une multitude de facteurs tels que le bruit ambiant et le type de données à transmettre. Cependant, dans le cas général des codes correcteurs d'erreur de type LDPC, un décodeur de faible complexité capable de traiter de nombreux rendements est difficile à implémenter. Une réalisation connue de décodeur flexible en rendement est d'intégrer autant de processeurs que de rendements nécessaires pour couvrir toute la gamme des rendements requis. Cette solution est simple à mettre en oeuvre pour traiter un ou deux rendements différents. Lorsque le nombre de rendements devient important cette solution devient trop coûteuse en termes de ressources. Une autre réalisation de décodeur flexible concerne la construction d'un processeur de calcul capable de traiter un nombre maximal d'éléments en entrée. Lors de la résolution d'un nombre d'élément inférieur au nombre maximal, une valeur neutre est associée aux entrées du processeur qui ne sont pas utilisées. Cette valeur neutre est traitée dans le décodage, mais n'influence pas le résultat. Cependant, à chaque décodage de données en entrée, le processeur traite tous les éléments neutres et non neutres ce qui introduit un surplus de traitement des éléments neutres et par conséquent une latence de traitement lorsque peu de données sont nécessaires. Une autre réalisation de décodeur flexible aux rendements de codage consiste à construire des processeurs fonctionnant en série. Dans un premier temps, les processeurs chargent en série un nombre connus de données à traiter dans la limite d'un nombre maximum prédéterminé. Dans un deuxième temps, le résultat du décodage associé à chaque donnée chargée est sorti en série. Cette solution a l'avantage d'être très flexible, mais du fait des calculs réalisés en série, reste limitée en débit. Un dernier procédé connu consiste à cascader np processeurs de décodage chacun capable de traiter k données en entrée. Ce procédé en cascade a pour avantage de traiter J données en entrée, avec J > k. Dans le cas où J = k p, chaque processeur traite les k données et fonctionne ainsi de manière optimale. Dans le cas où J k p, il faut rajouter un nouveau processeur en cascade. Celui-ci est, soit capable de traiter un nombre supérieur ou inférieur de données, soit comprend en entrée des valeurs neutres introduisant de ce fait un surplus de traitement. La présente invention remédie aux inconvénients évoqués ci-dessus par un procédé de détermination de code au moyen d'une construction d'une matrice de codage et d'une matrice de décodage dépendant l'une de l'autre, la matrice de codage étant composée d'une matrice de codage systématique et d'une matrice de codage de parité partiellement bi-diagonale, et la matrice de décodage étant composée d'une matrice de décodage systématique et d'une matrice de décodage de parité bi-diagonale. Le procédé est caractérisé en ce que : au moins une ligne de la matrice de codage est décomposée en un nombre de ligne de la matrice de décodage sous-multiple du nombre d'élément à "1" inclus dans la matrice de codage systématique et dans ladite au moins une ligne, et une ligne de la matrice de décodage systématique issue de la décomposition de ladite au moins une ligne comporte des éléments à "1" ayant des rangs identiques aux rangs des éléments à "1" dans ladite au moins une ligne et en nombre sous-multiple du nombre d'élément à "1" dans ladite au moins une ligne, les éléments à "1" dans des lignes de la matrice de décodage systématique issues de la décomposition de ladite au moins une ligne ayant des rangs différents. Les lignes des matrices de codage et de décodage correspondent à des équations de parité. Les éléments à "1" de chaque ligne des matrices de codage et de décodage systématiques correspondent aux coefficients des variables de données dans les équations de parité correspondantes. Ainsi une équation de parité relative à la matrice de codage se décompose selon l'invention en plusieurs équations de parité de la matrice de décodage. Chacune des équations de parité issues de la décomposition de ladite équation de parité de la matrice de codage a le même nombre de variables de données et présente des variables de données différentes de celles dans l'autre ou les autres équations de parité. Les variables de données dans l'équation de parité issues de la décomposition sont ainsi positionnées à des rangs différents des variables de données dans l'autre ou les autres équations de parité issues de la décomposition, c'est-à-dire appartiennent à des colonnes des matrices de codage et décodage systématiques différentes de celles incluant les variables de données dans l'autre ou les autres équations de parité issues de la décomposition. Le rang d'une variable de donnée dans une ligne ou colonne est la position de cette variable dans cette ligne ou colonne. Le rendement relatif à chaque matrice de codage et aux mots de code générés au moyen de la matrice de codage dépend du nombre de variables composant chaque équation de parité de la matrice. Des mots de code ayant des rendements différents sont avantageusement décodés selon l'invention au moyen de matrices de décodage ayant toutes leurs lignes présentant au moins le même nombre d'élément à "1". Selon une première réalisation et afin de simplifier l'architecture d'un dispositif décodeur selon l'invention, toutes les lignes de la matrice de décodage systématique ont le même nombre d'élément à .1.. Dans le même but, lorsqu'au moins deux lignes de la matrice de codage systématique ont des nombres d'élément à "1" différents, toutes les lignes de la matrice de décodage systématique ont avantageusement un nombre d'élément à "1" égal à un diviseur commun aux nombres d'élément à "1" différents. Lorsque notamment deux matrices de codage avec des rendements différents sont utilisées pour générer des mots de code, c'est-à-dire lorsqu'au moins deux lignes dans deux matrices de codage systématiques différentes ont des nombres d'élément à "1" différents, toutes les lignes des matrices de décodage systématiques dépendant respectivement des dites deux matrices de codage systématiques différentes ont avantageusement un nombre d'élément à "1" égal à un diviseur commun aux nombres d'élément à "1" différents. Le dispositif décodeur de l'invention ne comprend alors qu'un moyen de décodage pour résoudre des équations de parité dont le nombre de variable de données est égal à un diviseur commun. Selon une deuxième réalisation, au moins une colonne de la matrice de codage de parité n'appartient pas à une partie bi-diagonale de celle- ci et est transférée en tant que colonne dans la matrice de décodage systématique. Dans cette réalisation, la matrice de décodage systématique comporte une colonne supplémentaire ayant des éléments à "1" en nombre égal à ceux dans ladite au moins une colonne et répartis selon la décomposition des lignes de la matrice de codage systématique. Cette réalisation implique que le nombre d'éléments à "1" dans chaque ligne de la matrice systématique de décodage comportant la colonne supplémentaire peut être différent d'une ligne à l'autre. L'invention concerne également un procédé de codage et un procédé de décodage selon le code déterminé d'un signal. Le procédé de codage d'un signal incluant des variables de données en un signal incluant les variables de données et des variables de parité, comprenant une résolution d'équations de parité dont les coefficients correspondent respectivement aux lignes d'une matrice de codage dépendant d'une matrice de décodage, la matrice de codage étant composée d'une matrice de codage systématique et d'une matrice de codage de parité partiellement bidiagonale, et la matrice de décodage étant composée d'une matrice de décodage systématique et d'une matrice de décodage de parité bi-diagonale, est caractérisé en ce que : au moins une ligne de la matrice de codage est décomposée en un nombre de ligne de la matrice de décodage sous-multiple du nombre d'élément à "1" inclus dans la matrice de codage systématique et dans ladite au moins une ligne, et une ligne de la matrice de décodage systématique issue de la décomposition de ladite au moins une ligne comporte des éléments à "1" ayant des rangs identiques aux rangs des éléments à "1" dans ladite au moins une ligne et en nombre sous-multiple du nombre d'élément à "1" dans ladite au moins une ligne, les éléments à "1" dans des lignes de la matrice de décodage systématique issues de la décomposition de ladite au moins une ligne ayant des rangs différents. Le procédé de décodage d'un signal de données codées incluant des variables de données et des variables de parité, fondé sur une matrice de codage dépendant d'une matrice de décodage, la matrice de codage étant composée d'une matrice de codage systématique et d'une matrice de codage de parité partiellement bi-diagonale, et la matrice de décodage étant composée d'une matrice de décodage systématique et d'une matrice de décodage de parité bi-diagonale, est caractérisé en ce que : des lignes de la matrice de décodage sont issues d'une décomposition d'une ligne de la matrice de codage et sont en nombre sous-multiple du nombre d'élément à "1" inclus dans la matrice de codage systématique et dans ladite une ligne de la matrice de codage, une ligne de la matrice de décodage systématique issue de la décomposition de ladite une ligne comporte des éléments à "1" ayant des rangs identiques aux rangs des éléments à "1" dans ladite une ligne et en nombre sous-multiple du nombre d'élément à "1" dans ladite une ligne, les éléments à "1" dans des lignes de la matrice de décodage systématique issues de la décomposition de ladite une ligne ayant des rangs différents, et un nombre de colonne supplémentaire correspondant à une variable de parité cachée de valeur neutre pour le décodage du signal précède une colonne de la matrice de décodage de parité correspondant à une variable de parité ayant le même rang dans la matrice de codage de parité que celui de la ligne décomposée de la matrice de codage, le nombre de colonne supplémentaire augmenté de un étant égal audit nombre sous-multiple. Le nombre de colonne supplémentaire peut être strictement égal ou supérieur à 1. L'invention a aussi pour objet un dispositif encodeur et un dispositif décodeur pour respectivement coder un signal de données et décoder un signal de données codées. Le dispositif encodeur pour coder un signal incluant des variables de données en un signal incluant les variables de données et des variables de parité, comprenant des moyens pour résoudre des équations de parité dont les coefficients correspondent respectivement aux lignes d'une matrice de codage dépendant d'une matrice de décodage, la matrice de codage étant composée d'une matrice de codage systématique et d'une matrice de codage de parité partiellement bi-diagonale, et la matrice de décodage étant composée d'une matrice de décodage systématique et d'une matrice de décodage de parité bi-diagonale, est caractérisé en ce que : au moins une ligne de la matrice de codage est décomposée en un nombre de ligne de la matrice de décodage sous-multiple du nombre d'élément à "1" inclus dans la matrice de codage systématique et dans ladite au moins une ligne, et une ligne de la matrice de décodage systématique issue de la décomposition de ladite au moins une ligne comporte des éléments à "1" ayant des rangs identiques aux rangs des éléments à "1" dans ladite au moins une ligne et en nombre sous-multiple du nombre d'élément à "1" dans ladite au moins une ligne, les éléments à "1" dans des lignes de la matrice de décodage systématique issues de la décomposition de ladite au moins une ligne ayant des rangs différents. Le dispositif décodeur pour décoder un signal de données codées incluant des variables de données et des variables de parité, comprenant des moyens pour résoudre des équations de parité dont les coefficients correspondent respectivement aux lignes d'une matrice de décodage dépendant d'une matrice de codage, la matrice de codage étant composée d'une matrice de codage systématique et d'une matrice de codage de parité partiellement bi-diagonale, et la matrice de décodage étant composée d'une matrice de décodage systématique et d'une matrice de décodage de parité bi-diagonale, est caractérisé en ce que : des lignes de la matrice de décodage sont issues d'une décomposition d'une ligne de la matrice de codage et sont en nombre sous-multiple du nombre d'élément à "1" inclus dans la matrice de codage systématique et dans ladite une ligne de la matrice de codage, une ligne de la matrice de décodage systématique issue de la décomposition de ladite une ligne comporte des éléments à "1" ayant des rangs identiques aux rangs des éléments à "1" dans ladite une ligne et en nombre sous-multiple du nombre d'élément à "1" dans ladite une ligne, les éléments à "1" dans des lignes de la matrice de décodage systématique issues de la décomposition de ladite une ligne ayant des rangs différents, et un nombre de colonne supplémentaire correspondant à une variable de parité cachée de valeur neutre pour le décodage du signal précède une colonne de la matrice de décodage de parité correspondant à une variable de parité ayant le même rang dans la matrice de codage de parité que celui de la ligne décomposée de la matrice de codage, le nombre de colonne supplémentaire augmenté de un étant égal audit nombre sous-multiple. Le dispositif décodeur comportant des matrices de décodage selon l'invention offre une architecture unique traitant des équations de parité ayant un nombre de variables de données constant. Ainsi à chaque changement de rendement de codage et par conséquent à chaque utilisation d'une autre matrice de codage avec un rendement de codage différent, l'architecture du dispositif décodeur selon l'invention demeure inchangée. Enfin l'invention se rapporte à des programmes d'ordinateur téléchargeables depuis un réseau de communication et/ou stockés sur un support lisible par ordinateur et/ou exécutables par un processeur. Les programmes comprennent des instructions pour la mise en oeuvre respectivement du procédé de codage d'un signal de données et du procédé de décodage d'un signal de données codées selon l'invention.35 D'autres caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture de la description suivante de plusieurs réalisations de l'invention données à titre d'exemples non limitatifs, en référence aux dessins annexés correspondants dans lesquels : - la figure 1 est un bloc-diagramme schématique d'un système de communication incluant un dispositif encodeur et un dispositif décodeur selon l'invention ; - la figure 2 est une représentation schématique d'une matrice de codage selon l'invention; - la figure 3 est une représentation schématique d'une matrice de décodage selon l'invention; - les figures 4 et 5 sont des représentations schématiques d'un exemple respectivement d'une matrice de codage et d'une matrice de décodage dépendant l'une de l'autre selon une première réalisation de l'invention; - la figure 6 est une représentation schématique de la matrice de décodage découpée en fenêtres de décodage; - la figure 7 est un bloc-diagramme représentatif de l'architecture du dispositif décodeur selon la première réalisation de l'invention; - la figure 8 est un algorithme de décodage selon l'invention; - les figures 9 et 10 sont des représentations schématiques d'un exemple respectivement d'une matrice de codage et d'une matrice de décodage dépendant l'une de l'autre selon une deuxième réalisation de l'invention; et - la figure 11 est un bloc-diagramme représentatif de l'architecture du dispositif décodeur selon la deuxième réalisation de l'invention. Le procédé de l'invention consiste à déterminer un code correcteur d'erreur flexible aux rendements au moyen de la construction d'une matrice de codage et d'une matrice de décodage qui sont "équivalentes", c'est-à-dire qui dépendent l'une de l'autre. En référence à la figure 1, un système de communication selon l'invention comprend une ou plusieurs entités émettrices dont une seule EM est représentée à la figure 1, et une entité réceptrice ER. Chaque entité émettrice émet des données via un canal de transmission CT vers l'entité réceptrice ER. Une entité émettrice EM comprend une unité source SC qui génère des séquences de données chacune représentée par un vecteur de données C fourni à un dispositif encodeur CD. Le dispositif encodeur détermine un vecteur de parité P codé suivant un code correcteur généré à partir d'une matrice de contrôle de parité, dite matrice de codage HC, décrite en relation avec la figure 2. Les deux vecteurs C et P relatifs à une séquence de données forment un mot de code X. Des mots de code issus de séquences de données sont produits successivement par le dispositif encodeur pour constituer un signal de données codées. Le mot de code X en sortie de l'entité émettrice EM comprend N = K + M variables dont K variables d'information ou de données co à cK-1 formant un vecteur de données C, et M variables de parité p0 à pM-1 formant un vecteur de parité P. Les variables sont des bits "0" ou "1". Le rendement de codage RC est le rapport R C = K/N. Le rendement de codage RC peut être différent selon la matrice de codage HC implémentée dans le dispositif encodeur CD et à partir de laquelle est généré le code correcteur. Chaque dispositif encodeur comporte une matrice de codage HC ayant son propre rendement de codage RC. En variante, un dispositif encodeur contient plusieurs matrices de codage HC différentes. Le signal de données codées contenant le mot de code X est transmis par l'entité émettrice EM via le canal de transmission CT à l'entité réceptrice ER. Cette dernière reçoit alors un signal codé de réception qui est déformé par rapport au signal codé de transmission. Le canal de transmission, dit également canal de propagation, peut être un canal aérien ou tout autre type de canal tel qu'un câble. A cause de perturbations du canal de transmission, chaque mot de code X subit des distorsions et devient un mot déformé Y inclus dans le signal de données reçu en entrée de l'entité réceptrice ER. Le mot de code Y est composé du vecteur C déformé comportant K variables de données co à cK-1 déformées, et du vecteur de parité P déformé comportant M variables de parité p0 à pM-1 déformées. Le canal de transmission se comporte comme une application déformante non déterministe entre le signal de données codées en entrée du canal et le signal de données codées en sortie du canal. Afin de compenser les effets dus à la transmission, l'entité réceptrice ER comporte un dispositif décodeur DC qui détermine une meilleure estimation de chaque vecteur de données reçu pour former un signal de code estimé comportant des vecteurs de données estimés. Le dispositif décodeur DC décode de manière itérative chaque mot reçu Y suivant un algorithme de décodage contenant un code correcteur généré à partir d'une matrice de décodage HD décrite en relation avec la figure 3 et dépendant de la matrice de codage HC implémentée dans le dispositif encodeur de l'entité émettrice EM. La matrice de décodage HD a un rendement de décodage RD égal ou différent du rendement de codage RC de la matrice de codage HC. Le rendement de décodage RD correspond également au nombre de variables de données K inclus dans le mot de code Y sur le nombre de variables totales NO intervenant lors du décodage du mot de code Y . RD = K/NO. Le dispositif décodeur estime un vecteur sensiblement identique au vecteur de données C généré par la source SC de l'entité émettrice EM. Chaque signal de code contenant le vecteur estimé est fourni à un récepteur d'information RI, par exemple un dispositif de reproduction sonore doté d'un haut- parleur. En variante le dispositif décodeur comprend plusieurs matrices de décodage qui sont chacune équivalente à une ou des matrices de codage HC différentes implémentées dans des entités émettrices. Selon une première réalisation de l'invention en référence à la figure 2, une matrice de codage HC de taille MxN, soit M lignes de rangs 1 à m et N = K+M colonnes de rangs 1 à N, fait correspondre les N variables du mot de code X aux M équations de parité eq0 à eqM-1. Ainsi, chaque équation de parité dont les coefficients sont les éléments d'une ligne de la matrice HC comporte dc variables correspondant aux dc éléments à "1" de ladite ligne, et chaque variable relative à une colonne de la matrice HC est impliquée dans dv équations de parité correspondant aux dv éléments à "1" de ladite colonne. La matrice de codage H C est composée de deux matrices : une matrice de codage systématique HCc dite également matrice de codage non bi-diagonale, de taille MxK, avec K le nombre de variables de données co à cK-1 du vecteur de données C, et une matrice de codage de parité HCp, dite également matrice de codage bi-diagonale, de taille MxM avec M le nombre de variables de parité p0 à pM-1 du vecteur de parité P. Selon une deuxième réalisation de l'invention, la matrice de codage de parité HCp est partiellement bi-diagonale. Cette deuxième réalisation est décrite ultérieurement en référence à la figure 9. Le mot de code X est décomposé de la façon suivante X = [C P] et respecte l'équation : T HC XT = [HCc HCp] CT = 0T P ou XT, CT et PT sont les transposées des vecteurs X, C et P, l'équation (1) se décomposant en M équations de parité eq0 à eqM-1• Un vecteur de projection V comprenant des variables de projection v0 à vM_1 est défini par la relation suivante . VT = HCc CT (2) Les variables de parité p0 à pM-1 du vecteur de parité P sont déduites des relations précédentes (1) et (2) dans le dispositif encodeur CD : PT = HCp1VT (3) (1) 30 La matrice de codage systématique HCc fait correspondre les variables de données co à cK-1 du vecteur de données C aux variables de projection v0 à vM_1 du vecteur de projection V, et comprend JCm élément à l'état "1" pour chaque ligne m de la matrice. La matrice de codage de parité HCp qui est constante, fait correspondre les variables de projection v0 à vM_1 du vecteur de projection V aux variables de parité p0 à pM-1 du vecteur de parité P. Selon la première réalisation, les éléments à "1" dans la matrice de parité HCp sont disposés bi- diagonalement, c'est-à-dire dans la diagonale centrale et une sous-diagonale jouxtant et parallèle à la diagonale centrale dans la matrice HCp. La forme de la matrice de parité HCp définit un code de la famille des codes accumulatifs irréguliers IRA ("Irregular Repeat-Accumulate" en anglais). Ce code est une accumulation série de codes de parité et d'un code convolutif récursif à une bascule. Cette forme bi-diagonale permet un encodage simple des variables de données. En référence à la figure 3, la matrice de décodage HD est de forme similaire à la matrice de codage H C dont elle dépend, et est de taille MOxNO, soit MO lignes de rangs 1 à MO et NO colonnes de rangs 1 à NO. La matrice de décodage HD est composée également de deux matrices. Une première matrice de décodage systématique HDc, appelée également matrice de décodage non bi-diagonale, est de taille MOxK, avec K le nombre de variables de données co à cK-1 du vecteur de données C du mot de code Y, et MO le nombre d'équations de parité Eq0 à EgMO_1. La matrice de décodage systématique HDc fait correspondre les variables de données co à cK-1 déformées du vecteur de données C à des variables de projection v0 à vM-1 d'un vecteur de projection V, tel que défini par la relation (2). La matrice de décodage systématique HDc comprend, selon une première réalisation de l'invention, JD élément à "1" pour chaque ligne de la matrice. JD est un nombre entier constant et sous-multiple des nombres JCm d'élément à "1" dans les lignes de la matrice de codage systématique HCc. Ainsi JCm = Tm JD, avec m correspondant à l'indice de ligne de la matrice HCc. Chaque ligne m de la matrice de codage systématique HCc se décompose en Tm lignes de la matrice de décodage systématique HDc. Chacune des lignes de la matrice de décodage systématique issues de la décomposition d'une ligne de la matrice de codage comporte JD éléments à "1" positionnés dans des colonnes ayant des rangs qui sont identiques à des rangs d'élément à "1" dans la ligne de la matrice de codage systématique et qui sont différents des rangs d'élément à "1" des autres lignes de la matrice de décodage systématique issues de la décomposition de la ligne de la matrice de codage. Le nombre JD correspond à un diviseur commun des nombres JCm d'élément à "1" relatifs à la matrice de codage systématique. La deuxième matrice, dite matrice de décodage de parité HDp ou encore matrice bi-diagonale, est de taille MOxMO, avec MO la somme du nombre M de variables de parité p0 à pM-1 du vecteur de parité P déformé du mot de code Y et de nombres TO-1,... Tm-1,... TM-1-1 de variables intermédiaires etm,m, dites variables de parité cachées, avec 0 Selon un exemple représenté aux figures 4 et 5 et relatif à la première réalisation, la matrice de codage HC comprend M = 3 lignes et N = 11colonnes, avec pour les deux premières lignes de la matrice systématique JC0 = JC1 = 4 éléments à "1", et pour la troisième ligne JC2 = 6 éléments à "1". La matrice de décodage HD, représentée à la figure 5, comprend MO = 7 lignes et NO = 15 colonnes. Chaque ligne de la matrice de décodage systématique HDc a un nombre constant JD = 2 d'éléments à "1". La première et la deuxième ligne de la matrice HC se décompose chacune en TD = T1 = 2 lignes de la matrice de décodage, c'est-à-dire respectivement en les deux premières lignes et les deux lignes suivantes de la matrice HD. De même, la troisième ligne de la matrice HC se décompose en T2 = 3 lignes de la matrice de décodage qui sont les trois dernières lignes de la matrice HD. Pour obtenir une décomposition d'une ligne systématique de codage en Tm lignes systématiques de décodage, Tm-1 variables de parité cachées etm,m correspondant à des colonnes de la matrice précèdent la variable de parité pm dans la matrice de décodage de parité. La variable de parité pm est positionnée au même rang de colonne dans la matrice de codage de parité que celui de la ligne décomposée dans la matrice de codage, et le nombre de colonne supplémentaire est égal à Tm_1-1. Les ensembles de T0-1 à TM_1-1 variables de parité cachées sont associés aux variables de parité p0 à pm-1 selon une relation d'accumulation relative à la forme bidiagonale de la matrice de décodage de parité. Cette relation est exprimée, par exemple, en référence à la forme bi-diagonale de la matrice de codage de parité HCp. Chaque équation de parité eqm de la matrice HC permet d'obtenir la variable de parité pm telle que : JCm -1 Pm Pm-1 + Cs(i,m) i=0 où s(i,m) est la position du ieme élément non nul "1" de la ligne m dans la matrice de codage systématique HCc. Puisque JCm = Tm JD, la relation précédente s'écrit également en faisant apparaître la somme de JD bits telle que : Tm -1 (j+l)JD-1 Pm = Pm-1 + Cs(i,m) j=0 i=jJD Cette relation s'écrit également par l'intermédiaire des variables de parité cachées : 20 JDù1 e0,m = Pmù1 + Cs(i,m) i=0 2JDù1 el,m = e0,m + Cs(i,m) i=JD (tm +1)JDù1 etm _1,m + Cs(i, m) etm,m i=tmJD (Tm -1)JDù1 eTm _2,m = eTm _3,n + Cs'i,m) i=(Tm -2)JD TmJDù1 Pm = eTm _2,m + E Cs(i,m) i=(Tm -1)JD JDù1 e0,m+1 = Pm + Cs(i,m+l) . i=0 En référence à l'exemple illustré à la figure 4, les M = 3 variables de parité p0 à p2 obtenues à partir des équations de parité eq0 à eq2 de la matrice de codage HC sont : PO = c0 P1 = PO P2 = P1 + c2 + c4 + c6 + c1 + c3 + c5 + c7 + CO + c2 + c3 + c4 + c6 + c7 . D'après les relations décrites précédemment pour JD = 2, les égalités précédentes sont réécrites en 25 introduisant des variables de parité cachées etm,m précédant respectivement les M variables de parité Pm pour obtenir sept équations de parité formant la matrice de décodage HD représentée à la figure 5 : e0,0 = co + c2 p0 = e0, 0 + c4 + c6 e0, 1 = PO + c1 + c3 p1 = e0, 1 + c5 + c7 e0, 2 = p1 + CO + c2 el, 2 = e0,2 + c3+ c4 P2 = e1,2 + c6 + c7. A chaque ligne m de la matrice de codage HC correspond Tm lignes dans la matrice de décodage systématique HDc et Tm-1 variables de parité cachées etm,m dans la matrice de décodage de parité HDp. L'introduction des variables de parité cachées dans la matrice de décodage HD augmente la taille du mot de code à décoder qui comprend les variables de données ck, les variables de parité pm et les variables de parité cachées etm,n. En conséquence, le rendement de décodage RD associé à la matrice de décodage est inférieur au rendement de codage RC associé à la matrice de codage HC. Pour l'exemple des figures 4 et 5, le rendement de codage RC est égale à K/N = 8/11 avec K = 8 et N = 11, alors que le rendement de décodage RD est égale à K/N0 = 8/15, avec K = 8 et NO = 15 qui correspond à la somme des nombres des variables de données ck, des variables de parité pm et des variables de parité cachées etm,m. Le procédé de décodage selon l'invention s'appuie sur un algorithme de décodage de type turbo série par fenêtre, afin d'optimiser le décodage d'un signal de données codées reçu en entrée du dispositif décodeur DC. Une autre représentation de la matrice de décodage est illustrée à la figure 6 pour introduire le fenêtrage des équations de parité composant la matrice de décodage. La matrice de décodage systématique HDc est constituée de AxK sous-matrices ID à IA_l comportant chacune z lignes avec 0 relation (3) en fonction de la matrice de codage de parité HCp et des variables v0 à vM_1 du vecteur de projection V précédemment déterminées par le codeur CD1. Le mot de code X en sortie du dispositif encodeur CD est formé des variables co à cK-1 du vecteur de données C et des variables p0 à pM-1 du vecteur de parité P. Les variables impliquées dans le codage de la séquence de données sont des valeurs binaires "0" ou "1". A la réception du signal de données codées déformé, les variables binaires des vecteurs C et P sont pour certaines également déformées et erronées. Pour obtenir des variables de données similaires à celles générées par l'unité source SC du dispositif encodeur CD, en sortie du dispositif décodeur DC, celui-ci estime à chaque itération i des variables de données, appelées dans la suite de la description "variables de vraisemblance", qui formeront le signal de code estimé. Après un nombre prédéfini I d'itérations, les variables de vraisemblance sont utilisées pour déterminer le vecteur C1 estimé se rapprochant le plus du vecteur C généré. L'algorithme de décodage mis en oeuvre dans le dispositif décodeur DC est basé sur l'algorithme de propagation de croyance BP ("Belief Propagation" en anglais) qui est un algorithme itératif à entrées souples. Toutes les variables impliquées dans l'algorithme de décodage sont des variables pondérées par exemple du type LLR ("Log Likehood Ratio" en anglais), comportant chacune un signe définissant la valeur binaire dure "0" ou "1" de la variable et une valeur souple précisant la fiabilité de cette valeur binaire dure.35 En référence à la figure 7, le dispositif décodeur DC mettant en oeuvre l'algorithme de décodage relatif à la première réalisation de l'invention comprend trois décodeurs DC1, DC2 et DC3, des mémoires MR1, MR2 et MP et une unité de contrôle UC qui contrôle l'ensemble des éléments du dispositif décodeur DC. Tous ces éléments sont représentés sous forme de blocs fonctionnels dont la plupart assurent des fonctions ayant un lien avec l'invention et peuvent correspondre à des modules logiciels et/ou matériels. Les décodeurs DC1, DC2, DC3 et les mémoires du dispositif décodeur DC sont contrôlées par l'unité de contrôle UC qui gère l'accès aux mémoires et l'ordonnancement du fonctionnement des décodeurs en fonction du contenu de la matrice de décodage HD et des fenêtres de décodage FD à FZ_1. L'unité UC comprend ou est reliée à une mémoire de contrôle MRC contenant plusieurs matrices de décodage HDh et leurs variables de parité cachées, avec l'indice h tel que 1 Les décodeurs DC1 et DC3 ont la particularité de traiter des équations de parité à J D variables de données intrinsèques m cQ à m0cK-1 obtenues à partir de l'observation du canal de transmission CT, par application d'une matrice de décodage systématique HDhc. Le décodeur DC2 est un décodeur d"'aller retour" FBA ("Forward Backward Algorithm" en anglais) et traite les équations de parité de la matrice de décodage de parité HDhp en fonction des variables de parité intrinsèques m pQ à m p (M-1) obtenues à partir de l'observation du canal de transmission CT et de variables de parité cachées intrinsèques m e0,0 à 0 m e(T(M-1)-2),M-1• La mémoire MR1 comprend au moins un espace mémoire Mcv contenant pour chaque traitement d'une fenêtre de décodage Ff, des premières variables extrinsèques m11ck,vm déterminées par le décodeur DC1 et échangées entre le décodeur DC1 et le décodeur DC3, avec l'indice ck tel que cO ck c(K-1) et l'indice vm tel que vO vm v(M0-1). La mémoire MR2 comprend un espace mémoire Mvc contenant pour chaque itération i des deuxièmes variables extrinsèques m21vm,ck déterminées par le décodeur DC3 et échangées entre le décodeur DC3 et le décodeur DC1, avec les indices vm et ck tels que vO vm v(M0-1) et cO ck c(K-1). La mémoire MR2 comprend également un espace mémoire de données MC contenant les variables de données intrinsèques m cQ à m c(K-1) et des variables de vraisemblance m'c0 à m c(K-1) estimées par le décodeur DC3 à chaque itération i et devant correspondre aux variables de données émises co à cK-1. La mémoire de parité MP, accessible par le décodeur DC2, comprend les variables de parité intrinsèques m pQ et mOpM-1 et les variables de parité cachées m eO, 0 à m e (T (M-1) -2) ,M-1 correspondant à la matrice de décodage HD à partir de laquelle le code correcteur est généré. Les variables m11ck,vm, m cO à m0cK-1, m21vm,ck, m1cO a m1c(K-1), mOpO a mOp (M-1) et m0eO, 0 a m0e (T (M-1) - 2),M-1 sont des variables pondérées de type LLR ("Log Likehood Ratio" en anglais). L'algorithme de décodage représenté à la figure 8 et relatif à la première réalisation de l'invention comprend des étapes El à E13. A l'étape El, lors de la préparation de la communication de données entre l'entité émettrice EM et l'entité réceptrice ER, l'entité émettrice EM transmet à l'entité réceptrice ER un signal SI contenant des paramètres de communication dont le rendement de codage RC relatif à la matrice de codage HC du dispositif encodeur CD de l'entité émettrice EM. A la réception du signal SI à l'étape E2, l'unité de contrôle UC du décodeur DC recherche dans la mémoire MRC la matrice de décodage HDh dépendant de la matrice de codage de l'entité émettrice dont le rendement de codage est RC. L'unité UC génère un code correcteur à partir de la matrice de décodage HDh et implémente ce code dans les décodeurs DC1, DC2 et DC3. L'unité UC mémorise également les variables de parité cachées intrinsèques m e0, 0 à m e (T (M-1) -2) ,M-1 relatives aux variables de parité cachées e0,0 à e(T(M-1)-2),M-1 associées à la matrice de décodage HDh, dans la mémoire MP à une valeur neutre qui dans le cas des variables pondérées de type LLR est zéro. Puis à l'étape E3, l'entité émettrice EM débute la transmission de signaux contenant des mots de code x à l'entité réceptrice ER. A la réception d'un signal de transmission contenant le mot de code déformé Y issu du mot de code X transmis, l'unité de contrôle UC du dispositif décodeur DC détermine à l'étape E4 des variables de données intrinsèques m cQ à m c(x-1) à partir des variables transmises du vecteur de données C déformé, et les variables de parité intrinsèques m pQ à m p(M-1) à partir des variables transmises du vecteur de parité P déformé. Les variables intrinsèques de données et de parité sont respectivement mémorisées dans l'espace mémoire MC de la mémoire MR2 et dans la mémoire MP. A chaque itération i aux étapes E5 à E13, le dispositif décodeur DC traite les z fenêtres de décodage. Lors du traitement d'une fenêtre de décodage Ff comprenant A équations de parité contenant chacune JD variables de données ck, avec 0 f z-1, l'algorithme de décodage comprend trois étapes distinctes de décodage E6, E7 et E8 traitées respectivement dans les décodeurs DC1, DC2 et DC3 du dispositif décodeur DC. A chaque traitement d'une fenêtre de décodage Ff, l'unité UC autorise les décodeurs à accéder en écriture et lecture dans les mémoires MR1, MR2 et MP pour y lire et écrire des variables impliquées respectivement dans les A équations de la fenêtre Ff en dépendance des éléments de la matrice de décodage HD lue dans la mémoire MRC, au cours du décodage.35 La première étape de décodage E6 mise en oeuvre dans le décodeur DC1, activée par l'unité de contrôle UC, consiste à résoudre les A équations de parité de la fenêtre Ff définies par la matrice de décodage systématique HDc et contenant chacune JD variables ck. Pour chaque équation de parité Eqf, le décodeur DC1 détermine des premières variables extrinsèques m11ck,vf associées respectivement aux variables de parité ck intervenant dans l'équation de parité, et nécessaires à la détermination d'une première variable de projection pondérée V11vf relative à l'équation de parité Eqf. Chaque première variable extrinsèque m11ck,vf est déterminée par application d'une fonction g à la variable de données intrinsèque m ck mémorisée dans l'espace mémoire MC et à des deuxièmes variables extrinsèques m21-1vj,ck associées aux variables de projection vj, avec l'indice j différent de l'indice f, relatives aux équations de parité Eqf de la matrice de codage systématique qui contiennent la variable de donnée ck. Ces deuxièmes variables extrinsèques m21-1vj,ck sont déterminées par le décodeur DC3 lors de l'itération précédente i-1 et sont mémorisées dans l'espace mémoire Mvc de la mémoire MR2. La fonction g peut être telle que : g (x1,... xq,... xQ) = sign (x1) ... sign (xq) ... sign(xQ) min (I x1 I , .. I xg I , ... I xQ ~) , où "sign" est la fonction signe définissant la valeur binaire dure "0" ou "1" d'une variable xq et Ixglune valeur souple positive précisant la fiabilité de cette valeur binaire dure. Les premières variables extrinsèques m11ck,vf résultant de la résolution des A équations de la fenêtre Ff pour l'itération i à partir de la matrice systématique HDc sont déterminées simultanément et sont mémorisées dans la mémoire Mcv. Le décodeur DC1 détermine ensuite les premieres variables de projection pondérées V11vf relatives aux équations de parité de la fenêtre Ff. Pour chaque équation de parité Eqf, la première variable de projection pondérées associée V11vf est déterminée par application de la fonction g sur toutes les premières variables extrinsèques m11ck,vf associées respectivement aux variables de parité ck contenues dans l'équation de parité Eqf. Le décodeur DC1 fournit au décodeur DC2 les premières variables de projection pondérées V11vf déterminées lors de la résolution des A équations de la fenêtre Ff. Puis l'unité de contrôle UC désactive le décodeur DC1. La deuxième étape de décodage E7 mise en oeuvre dans le décodeur DC2 activé par l'unité de contrôle UC consiste à déterminer le code interne, c'est-à- dire à résoudre les A équations de parité de la fenêtre Ff définies par la matrice de décodage de parité HDp à partir des A premières variables de projection pondérées V11vf produites par le décodeur DC1 et des A variables de parité intrinsèques m pf et de parité cachées intrinsèques m etm, f pour obtenir A deuxièmes variables intermédiaires, dites deuxièmes variables de projection pondérées V21vf à fournir au troisième décodeur DC3. Le décodeur DC2 est un décodeur différentiel et utilise une technique de décodage connue de code convolutif à sortie pondérée selon le contenu de la matrice de parité HDp, comme les algorithmes d"'aller retour" FBA (Forward Backward Algorithm) tels que l'algorithme BCJR (Baht-Cocke-Jelinek-Raviv).35 La troisième étape de décodage E8 mise en oeuvre dans le décodeur DC3 activé par l'unité de contrôle UC consiste à vérifier les A équations de parité de la fenêtre Ff définies par la matrice systématique HDc en déterminant des deuxièmes variables intrinsèques m21vf,ck• Chaque deuxième variable extrinsèque m2lvf,ck est déterminée par application de la fonction g sur la deuxième variable de projection pondérée V21vf relative à l'équation de parité Eqf et fournie par le décodeur DC2, et sur les premières variables extrinsèques m1lcj,vf associées à des variables de données cj, avec j différent de k, contenues dans l'équation de parité Eqf et déterminées par le décodeur DC1 lors de la première étape de décodage E6. Les deuxièmes variables extrinsèques m2lvf,ck résultant de la résolution des A équations de la fenêtre Ff pour l'itération i à partir de la matrice systématique HDc sont déterminées simultanément et sont mémorisées dans la mémoire Mvc• Ces deuxièmes variables extrinsèques seront impliquées dans la détermination des premières variables extrinsèques dans le décodeur DC1 lors de l'itération suivante i+1. A l'étape E9, l'unité de contrôle UC vérifie si toutes les z fenêtres de décodage sont traitées. Dans le cas contraire, une autre fenêtre de décodage est implémentée à l'étape E10 et est traitée aux étapes E6 à E8. Si les z fenêtres de décodage sont traitées, l'unité de contrôle UC active le décodeur DC3 à l'étape E11 pour estimer les variables de vraisemblance m'c0 à m'c(K-1)• Chaque variable de vraisemblance mlck est estimée par application de la fonction g sur la variable intrinsèque m ck associée et mémorisée dans l'espace mémoire MC et sur les deuxièmes variables extrinsèques m21vf,ck associées à la variable de données ck et mémorisées dans l'espace mémoire Mcv de la mémoire MR2. A l'étape E12, l'unité de contrôle UC vérifie si toutes les I itérations sont exécutées. Dans le cas contraire, une autre itération i est implémentée à l'étape E5 et les z fenêtres de décodage sont à nouveau traitées aux étapes E6 à E9. Si les I itérations sont traitées, l'unité de contrôle UC établit un signal de données estimé contenant les variables de vraisemblance mlc0 a m1c(K- 1) correspondant sensiblement aux variables de données générées par la source SC de l'entité émettrice EM, et fournit le signal de données estimées au récepteur d'information RI de l'entité réceptrice ER, à l'étape E13. Selon une deuxième réalisation de l'invention, les nombres d'éléments à "1" sont différents dans les lignes de la matrice de décodage systématique HDc. Au moins les nombres JD j d'éléments à "1" dans deux lignes distinctes de la matrice HDc sont différents. Plus généralement, J nombres JD1 à JDJ d'éléments à "1" peuvent être différents dans des lignes distinctes de la matrice HDc, avec l'entier j tel que 0 ~ j ~ J-1. Le profil d'irrégularité relatif à la variation du nombre d'élément à "1" pour certaines lignes de la matrice de décodage systématique HDc correspond au profil d'irrégularité de la matrice de codage HC. Cette irrégularité est plus particulièrement due à la matrice de codage de parité qui est partiellement bi- diagonale. Une ou des colonnes de la matrice de codage de parité n'appartient pas à une partie bidiagonale de celle-ci et sont considérées comme irrégulières. Dans le dispositif décodeur, la ou les colonnes irrégulières sont transférées en tant que colonne dans la matrice systématique de décodage. La matrice de décodage systématique HDc ainsi agrandie comporte une partie initiale relative à la décomposition des lignes de la matrice de codage systématique dont le nombre JD d'élément à "1" dans chaque ligne est un sous-multiple du nombre d'élément JCm relatif à la matrice de codage systématique, et une partie supplémentaire comportant la ou les colonnes supplémentaires correspondant à la ou les colonnes irrégulières de la matrice de codage de parité. Les colonnes supplémentaires de la matrice de décodage systématique ont le même nombre d'élément à "1" que les colonnes irrégulières de la matrice de codage de parité, ces éléments étant répartis selon la décomposition de chaque ligne de la matrice de codage systématique en le nombre de ligne de la matrice de décodage systématique. Le nombre JDj d'élément à "1" dans l'une des lignes de la matrice de décodage systématique agrandie HDc issues de la décomposition d'une ligne de la matrice de codage est égal à la somme du nombre JD d'élément à "1" de la ligne appartenant à la partie initiale de la matrice HDc et du nombre d'élément à "1" sur la même ligne et dans les colonnes supplémentaires de la matrice HDc. Selon un exemple représenté à la figure 9, la matrice de codage HC de rendement RC = 8/12 = 2/3, comprend une matrice de codage de parité HCp irrégulière dont une partie des colonnes est de forme bi-diagonale, par exemple les colonnes associées aux variables de parité p1 à p3, et dont une partie des colonnes est irrégulière, par exemple la première colonne associée à la variable de parité p0 comprenant trois "1". Pour obtenir une matrice de décodage de parité bi-diagonale HDp, les colonnes irrégulières de la matrice de parité sont considérées comme des colonnes supplémentaires de la matrice de décodage systématique agrandie HDc, p0 étant alors considéré comme une variable de données. Les équations de parité de la matrice de codage HC sont : CO + C2 + C4 + C6 + p0 + p1 = 0 Cl + c3 + c5 + c7 + p0 + p1 + p2 = 0 CO + c3 + c4 + c6 + p2 + p3 = 0 Cl + c2 + c5 + c7 + p0 + p3 = 0. En remarquant que la matrice de décodage HD dépend de la matrice de codage HC, la variable p0 est une variable de données et chaque ligne de la matrice systématique agrandie HDc de la matrice de décodage comprend soit JD0 = 2, soit JD1 = 3 éléments à "1", les équations de parité de la matrice de décodage sont : e0,1 = co + c2 + p0 e1, 1 = e0, 1 + c4 + c6 p1 = e1,1 + c1 + C3 e0, 2 = p1 + c5 + c7 + p0 P2 = e0,2 + co + c3 e0,3 = p2 + c4 + c6 p3 = e0, 3 + Cl + c2 p3 = c5 + c7 + p0 Les première, quatrième et huitième équations contiennent JD1 = 3 variables de données (ck, p0)• Les autres équations contiennent JD0 = 2 variables de données ck. En référence à la figure 11, le dispositif décodeur de la deuxième réalisation est analogue au dispositif décodeur de la première réalisation, excepté les décodeurs DC1 et DC3 divisés chacun en autant de sous-décodeurs qu'il y a de nombres JDD d'élément à "1" différents dans les lignes de la matrice de décodage HD. Selon l'exemple précédent, les décodeurs DC1 et DC3 sont divisés en deux sous-décodeurs. Un premier sous-décodeur traite les équations de parité à JD0 variables de données. Le deuxième sous-décodeur traite les équations de parité à JD1 variables de données. L'algorithme de décodage est analogue à l'algorithme de décodage relatif à la première réalisation, les J-1 sous-décodeurs des décodeurs DC1 et DC3 fonctionnant simultanément. A partir d'une architecture figée du dispositif décodeur, celui-ci décode tout mot de code de rendement différent généré à partir de matrices de codage HC dont chaque équation de parité m comprend un nombre JCm de variables de données multiple du nombre JD de variables de données contenues dans les équations de parité de la matrice de décodage systématique traitées par les décodeurs DC1 et DC3. L'invention s'applique dans le domaine des transmissions à redondance incrémentale ("incremental redundancy" en anglais). Pour ce type d'application, une matrice de codage HC est dépendante de plusieurs matrices de décodage HD chacune associée à des rendements de codage différents, et correspond à la matrice de décodage présentant le plus faible rendement de codage. Après le codage d'une séquence de données, l'entité émettrice poinçonne des variables de parité dans le mot de code pour transmettre le mot de code selon un premier rendement de codage. A la réception du mot de code déformé Y, le décodeur sélectionne la matrice de décodage associée au premier rendement de codage et estime les variables de données transmises en fonction des variables de parité transmises et des variables de parité cachées correspondant à la matrice de décodage. Si le décodeur ne peut décoder les variables de données en fonction des seules variables de parité envoyées, il demande à l'entité émettrice de lui transmettre une ou des variables de parité supplémentaires parmi les variables de parité poinçonnées. L'apport d'au moins une variable de parité supplémentaire au mot de code précédemment transmis modifie le rendement de code. Le décodeur sélectionne donc une autre matrice de décodage associée au rendement de code modifié et exécute une autre estimation des variables de données en fonction des variables de parité précédemment transmises, de ladite au moins une variable de parité supplémentaire et des variables de parité cachées correspondant à l'autre matrice de décodage. D'autres variables de parité supplémentaires sont transmises par l'entité émettrice tant que le décodeur n'a pas estimé correctement les variables de données. L'invention décrite ici concerne une détermination d'un code au moyen d'une construction de matrices de codage et de décodage dépendantes, un codage et un dispositif encodeur pour coder un signal de données, un décodage et un dispositif décodeur pour décoder un signal de données codées. Selon une implémentation, les étapes du procédé de l'invention sont déterminées par les instructions de programmes d'ordinateur incorporés dans les dispositifs encodeur et décodeur. Les programmes comportent des instructions de programme qui, lorsque lesdits programmes sont exécutés respectivement dans le dispositif encodeur et le dispositif décodeur dont le fonctionnement est alors commandé par l'exécution des programmes, réalisent les étapes du codage et décodage selon l'invention. En conséquence, l'invention s'applique également à des programmesd'ordinateur, notamment des programmes d'ordinateur enregistrés sur ou dans un support d'informations lisible par un ordinateur et tout dispositif de codage et de décodage de données, adapté à mettre en oeuvre l'invention. Ces programmes peuvent utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable pour implémenter le procédé selon l'invention. Le support d'informations peut être n'importe quelle entité ou dispositif capable de stocker les programmes. Par exemple, le support peut comporter un moyen de stockage ou support d'enregistrement sur lequel sont enregistrés les programmes d'ordinateur selon l'invention, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore une clé USB, ou un moyen d'enregistrement magnétique, par exemple une disquette (floppy disc) ou un disque dur. D'autre part, le support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Les programmes selon l'invention peuvent être en particulier téléchargés sur un réseau de type internet. Alternativement, le support d'informations peut être un circuit intégré dans lequel les programme s sont incorporés, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé selon l'invention.15 REVENDICATIONS 1 - Procédé de détermination de code au moyen d'une construction d'une matrice de codage (HC) et d'une matrice de décodage (HD) dépendant l'une de l'autre, la matrice de codage étant composée d'une matrice de codage systématique et d'une matrice de codage de parité partiellement bi-diagonale (HCc, HCp), et la matrice de décodage étant composée d'une matrice de décodage systématique et d'une matrice de décodage de parité bi-diagonale (HDc, HDp), caractérisé en ce que : au moins une ligne de la matrice de codage (HC) est décomposée en un nombre de ligne de la matrice de décodage (HD) sous-multiple du nombre d'élément à "1" inclus dans la matrice de codage systématique et dans ladite au moins une ligne, et une ligne de la matrice de décodage systématique (HDc) issue de la décomposition de ladite au moins une ligne comporte des éléments à "1" ayant des rangs identiques aux rangs des éléments à "1" dans ladite au moins une ligne et en nombre sous-multiple (Tm) du nombre d'élément à "1" (JCm) dans ladite au moins une ligne, les éléments à "1" dans des lignes de la matrice de décodage systématique issues de la décomposition de ladite au moins une ligne ayant des rangs différents. 2 - Procédé de détermination de code conforme à la revendication 1, selon lequel toutes les lignes de la matrice de décodage systématique (HDc) ont le même nombre d'élément à "1" (JD). 3 - Procédé de détermination de code conforme à la revendication 1 ou 2, selon lequel au moins deux lignes de la matrice de codage systématique (HCc) ont des nombres d'élément à "1" différents et toutes les lignes de la matrice de décodage systématique ont un nombre d'élément à "1" égal à un diviseur commun aux nombres d'élément à "1" différents. 4 - Procédé de détermination de code conforme à la revendication 1 ou 2, selon lequel au moins deux lignes dans deux matrices de codage systématiques différentes ont des nombres d'élément à "1" différents et toutes les lignes des matrices de décodage systématiques dépendant respectivement des dites deux matrices de codage systématiques différentes ont un nombre d'élément à "1" égal à un diviseur commun aux nombres d'élément à "1" différents. 5 - Procédé de détermination de code conforme à l'une quelconque des revendications 1 à 4, selon lequel au moins une colonne (p0) de la matrice de codage de parité (HCp) n'appartient pas à une partie bi-diagonale de celle-ci et est transférée en tant que colonne dans la matrice de décodage systématique (HDc), et la matrice de décodage systématique comporte une colonne supplémentaire ayant des éléments à "1" en nombre égal à ceux dans ladite au moins une colonne et répartis selon la décomposition des lignes de la matrice de codage systématique. 6 - Procédé de codage d'un signal incluant des variables de données (ck) en un signal incluant les variables de données et des variables de parité (pm), comprenant une résolution d'équations de parité (eq0 - egm_I) dont les coefficients correspondent respectivement aux lignes d'une matrice de codage (HC) dépendant d'une matrice de décodage (HD), la matrice de codage étant composée d'une matrice de codage systématique et d'une matrice de codage de parité partiellement bi-diagonale (HCc, HCp), et la matrice de décodage étant composée d'une matrice de décodage systématique et d'une matrice de décodage de parité bi-diagonale (HDc, HDp), caractérisé en ce que : au moins une ligne de la matrice de codage est décomposée en un nombre de ligne de la matrice de décodage sous-multiple du nombre d'élément à "1" inclus dans la matrice de codage systématique et dans ladite au moins une ligne, et une ligne de la matrice de décodage systématique issue de la décomposition de ladite au moins une ligne comporte des éléments à "1" ayant des rangs identiques aux rangs des éléments à "1" dans ladite au moins une ligne et en nombre sous-multiple (Tm) du nombre d'élément à "1" (JCm) dans ladite au moins une ligne, les éléments à "1" dans des lignes de la matrice de décodage systématique issues de la décomposition de ladite au moins une ligne ayant des rangs différents. 7 - Procédé de décodage d'un signal de données codées incluant des variables de données (ck) et des variables de parité (pm), fondé sur une matrice de codage (HC) dépendant d'une matrice de décodage, la matrice de codage étant composée d'une matrice de codage systématique et d'une matrice de codage de parité partiellement bi-diagonale (HCc, HCp), et la matrice de décodage étant composée d'une matrice de décodage systématique et d'une matrice de décodage de parité bi-diagonale (HDc, HDp), caractérisé en ce que : des lignes de la matrice de décodage sont issues d'une décomposition d'une ligne de la matrice de codage et sont en nombre sous-multiple du nombre d'élément à "1" inclus dans la matrice de codage systématique et dans ladite une ligne de la matrice de codage, une ligne de la matrice de décodage systématique issue de la décomposition de ladite une ligne comporte des éléments à "1" ayant des rangs identiques aux rangs des éléments à "1" dans ladite une ligne et en nombre sous-multiple (Tm) du nombre d'élément à "1" (JCm) dans ladite une ligne, les éléments à "1" dans des lignes de la matrice de décodage systématique issues de la décomposition de ladite une ligne ayant des rangs différents, et un nombre de colonne supplémentaire correspondant à une variable de parité cachée (etm,m) de valeur neutre pour le décodage du signal précède une colonne de la matrice de décodage de parité correspondant à une variable de parité (pm) ayant le même rang dans la matrice de codage de parité que celui de la ligne décomposée de la matrice de codage, le nombre de colonne supplémentaire augmenté de un étant égal audit nombre sous-multiple. 8 - Dispositif encodeur pour coder un signal incluant des variables de données (ck) en un signal incluant les variables de données et des variables de parité (pm), comprenant des moyens (CD1, CD2) pour résoudre des équations de parité (eql - eqM) dont les coefficients correspondent respectivement aux lignes d'une matrice de codage (HC) dépendant d'une matrice de décodage, la matrice de codage étant composée d'une matrice de codage systématique et d'une matrice de codage de parité partiellement bi-diagonale (HCc, HCp), et la matrice de décodage étant composée d'une matrice de décodage systématique et d'une matrice de décodage de parité bi-diagonale (HDc, HDp), caractérisé en ce que : au moins une ligne de la matrice de codage est décomposée en un nombre de ligne de la matrice de décodage sous-multiple du nombre d'élément à "1" inclus dans la matrice de codage systématique et dans ladite au moins une ligne, et une ligne de la matrice de décodage systématique issue de la décomposition de ladite au moins une ligne comporte des éléments à "1" ayant des rangs identiques aux rangs des éléments à "1" dans ladite au moins une ligne et en nombre sous-multiple (Tm) du nombre d'élément à "1" (JCm) dans ladite au moins une ligne, les éléments à "1" dans des lignes de la matrice de décodage systématique issues de la décomposition de ladite au moins une ligne ayant des rangs différents. 9 - Dispositif décodeur pour décoder un signal de données codées incluant des variables de données (ck) et des variables de parité (pm), comprenant des moyens (DC1, DC2, DC3) pour résoudre des équations de parité (Eq0 à Eq o_1) dont les coefficients correspondent respectivement aux lignes d'une matrice de décodage (HD) dépendant d'une matrice de codage, la matrice de codage étant composée d'une matrice de codage systématique et d'une matrice de codage de parité partiellement bi-diagonale (HCc, HCp), et la matrice de décodage étant composée d'une matrice de décodage systématique et d'une matrice de décodage de parité bi-diagonale (HDc, HDp), caractérisé en ce que : des lignes de la matrice de décodage sont issues d'une décomposition d'une ligne de la matrice de codage et sont en nombre sous-multiple du nombre d'élément à "1" inclus dans la matrice de codage systématique et dans ladite une ligne de la matrice de codage, une ligne de la matrice de décodage systématique issue de la décomposition de ladite une ligne comporte des éléments à "1" ayant des rangs identiques aux rangs des éléments à "1" dans ladite une ligne et en nombre sous-multiple (Tm) du nombre d'élément à "1" (JCm) dans ladite une ligne, les éléments à "1" dans des lignes de la matrice de décodage systématique issues de la décomposition de ladite une ligne ayant des rangs différents, et un nombre de colonne supplémentaire correspondant à une variable de parité cachée (etm,m) de valeur neutre pour le décodage du signal précède une colonne de la matrice de décodage de parité correspondant à une variable de parité (pm) ayant le même rang dans la matrice de codage de parité que celui de la ligne décomposée de la matrice de codage, le nombre de colonne supplémentaire augmenté de un étant égal audit nombre sous-multiple. 10 - Programme d'ordinateur téléchargeable depuis un réseau de communication et/ou stocké sur un support lisible par ordinateur et/ou exécutable par un processeur, caractérisé en ce qu'il comprend des instructions pour la mise en oeuvre du procédé de codage d'un signal incluant des variables de données conforme à la revendication 6. 11 - Programme d'ordinateur téléchargeable depuis un réseau de communication et/ou stocké sur un support lisible par ordinateur et/ou exécutable par un processeur, caractérisé en ce qu'il comprend des instructions pour la mise en oeuvre du procédé de décodage d'un signal de données codées conforme à la revendication 7. 12 - Support d'enregistrement lisible par un dispositif encodeur, caractérisé en ce que sur ledit support d'enregistrement est enregistré un programme d'ordinateur comportant des instructions qui, lorsque le programme est chargé et exécuté dans ledit dispositif encodeur, réalisent le procédé de codage d'un signal incluant des variables de données conforme à la revendication 6. 13 - Support d'enregistrement lisible par un dispositif décodeur, caractérisé en ce que sur ledit support d'enregistrement est enregistré un programme d'ordinateur comportant des instructions qui, lorsque le programme est chargé et exécuté dans ledit dispositif décodeur, réalisent le procédé de décodage d'un signal de données codées conforme à la revendication 7.