Brevet FR2924288A1 — publié le 20090529

Procédé et dispositif de décodage itératif par effacement, produit programme d'ordinateur et moyen de stockage correspondants. 1. DOMAINE DE L'INVENTION Le domaine de l'invention est celui des systèmes de correction d'erreur. Plus précisément, l'invention concerne une technique de décodage itératif par effacement permettant de décoder un mot de code à l'aide d'un code correcteur systématique par effacement et en présence de copies multiples de ce mot de code. L'invention peut s'appliquer dans tous les cas où on dispose d'au moins deux copies du mot de code à décoder. Elle s'applique notamment, mais non exclusivement, à la correction de mots de code (données) reçus par un noeud récepteur dans un système de communication à transmissions multiples comprenant une pluralité de noeuds émetteurs, chaque mot de code comprenant une pluralité de symboles. Les systèmes de correction d'erreur sont très utilisés dans les systèmes de communication afin d'annihiler les défauts inhérents au canal de transmission et tout particulièrement dans le cas des réseaux sans fils où les perturbations peuvent être très pénalisantes. Elle s'applique aussi dans le cas où la pluralité de copies du mot de code à décoder sont obtenues par multiple lecture d'un même mot de code, par un dispositif de lecture. Par ailleurs, la présente invention peut être mise en oeuvre avec tout type de code correcteur par effacement. Elle peut donc notamment, mais non exclusivement, être mise en oeuvre avec le code de Reed Solomon. En effet, c'est un des codes correcteur les plus utilisés. Il peut être défini comme un code (n,k) où n est le nombre total de symboles du mot de code et k est le nombre de symboles de donnée. Ce code correcteur possède une capacité de correction de (n-k)/2 erreurs ou de (n-k) effacements (un effacement étant une erreur dont la position est connue). Plus généralement, pour tout code dont la distance minimale d peut être déterminée, la capacité de correction de ce code correcteur est : (2 x nombre d'erreurs) + nombre d'effacements L'avantage d'utiliser le code de Reed-Solomon est que sa distance minimale est maximum et se calcule facilement (c'est-à-dire égale à n-k+l), ce qui n'est pas le cas de tous les autres codes. 2. ARRIÈRE-PLAN TECHNOLOGIQUE On présente maintenant deux techniques connues de décodage, dans le cas particulier de l'utilisation du code de Reed-Solomon. Une première technique connue, présentée dans le brevet US 5,606,569, propose une méthode itérative permettant de décoder un mot de code reçu dans un décodeur Reed Solomon. Une liste de mots de code estimés à partir du mot de code reçu est générée en balayant les différentes positions possibles pour les effacements. Un code de redondance cyclique (ou CRC, pour � Cyclic Redundancy Check � en anglais) est utilisé comme détecteur d'erreur sur le mot de code estimé. Lorsqu'un mot de code estimé est sans erreur, il est utilisé comme sortie du décodeur, sinon un autre mot de code estimé de la liste est testé. Les mots de code de la liste sont testés de façon itérative jusqu'à l'obtention d'un mot de code sans erreur. Cette méthode se limite à la capacité de correction (aussi appelée capacité de décodage) du décodeur Reed Solomon. De plus, elle utilise de la redondance supplémentaire (CRC) pour vérifier le résultat du décodeur, ce qui est très pénalisant pour des applications hauts débits. Une seconde technique connue, applicable dans le cas d'un système à multiple copie d'un même mot de code (par exemple multiple lecture ou multiple réception), est présentée dans le brevet US 6,389,573. Celle-ci propose une méthode permettant de marquer les positions d'effacement en effectuant une comparaison symbole à symbole des différentes copies d'un même mot de code. Les positions d'effacement étant marquées aux endroits où les symboles sont différents d'une copie à l'autre. La capacité de décodage de cette technique est limitée à la capacité de correction du code utilisé pour le décodage malgré l'apport de redondance apporté par plusieurs lectures successives d'un même mot de code. Ces différentes méthodes de correction malgré l'adjonction de redondance supplémentaire (CRC, multi-copies) en plus de celle du codage Reed Solomon ne permettent pas de corriger des erreurs au-delà de la capacité de correction du code utilisé pour le décodage (code Reed Solomon par exemple). 3. OBJECTIFS DE L'INVENTION L'invention, dans au moins un mode de réalisation, a notamment pour objectif de pallier ces différents inconvénients de l'état de la technique. Plus précisément, dans au moins un mode de réalisation de l'invention, un objectif est de fournir une technique de décodage itératif par effacement permettant d'augmenter la capacité de correction d'un code correcteur en présence de copies multiples d'un mot de code reçu. Plus particulièrement, un objectif est de dépasser la capacité de correction théorique du code correcteur utilisé. Au moins un mode de réalisation de l'invention a également pour objectif de fournir une telle technique ne nécessitant pas de redondance supplémentaire (comme CRC) pour la vérification de la réussite du décodage après une nouvelle itération, et n'augmentant donc pas la consommation de bande passante du système. Un autre objectif d'au moins un mode de réalisation de l'invention est de fournir une telle technique permettant de diminuer le nombre d'itérations de l'algorithme mettant en oeuvre le décodage itératif, et donc de diminuer le temps de calcul de ce décodage. Un objectif complémentaire d'au moins un mode de réalisation de l'invention est de fournir une telle technique qui soit simple à mettre en oeuvre et peu coûteuse. 4. EXPOSÉ DE L'INVENTION Dans un mode de réalisation particulier de l'invention, il est proposé un procédé de décodage d'un mot de code dont on dispose d'au moins deux copies, ledit mot de code comprenant une pluralité de symboles, ledit procédé comprenant une étape de construction d'un premier mot de code résultant en associant à chaque position : le symbole occupant ladite position dans lesdites au moins deux copies, si les symboles occupant ladite position dans au moins deux copies sont identiques, un effacement, si les symboles occupant ladite position dans toutes les copies sont différents. Selon l'invention, le procédé de décodage comprend les étapes suivantes : a) si le nombre d'effacements associés au premier mot de code résultant est supérieur à la capacité de correction d'un code prédéterminé permettant un décodage par effacement, alors construction d'un second mot de code résultant associé à un nombre d'effacements inférieur ou égal à ladite capacité de correction, en marquant comme non effacé au moins un symbole occupant une position associée à un des effacements et en choisissant pour chaque symbole marqué comme non effacé une valeur parmi les valeurs des symboles occupant la même position dans l'une des copies ; b) décodage du second mot de code résultant, permettant d'obtenir un mot de code décodé ; c) aux positions restant associées à des effacements, comparaison des symboles du mot de code décodé avec les symboles des copies et si au moins deux symboles comparés sont identiques alors le mot de code décodé est utilisé comme sortie, sinon on réitère l'étape a) en variant les positions et/ou les valeurs des symboles marqués comme non effacés, ainsi que les étapes b) et c). Comme dans le brevet US 6,389,573, on effectue donc un marquage des positions d'effacement. Mais, alors que le brevet 6,389,573 ne propose aucune solution si le nombre d'effacements est supérieur à la capacité de correction du code, la présente invention permet de dépasser (en acceptant un risque d'erreur non nul mais très faible) la capacité de correction théorique du code correcteur utilisé en proposant une approche tout à fait nouvelle et inventive consistant à : -remplacer certaines positions marquées comme effacées par des symboles reçus à ces mêmes positions (dans une des copies), de façon à diminuer le nombre d'effacements ; et - détecter quels symboles reçus sont éventuellement corrects (dans une des copies) bien que marqués comme effacés. Le procédé est itératif, une nouvelle série de symboles reçus (dans une des copies) étant testée à chaque itération, jusqu'à ce que la bonne série ait été trouvée ou jusqu'à ce que toutes les séries possibles aient été testées. Il est à noter que le risque d'erreur du décodage effectué n'est pas nul (ce qui est normal puisqu'on se place dans un contexte où le nombre d'effacements dépasse la capacité de correction théorique du code correcteur utilisé) mais est très faible car la probabilité qu'un symbole du mot de code décodé soit égal à un symbole reçu incorrect (dans une des copies) est elle-même très faible. De façon avantageuse, à chaque itération de l'étape a), le choix, pour chaque symbole marqué comme non effacé, d'une valeur parmi les valeurs des symboles occupant la même position dans l'une des copies, est effectué en tenant compte de mesures de fiabilité associées aux copies et/ou aux symboles compris dans les copies. Le fait de tenir compte de telles mesures de fiabilité permet, pour une position d'effacement finalement marquée comme non effacée, d'optimiser le choix du symbole (c'est-à-dire de choisir le symbole le plus probable parmi ceux reçus dans les copies) pour cette position. Ainsi, on optimise les chances de commencer les tests par la bonne série de symboles reçus. En d'autres termes, on diminue le nombre d'itérations des étapes a), b) et c) et le temps de calcul est également diminué. Avantageusement, l'étape c) comprend les étapes suivantes : cl) choix d'une desdites positions restant associées à des effacements et, pour la position choisie, choix d'une valeur parmi les valeurs des symboles occupant ladite position choisie dans l'une des copies ; c2) comparaison du symbole du mot de code décodé occupant ladite position choisie avec ladite valeur de symbole choisie ; c3) si les symboles comparés sont identiques, alors le mot de code décodé est utilisé comme sortie, sinon : * si tous les choix de positions et de valeurs n'ont pas encore été testés, on réitère les étapes cl), c2) et c3) en variant la position et/ou la valeur choisie(s) ; * sinon on réitère les étapes a), b) et c) en variant les positions et/ou les valeurs des symboles marqués comme non effacés. Ainsi, il suffit que pour une des positions restant associées à un effacement, le symbole du mot de code décodé soit égal à un symbole reçu (dans une des copies) pour qu'on considère que le mot de code décodé est correct. Selon une caractéristique avantageuse, à chaque itération de l'étape cl), le choix d'une valeur, parmi les valeurs des symboles occupant ladite position choisie dans l'une des copies, est effectué en tenant compte de mesures de fiabilité associées aux copies et/ou aux symboles compris dans les copies. Le fait de tenir compte de telles mesures de fiabilité permet, pour une position donnée restant associée à un effacement, d'optimiser le choix du symbole (c'est-à-dire de choisir le symbole le plus probable parmi ceux reçus dans les copies) à comparer avec le symbole du mot de code décodé. Ainsi, on diminue le nombre d'itérations des étapes cl), c2) et c3) et le temps de calcul est également diminué. Avantageusement, le procédé de décodage d'un mot de code comprend une étape d'obtention d'au moins deux copies : - par multiple lecture dudit mot de code, par un dispositif de lecture ; et/ou - par multiple réception dudit mot de code, par un noeud récepteur dans un système de communication à transmissions multiples comprenant une pluralité de noeuds émetteurs. Dans un autre mode de réalisation, l'invention concerne un produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, ledit produit programme d'ordinateur comprenant des instructions de code de programme pour l'exécution des étapes du procédé de décodage tel que précédemment décrit, lorsque ledit programme est exécuté sur un ordinateur. Dans un autre mode de réalisation, l'invention concerne un moyen de stockage, éventuellement totalement ou partiellement amovible, lisible par un ordinateur, stockant un jeu d'instructions exécutables par ledit ordinateur pour mettre en oeuvre le procédé de décodage tel que précédemment écrit. Dans un autre mode de réalisation, l'invention concerne un dispositif de décodage d'un mot de code dont on dispose d'au moins deux copies, ledit mot de code comprenant une pluralité de symboles, ledit dispositif comprenant des premiers moyens de construction d'un premier mot de code résultant en associant à chaque position : - si les symboles occupant ladite position dans au moins deux copies sont identiques, le symbole occupant ladite position dans lesdites au moins deux copies ; - si les symboles occupant ladite position dans toutes les copies sont différents, un effacement; Selon l'invention, le dispositif de décodage comprend : - des premiers moyens de comparaison du nombre d'effacements associés au premier mot de code résultant avec la capacité de correction d'un code prédéterminé permettant un décodage par effacement ; - des seconds moyens de construction d'un second mot de code résultant associé à un nombre d'effacements inférieur ou égal à ladite capacité de correction, lesdits seconds moyens de construction étant activés par lesdits premiers moyens de comparaison si le nombre d'effacements associés au premier mot de code résultant est supérieur à la capacité de correction du code prédéterminé, lesdits seconds moyens de construction marquant comme non effacé au moins un symbole occupant une position associée à un des effacements et choisissant, pour chaque symbole marqué comme non effacé, une valeur parmi les valeurs des symboles occupant la même position dans l'une des copies ; - des moyens de décodage du second mot de code résultant permettant d'obtenir un mot de code décodé ; - des deuxièmes moyens de comparaison, aux positions restant associées à des effacements, des symboles du mot de code décodé avec les symboles des copies : * si au moins deux symboles comparés sont identiques alors le mot de code décodé est utilisé comme sortie ; * sinon lesdits premiers moyens de comparaison sont activés de nouveau en variant les positions et/ou les valeurs des symboles marqués comme non effacés, ainsi que lesdits moyens de décodage et deuxièmes moyens de comparaison. De façon avantageuse, le choix, dans les deuxièmes moyens de construction, pour chaque symbole marqué comme non effacé, d'une valeur parmi les valeurs des symboles occupant la même position dans l'une des copies, est effectué en tenant compte de mesures de fiabilité associées aux copies et/ou aux symboles compris dans les copies. Selon un mode préférentiel de l'invention, les deuxièmes moyens de comparaison comprennent : - des moyens de sélection d'une desdites positions restant associées à des effacements et, pour la position sélectionnée, d'une valeur parmi les valeurs des symboles occupant ladite position sélectionnée dans l'une des copies ; - des troisièmes moyens de comparaison du symbole du mot de code décodé occupant ladite position sélectionnée avec ladite valeur de symbole sélectionnée : * si les symboles comparés sont identiques, alors le mot de code décodé est utilisé comme sortie ; * sinon : - si tous les choix de positions et de valeurs n'ont pas encore été testés, lesdits moyens de sélection et troisièmes moyens de comparaison sont activés de nouveau en variant la position et/ou la valeur choisie(s) ; - sinon lesdits premiers moyens de comparaison, moyens de décodage et deuxièmes moyens de comparaison sont activés de nouveau en variant les positions et/ou les valeurs des symboles marqués comme non effacés. Avantageusement, dans les moyens de sélection, la sélection d'une valeur, parmi les valeurs des symboles occupant ladite position sélectionnée dans l'une des copies, est effectuée en tenant compte de mesures de fiabilité associées aux copies et/ou aux symboles compris dans les copies. Selon une caractéristique avantageuse, le dispositif de décodage comprend des moyens d'obtention desdites au moins deux copies : - par multiple lecture dudit mot de code, par un dispositif de lecture ; et/ou - par multiple réception dudit mot de code, par un noeud récepteur dans un système de communication à transmissions multiples comprenant une pluralité de noeuds 25 émetteurs. 5. LISTE DES FIGURES D'autres caractéristiques et avantages de modes de réalisation de l'invention apparaîtront à la lecture de la description suivante, donnée à titre d'exemple indicatif et non limitatif (tous les modes de réalisation de l'invention ne sont pas limités aux 30 caractéristiques et avantages des modes de réalisation décrits ci-après), et des dessins annexés, dans lesquels : 15 20 - la figure 1 présente un exemple de système de communication à transmissions multiples dans lequel peut être mise en oeuvre l'invention, dans un mode de réalisation particulier ; - la figure 2 représente la structure d'un mot de code typique d'un code Reed Solomon systématique ; - la figure 3 présente un schéma bloc d'un mode de réalisation particulier du dispositif de décodage selon l'invention ; - la figure 4 présente un organigramme d'un mode de réalisation particulier du procédé de décodage selon l'invention ; et - chacune des figures 5A et 5B représente une itération du procédé de décodage itératif selon un mode de réalisation particulier de l'invention (la figure 5A illustrant un cas de décodage incorrect et la figure 5B un cas de décodage correct). 6. DESCRIPTION DÉTAILLÉE 15 Sur toutes les figures du présent document, les éléments et étapes identiques sont désignés par une même référence numérique. A titre d'exemple illustratif, on considère dans la suite de la description le cas d'un code de Reed-Solomon systématique, c'est-à-dire pour lequel les données sont inchangées (non brassées) et la redondance est ajoutée à la fin du mot de code. Il est 20 clair cependant que la présente invention peut être appliquée à tout code correcteur systématique permettant un décodage par effacement. La figure 1 présente un exemple de système de communication à transmissions multiples dans lequel peut être mise en oeuvre l'invention. Il s'agit d'un système de communication sans fil maillé (� Mesh � en anglais) composé de plusieurs noeuds. Le 25 système est plus particulièrement composé d'un noeud source NS, d'un noeud récepteur NR et de plusieurs noeuds relais R1 à R4. Chaque noeud relais peut également être noeud récepteur. Le dispositif de décodage de l'invention peut être implanté dans tous les noeuds récepteurs du système de communication. 30 Chaque noeud possède un bloc d'émission/réception lui permettant d'émettre des données et de recevoir les données émises par les autres noeuds du réseau. Le noeud 10 source NS émet des données sous forme de paquets radio. Chaque donnée provenant du noeud source est répétée par chaque noeud relais Rl à R4 afin que le noeud récepteur NR possède plusieurs copies d'une même donnée. Les données émises par le noeud source sont préalablement encodées par un code Reed Solomon systématique (114, 96) c'est-à- dire que les données sont inchangées et que la redondance est ajoutée à la fin du mot de code. La figure 2 représente la structure d'un mot de code typique d'un code Reed Solomon systématique. Le mot de code 20 comprend n symboles au total, répartis en k symboles de donnée et n-k symboles de redondance (symboles de parité). Chaque paquet radio émis par le noeud source NS se décompose par exemple en 29 blocs de données radio (ou RDB pour � Radio Data Block � en anglais) qui correspondent aux mots de code et qui sont eux même composés de 114 symboles de 8 bits (c'est-à-dire n=114). On présente maintenant, en relation avec la figure 3, un mode de réalisation particulier du dispositif de décodage selon l'invention. Le dispositif de décodage 310 coopère, au sein du noeud récepteur NR dans lequel il est mis en oeuvre, avec une application 330 et un bloc d'émission/réception 340 (aussi appelé émetteur/récepteur Radio Fréquence). Le dispositif de décodage 310 comprend : - un processeur (CPU) 313, permettant d'exécuter, en relation avec les autres moyens (316, 311, 317) compris dans le dispositif, le procédé de décodage selon l'invention (voir la description de la figure 4 ci-après). Par exemple, le processeur exécute un programme d'ordinateur pour mettre en oeuvre le procédé de décodage de l'invention. Ce programme d'ordinateur est stocké dans une mémoire ROM (non représentée). A l'initialisation, les instructions de code du programme d'ordinateur sont chargées dans une mémoire RAM (non représentée) avant d'être exécutées par le processeur ; une mémoire de données 316, permettant de stocker les différentes copies des données reçues (mots de code reçus), qui proviennent du noeud source NS et des différents noeuds relais R1 à R4. Ces données reçues par l'émetteur/récepteur Radio Fréquence 340 transitent par le récepteur de paquets radio 315 ; - un décodeur Reed Solomon 311 permettant de corriger des données erronées dans la limite de sa capacité de correction à l'aide de la redondance introduite par le codeur ; - un module de production de mot de code 317. Ce module est segmenté en trois sous-modules 318, 319 et 320 (décrits ci-après). A l'aide des différentes copies reçus pour un mot de code donné, il génère des mots de code résultants envoyés au décodeur Reed Solomon 312. Le premier sous-module 318 est un comparateur symbole à symbole qui permet de créer un mot de code résultant à partir des symboles identiques dans les différentes copies (au moins deux) et de marquer les positions des effacements où les symboles sont différents lors de la comparaison. Ce sous-module permet également de vérifier le résultat fournit par le décodeur 311 en comparant les symboles décodés aux positions des effacements avec les différents symboles reçus (dans les copies) à ces mêmes positions. Le deuxième sous-module 320 est un compteur d'effacements qui compare le nombre d'effacements du mot de code résultant (fourni par le premier sous-module 318) avec la capacité de correction du décodeur Reed Solomon. Le troisième sous-module 319 remplace des effacements par des symboles reçus dans le cas où le nombre d'effacements est supérieur à la capacité de correction du décodeur et ceci afin d'avoir un nombre d'effacements égal à la capacité de correction du décodeur Reed Solomon. On notera que sur la figure 3, on a illustré le cas d'un dispositif de codage/décodage (et non pas de décodage uniquement) pouvant ainsi être compris aussi dans un noeud source ou un noeud relais. A cet effet, il comprend en outre : -un codeur Reed Solomon 312 qui intervient lors de la première transmission des données par le noeud source. Avant d'être transmises, les données provenant de l'application (330) doivent être codées afin de permettre la correction des erreurs inhérentes à la transmission sur le medium ; et -un émetteur de paquets radio 314. On présente maintenant, en relation avec la figure 4, un mode de réalisation particulier du procédé de décodage selon l'invention. On suppose qu'une étape de début 410 est lancée lorsque toutes les copies d'un même mot de code (correspondant dans l'exemple précité à un bloc de données radio RDB) ont été reçues. Dans une étape 411, on effectue une comparaison symbole à symbole des différentes copies reçues et on construit un premier mot de code résultant. Les symboles reçus peuvent être corrects ou erronés. Deux cas se présentent lors de la comparaison symbole à symbole : - les symboles des deux copies sont identiques (c'est-à-dire possèdent une même valeur), et par conséquent très probablement corrects (la probabilité d'avoir deux symboles erronés ayant la même valeur étant quasiment nulle). La valeur est alors recopiée dans le premier mot de code résultant qui sera passé (directement ou indirectement) au décodeur Reed Solomon, - les symboles des deux copies sont différents. Le symbole est alors marqué comme effacé dans un vecteur d'effacement qui sera également fourni au décodeur. On dit aussi que cette position du mot de code est associée à un effacement. Une fois les comparaisons terminées, on est alors en possession d'un premier mot de code résultant composé d'une part de symboles marqués comme corrects durant le processus de comparaison et d'autre part d'effacements générés durant le processus de comparaison. En d'autres termes, on obtient un premier mot de code résultant dont chaque position est associée : au symbole si les symboles occupant cette position dans au moins deux copies sont identiques, ou un effacement, si les symboles occupant cette position dans toutes les copies sont différents. Également dans l'étape 411, on effectue un comptage du nombre d'effacements contenus dans le premier mot de code résultant. Puis, dans une étape 412, le nombre d'effacements contenus dans le premier mot de code résultant est comparé à la capacité de correction du décodeur code Reed Solomon (c'est-à-dire du code Reed Solomon). Si le nombre d'effacements est inférieur ou égal à la capacité de correction du décodeur Reed Solomon, le décodage peut être fait directement. On passe donc à l'étape 417 dans laquelle le premier mot de code résultant et le vecteur d'effacement associé sont traités par le décodeur Reed Solomon qui génère un mot de code décodé, puis à l'étape 418 dans laquelle le mot de code décodé est utilisé comme sortie. Si le nombre d'effacements est supérieur à la capacité de correction du décodeur, le décodage ne peut être fait directement. Dans ce second cas, bien que le nombre d'effacements soit supérieur à la capacité limite du décodeur, des symboles reçus et marqués comme effacés peuvent être corrects dans une des copies. On effectue donc le décodage indirectement. Pour cela, on passe d'abord à l'étape 413 dans laquelle on diminue le nombre d'effacements afin d'atteindre la capacité limite du décodeur et avoir une chance de décoder le mot de code. Pour effectuer cette diminution, des premières positions initialement marquées comme effacées sont finalement marquées comme non effacées en étant remplacées par des symboles reçus à ces mêmes positions. On obtient ainsi un second mot de code résultant. Dans un mode de réalisation particulier, à chaque itération de l'étape 413, le choix, pour chaque symbole finalement marqué comme non effacé (alors qu'il était initialement marqué comme effacé), d'une valeur parmi les valeurs des symboles occupant la même position dans l'une des copies, est effectué en tenant compte de mesures de fiabilité associées aux copies et/ou aux symboles compris dans les copies. L'ordre de choix des symboles est par exemple l'ordre décroissant des fiabilités associées aux copies contenant les symboles, ou encore l'ordre décroissant des fiabilités associées aux symboles eux-mêmes. Par mesures de fiabilité, on entend par exemple des mesures de type RSSI (� Received Signal Strength Intensity � ou � intensité de puissance du signal reçu �), ou de type BER (� Binary Error Rate � ou � taux d'erreur binaire �). Puis, on passe à l'étape 414 dans laquelle le second mot de code résultant est traité par le décodeur Reed Solomon qui génère un mot de code décodé. Pour que le décodage soit correct, il faut que tous les symboles reçus remplaçant les effacements soit corrects. Pour vérifier que le résultat du décodage est correct, on passe à l'étape 415 dans laquelle une nouvelle comparaison symbole à symbole est effectuée mais uniquement aux positions des effacements restants. Les symboles décodés aux positions des effacements restants sont comparés aux symboles reçus à ces mêmes positions. On passe à l'étape 416, dans laquelle on détecte si au moins un symbole décodé est identique à un symbole reçu, pour une des positions des effacements restants. En cas de détection positive à l'étape 416, le décodage est considéré comme correct et on passe à l'étape 418 dans laquelle le mot de code décodé est utilisé comme sortie. En effet, la probabilité qu'un symbole décodé soit égal à un symbole reçu incorrect est très faible. Donc lorsqu'un symbole décodé est égal à un symbole reçu, on peut dire que le décodage est correct. Par contre, en cas de détection négative à l'étape 416, c'est-à-dire si aucun symbole décodé aux positions des effacements ne correspond à un symbole reçu à ces mêmes positions, le décodage est incorrect. Cela signifie également que les symboles choisis pour remplacer les premiers effacements sont erronés. Si toutes les séries de symboles reçus n'ont pas encore été testées (réponse négative à l'étape de test 419), on 15 retourne à l'étape 413, dans laquelle les premières positions marquées comme effacées sont remplacées par une deuxième série de symboles reçus. Les itérations se terminent lorsque le décodage est correct ou lorsque toutes les séries de symboles reçus sont testées (dans ce dernier cas, c'est-à-dire en cas de réponse positive à l'étape de test 419, on passe à l'étape 420 dans laquelle le décodage est considéré comme ayant échoué). 20 Dans un mode de réalisation particulier (non illustré sur la figure 4), l'étape 416 comprend elle-même les étapes suivantes : cl) choix d'une des positions des effacements restants et, pour la position choisie, choix d'une valeur parmi les valeurs des symboles occupant la position choisie dans l'une des copies ; 25 c2) comparaison du symbole décodé (c'est-à-dire du mot de code décodé) occupant la position choisie avec la valeur de symbole choisie ; c3) si les symboles comparés sont identiques, alors on sort de l'étape 416 en considérant que l'on est dans le cas de détection positive et on passe à l'étape 418, sinon : 10 * si tous les choix de positions et de valeurs n'ont pas encore été testés, on réitère les étapes cl), c2) et c3) en variant la position et/ou la valeur choisie(s) ; * sinon, on sort de l'étape 416 en considérant que l'on est dans le cas de détection négative et on passe à l'étape 419. Dans un mode de réalisation particulier, à chaque itération de l'étape cl), le choix d'une valeur, parmi les valeurs des symboles occupant la position choisie dans l'une des copies, est effectué en tenant compte de mesures de fiabilité associées aux copies et/ou aux symboles compris dans les copies. Comme précédemment, l'ordre de choix des symboles est par exemple l'ordre décroissant des fiabilités associées aux copies contenant les symboles, ou encore l'ordre décroissant des fiabilités associées aux symboles eux-mêmes. Par mesures de fiabilité, on entend par exemple des mesures de type RSSI ou BER. Chacune des figures 5A et 5B représente une itération du procédé de décodage itératif selon un mode de réalisation particulier de l'invention (la figure 5A illustrant un cas de décodage incorrect et la figure 5B un cas de décodage correct). Dans cet exemple, on considère que le noeud récepteur a reçu deux copies 510, 511 pour un mot de code (RDB) donné. Ces deux copies sont composées de symboles reçus corrects (cases hachurées, référencées 520) et d'autres reçus erronés (cases noircies, référencées 521). Après comparaison symbole à symbole des deux copies, le premier mot de code résultant 512 possède un nombre d'effacements de 18 (cases blanches, référencées 522). La capacité limite du décodeur Reed Solomon étant de 16 effacements dans cet exemple, deux effacements doivent être remplacés pour atteindre cette limite. Lors de la première itération (illustrée par la figure 5A), le premier effacement est remplacé par le symbole correspondant de la première copie 510 (qui est correct), comme symbolisé par la flèche référencée 530, et le deuxième effacement est remplacé par le symbole correspondant de la première copie 510 (qui est erroné), comme symbolisé par la flèche référencée 531. Le second mot de code résultant ainsi obtenu est référencé 513. Après le passage de ce second mot de code résultant 513 dans le décodeur Reed Solomon, on obtient un mot de code décodé 514 dont aucun des symboles calculés aux positions des effacements restants ne correspond à des symboles reçus à ces mêmes positions. Le décodage est donc considéré comme incorrect. Lors de la deuxième itération (non représentée), le premier effacement est remplacé par le symbole correspondant de la première copie 510 (qui est correct) et le deuxième effacement est remplacé par le symbole correspondant de la deuxième copie 511 (qui est erroné). Comme pour la première itération, un des symboles remplaçant les effacements étant erroné, après le décodage aucun symbole décodé ne correspond à un symbole reçu aux positions des effacements restants. Le décodage est donc considéré comme incorrect. Lors de la troisième itération (non représentée), le premier effacement est remplacé par le symbole correspondant de la deuxième copie 511 (qui est erroné) et le deuxième effacement est remplacé par le symbole correspondant de la première copie 510 (qui est erroné également). Les deux symboles remplaçant les effacements étant erronés, après le décodage aucun symbole décodé ne correspond à un symbole reçu aux positions des effacements restants comme lors des deux premières itérations. Le décodage est donc considéré comme incorrect. Lors de la quatrième itération (non représentée), le premier effacement est remplacé par le symbole correspondant de la deuxième copie 511 (qui est erroné) et le deuxième effacement est remplacé par le symbole correspondant de la deuxième copie 511 (qui est erroné). Comme pour les précédentes itérations, au moins un des symboles remplaçant les effacements est erroné, donc après le décodage aucun symbole décodé ne correspond à un symbole reçu aux positions des effacements restants. Le décodage est donc considéré comme incorrect. Lors de la cinquième itération (illustrée par la figure 5B), le premier effacement est remplacé par le symbole correspondant de la première copie 510 (qui est correct), comme symbolisé par la flèche référencée 530, et le troisième effacement est remplacé par le symbole correspondant de la première copie reçu 510 (qui est également correct), comme symbolisé par la flèche référencée 532. Le second mot de code résultant 515 est envoyé dans le décodeur Reed Solomon. Après décodage, le mot de code décodé 516 possède au moins un symbole décodé, à une position d'effacement restant, qui est égal à un symbole reçu à cette même position (comme symbolisé par la flèche référencée 533, pour une position prise à titre d'exemple). Le décodage est donc considéré comme correct. Le résultat fourni par le décodeur Reed Solomon est alors utilisé comme sortie. On notera que l'invention ne se limite pas à une mise en oeuvre purement logicielle (sous la forme d'une séquence d'instructions d'un programme informatique) mais qu'elle peut aussi être mise en oeuvre sous une forme purement matérielle ou sous une forme mixant une partie matérielle et une partie logicielle. Dans le cas où l'invention est mise en oeuvre partiellement ou totalement sous forme logicielle, la séquence d'instructions correspondante pourra être stockée dans un moyen de stockage amovible (tel que par exemple une disquette, un CD-ROM ou un DVD-ROM) ou non, ce moyen de stockage étant lisible partiellement ou totalement par un ordinateur ou un microprocesseur. Le mode de réalisation particulier du procédé de décodage décrit ci-dessus est destiné au décodage d'un mot de code dont on dispose de plusieurs copies par réceptions multiples dans un système de communication à transmissions multiples. Il est clair toutefois qu'il peut aisément être adapté à de nombreuses autres applications, sans sortir du cadre de l'invention. On peut notamment prévoir que la pluralité de copies soient obtenues par multiples lectures d'un mot de code, dans un dispositif de lecture. REVENDICATIONS 1. Procédé de décodage d'un mot de code (20) dont on dispose d'au moins deux copies, ledit mot de code comprenant une pluralité de symboles, ledit procédé comprenant une étape de construction (411) d'un premier mot de code résultant en associant à chaque position : - si les symboles occupant ladite position dans au moins deux copies sont identiques, le symbole occupant ladite position dans lesdites au moins deux copies ; - si les symboles occupant ladite position dans toutes les copies sont différents, un effacement ; caractérisé en ce qu'il comprend les étapes suivantes : a) si le nombre d'effacements associés au premier mot de code résultant est supérieur à la capacité de correction d'un code prédéterminé permettant un décodage par effacement, alors construction (413) d'un second mot de code résultant associé à un nombre d'effacements inférieur ou égal à ladite capacité de correction, en marquant comme non effacé au moins un symbole occupant une position associée à un des effacements et en choisissant pour chaque symbole marqué comme non effacé une valeur parmi les valeurs des symboles occupant la même position dans l'une des copies ; b) décodage (414) du second mot de code résultant, permettant d'obtenir un mot de code décodé ; c) aux positions restant associées à des effacements, comparaison (415) des symboles du mot de code décodé avec les symboles des copies et si au moins deux symboles comparés sont identiques alors le mot de code décodé est utilisé comme sortie (418), sinon on réitère l'étape a) en variant les positions et/ou les valeurs des symboles marqués comme non effacés, ainsi que les étapes b) et c). 2. Procédé selon la revendication 1, caractérisé en ce que, à chaque itération de l'étape a), le choix, pour chaque symbole marqué comme non effacé, d'une valeur parmi les valeurs des symboles occupant la même position dans l'une des copies, est effectué en tenant compte de mesures de fiabilité associées aux copies et/ou aux symboles 30 compris dans les copies. 20 25 3. Procédé selon l'une quelconque des revendications 1 et 2, caractérisé en ce que ladite étape c) comprend les étapes suivantes : cl) choix d'une desdites positions restant associées à des effacements et, pour la position choisie, choix d'une valeur parmi les valeurs des symboles occupant ladite position choisie dans l'une des copies ; c2) comparaison du symbole du mot de code décodé occupant ladite position choisie avec ladite valeur de symbole choisie ; c3) si les symboles comparés sont identiques, alors le mot de code décodé est utilisé comme sortie (418), sinon : * si tous les choix de positions et de valeurs n'ont pas encore été testés, on réitère les étapes cl), c2) et c3) en variant la position et/ou la valeur choisie(s) ; * sinon on réitère les étapes a), b) et c) en variant les positions et/ou les valeurs des symboles marqués comme non effacés. 4. Procédé selon la revendication 3, caractérisé en ce que, à chaque itération de l'étape cl), le choix d'une valeur, parmi les valeurs des symboles occupant ladite position choisie dans l'une des copies, est effectué en tenant compte de mesures de fiabilité associées aux copies et/ou aux symboles compris dans les copies. 5. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce qu'il comprend une étape d'obtention desdites au moins deux copies : -par multiple lecture dudit mot de code, par un dispositif de lecture ; et/ou - par multiple réception dudit mot de code, par un noeud récepteur dans un système de communication à transmissions multiples comprenant une pluralité de noeuds émetteurs. 6. Produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, caractérisé en ce qu'il comprend des instructions de code de programme pour la mise en oeuvre du procédé selon au moins une des revendications 1 à 5, lorsque ledit programme est exécuté sur un ordinateur. 10 15 20 25 30 7. Moyen de stockage, éventuellement totalement ou partiellement amovible, lisible par un ordinateur, stockant un jeu d'instructions exécutables par ledit ordinateur pour mettre en oeuvre le procédé selon au moins une des revendications 1 à 5. 8. Dispositif de décodage d'un mot de code dont on dispose d'au moins deux copies, ledit mot de code comprenant une pluralité de symboles, ledit dispositif comprenant des premiers moyens de construction d'un premier mot de code résultant en associant à chaque position : - si les symboles occupant ladite position dans au moins deux copies sont identiques, le symbole occupant ladite position dans lesdites au moins deux copies ; - si les symboles occupant ladite position dans toutes les copies sont différents, un effacement ; caractérisé en ce qu'il comprend : - des premiers moyens de comparaison du nombre d'effacements associés au premier mot de code résultant avec la capacité de correction d'un code prédéterminé permettant un décodage par effacement ; - des seconds moyens de construction d'un second mot de code résultant associé à un nombre d'effacements inférieur ou égal à ladite capacité de correction, lesdits seconds moyens de construction étant activés par lesdits premiers moyens de comparaison si le nombre d'effacements associés au premier mot de code résultant est supérieur à la capacité de correction du code prédéterminé, lesdits seconds moyens de construction marquant comme non effacé au moins un symbole occupant une position associée à un des effacements et choisissant, pour chaque symbole marqué comme non effacé, une valeur parmi les valeurs des symboles occupant la même position dans l'une des copies ; - des moyens de décodage du second mot de code résultant permettant d'obtenir un mot de code décodé ; - des deuxièmes moyens de comparaison, aux positions restant associées à des effacements, des symboles du mot de code décodé avec les symboles des copies : * si au moins deux symboles comparés sont identiques alors le mot de code décodé est utilisé comme sortie ;* sinon lesdits premiers moyens de comparaison sont activés de nouveau en variant les positions et/ou les valeurs des symboles marqués comme non effacés, ainsi que lesdits moyens de décodage et deuxièmes moyens de comparaison. 9. Dispositif de décodage selon la revendication 8, caractérisé en ce que, dans lesdits deuxièmes moyens de construction, le choix, pour chaque symbole marqué comme non effacé, d'une valeur parmi les valeurs des symboles occupant la même position dans l'une des copies, est effectué en tenant compte de mesures de fiabilité associées aux copies et/ou aux symboles compris dans les copies. 10. Dispositif de décodage selon l'une quelconque des revendications 8 et 9, caractérisé en ce que les deuxièmes moyens de comparaison comprennent : - des moyens de sélection d'une desdites positions restant associées à des effacements et, pour la position sélectionnée, d'une valeur parmi les valeurs des symboles occupant ladite position sélectionnée dans l'une des copies ; - des troisièmes moyens de comparaison du symbole du mot de code décodé occupant ladite position sélectionnée avec ladite valeur de symbole sélectionnée : * si les symboles comparés sont identiques, alors le mot de code décodé est utilisé comme sortie ; * sinon : - si tous les choix de positions et de valeurs n'ont pas encore été testés, lesdits moyens de sélection et troisièmes moyens de comparaison sont activés de nouveau en variant la position et/ou la valeur choisie(s) ; - sinon lesdits premiers moyens de comparaison, moyens de décodage et deuxièmes moyens de comparaison sont activés de nouveau en variant les positions et/ou les valeurs des symboles marqués comme non effacés. 11. Dispositif de décodage selon la revendication 10, caractérisé en ce que, dans lesdits moyens de sélection, la sélection d'une valeur, parmi les valeurs des symboles occupant ladite position sélectionnée dans l'une des copies, est effectuée en tenant 30 compte de mesures de fiabilité associées aux copies et/ou aux symboles compris dans les copies. 20 25 5 12. Dispositif de décodage selon l'une quelconque des revendications 8 à 11, caractérisé en ce qu'il comprend des moyens d'obtention desdites au moins deux copies : - par multiple lecture dudit mot de code, par un dispositif de lecture ; et/ou - par multiple réception dudit mot de code, par un noeud récepteur dans un système de communication à transmissions multiples comprenant une pluralité de noeuds émetteurs.