Brevet FR2905209A1 — publié le 20080229

Procédé et dispositif de décodage de blocs encodés avec un code LDPC L'invention concerne le décodage des codes à base de blocs comme par exemple les codes à base de blocs dont la matrice de parité présente une faible densité, c'est-à-dire, comporte un faible nombre de 1. De tels codes sont plus connus de l'homme du métier sous la dénomination codes LDPC ( Low Density Parity Check ). L'invention s'applique avantageusement mais non limitativement aux codes LDPC utilisés dans la norme DVB-S2, en particulier pour les transmissions par satellite. Le code LDPC est un code à base de blocs. L'encodeur traite des blocs de K bits et délivre des blocs de N bits. Ainsi, N-K bits de redondance sont ajoutés. Ces N-K bits sont appelés bits de parité . Le taux de codage ( Code rate , en langue anglaise) est défini par le rapport K/N. Plus le taux de codage est bas, plus le nombre de bits de redondance est élevé et ainsi plus grande est la protection contre le bruit du canal de transmission. Ces N-K bits sont calculés à l'aide d'une matrice de parité H. Le code LDPC est donc également un code basé sur une matrice. Cette matrice a N-K lignes et N colonnes et est composée de 1 et de 0 avec un nombre de 1 faible par rapport au nombre de 0 . C'est la raison pour laquelle ce type de codes basés sur une telle matrice sont dénommés codes LDPC , c'est-à-dire des codes à faible densité. Le bloc encodé BLC, de N bits, est calculé en résolvant l'équation HBLCT = 0, où H désigne la matrice de parité, et T la fonction transposée . Du côté du décodeur, la correction des bits erronés est effectuée à partir des relations entre les informations codées du bloc. Ces relations sont données par la matrice de parité H. Le décodeur utilise des métriques internes correspondant aux 1 de la matrice H. La matrice H correspond au graphe de Tanner du code LDPC 2905209 2 comportant des noeuds dits de contrôle ( check nodes ) et des noeuds d'information ( bit nodes ) reliés entre eux par le chemin des graphes représentatifs des messages échangés itérativement entre les noeuds ainsi reliés. Ces métriques sont mises à jour par lignes (mise à 5 jour des noeuds (le contrôle) en prenant en compte les métriques internes d'une même ligne. Ensuite, le décodeur met à jour ces métriques par colonnes (mise à jour des noeuds d'information) en prenant en compte les métriques internes sur une même colonne ainsi que l'information correspondante en entrée du décodeur et provenant 10 du canal de transmission. Une itération correspond à la mise à jour des noeuds de contrôle pour toutes les métriques internes suivie de la mise à jour des noeuds d'information pour toutes les métriques internes. Le décodage d'un bloc nécessite plusieurs itérations. Les valeurs des bits décodés, également appelées décisions 15 dures ( Hard decisions , en langue anglaise) sont obtenues en additionnant les métriques internes par colonnes avec les informations reçues et en prenant le signe du résultat. En d'autres termes, le signe du résultat fournit la valeur 0 ou 1 du bit tandis que la valeur absolue du résultat donne une indication de confiance (probabilité) 20 pour cette valeur logique 0 ou 1 . Les codes du type LDPC sont intéressants car ils permettent d'obtenir un taux d'erreurs de bits (BER : Bit Error Rate , en langue anglaise) très bas, en raison du caractère itératif de l'algorithme de décodage. Plusieurs algorithmes itératifs de décodage 25 existent pour décoder des codes LDPC. On pourra notamment citer l'algorithme classique dit à propagation de croyance et bien connu de l'homme du métier sous la dénomination anglosaxonne Belief Propagation (BP). La durée de décodage d'un bloc est directement liée au nombre 30 d'itérations requis. Ainsi, pour atteindre un débit donné, un nombre d'itérations maximum est défini pour chaque taux de codage et chaque bloc sera décodé avec le même nombre d'itérations. Par exemple, le nombre maximum d'itérations peut être fixé à 50. Cela étant, si le 2905209 3 décodage n'a pas convergé au bout de ces 50 itérations, alors, il en résulte une diminution des performances de décodage. Une solution pourrait consister à augmenter le nombre d'itérations maximum autorisées par bloc, et de le fixer par exemple à 5 60. Mais dans ce cas, le débit serait divisé par 6/5 parce que la durée de décodage d'un bloc serait plus élevée. L'invention vise à apporter une solution à ce problème. Un but de l'invention est d'éviter de fixer a priori un nombre trop élevé d'itérations pour obtenir de bonnes performances. 10 Selon un aspect de l'invention, il est proposé un procédé de décodage d'une succession de blocs encodés avec un code LDPC, dans lequel on stocke temporairement et successivement lesdits blocs dans des moyens de mémoire d'entrée avant de les décoder successivement de façon itérative. 15 Selon une caractéristique générale de cet aspect de l'invention, les moyens de mémoire d'entrée ont une taille-mémoire permettant le stockage de plus de deux blocs. On définit par ailleurs une indication courante représentative d'un nombre maximum autorisé d'itérations pour le décodage d'un bloc courant. On initialise ladite indication 20 courante à un nombre d'itérations de référence augmenté d'un nombre supplémentaire d'itérations dépendant de la taille-mémoire supplémentaire des moyens de mémoire d'entrée permettant le surplus de stockage au-delà de deux blocs. On décode le bloc courant jusqu'à la satisfaction d'un critère de décodage ou tant que le nombre 25 d'itérations n'a pas atteint ladite indication courante, tandis qu'on stocke le premier bloc suivant et éventuellement une partie du deuxième bloc suivant dans les moyens de mémoire d'entrée, puis on met à jour ladite indication courante pour le décodage du premier bloc suivant en fonction du nombre d'itérations effectuées pour le décodage 30 dudit bloc courant. En d'autres termes, on augmente la taille mémoire de la mémoire d'entrée de façon à bénéficier d'un réservoir d'itérations supplémentaire pour le cas où le décodage d'un bloc n'aurait pas convergé au bout du nombre d'itérations de référence. Bien entendu, 2905209 4 ce réservoir d'itérations supplémentaire est lié au surplus de taille-mémoire utilisé et il est mis à jour à la fin du décodage d'un bloc définissant ainsi pour le bloc suivant le nombre supplémentaire d'itérations éventuellement encore autorisées. 5 Ainsi, ce nombre supplémentaire d'itérations est variable pour chaque bloc. Il peut être nul, égal ou inférieur à sa valeur maximale, en fonction du surplus d'itérations effectivement utilisées pour le décodage des blocs précédents. Selon un mode de mise en oeuvre de l'invention, dans lequel 10 chaque bloc comporte N informations, les moyens de mémoire d'entrée comportent - d'une part p+q mémoires élémentaires capables chacune de stocker N/p informations, p étant supérieur ou égal à deux et q supérieur ou égal à un, 15 ledit nombre supplémentaire d'itérations dépendant dudit nombre d'itérations de référence, de p et de q, et d'autre part une mémoire de transfert capable de stocker temporairement un bloc, et dans laquelle on 20 transfère le bloc courant préalablement stocké dans p mémoires élémentaires aux fins de son décodage. Selon l'architecture utilisée, la durée de transfert du bloc courant des p mémoires élémentaires vers la mémoire de transfert peut correspondre à la durée de r itérations de décodage, par exemple deux 25 itérations de décodage. Dans ce cas, le nombre supplémentaire d'itérations est égal au produit dudit nombre de référence par q/p diminué du nombre r. Dans une application particulière de l'invention, les blocs encodés sont conformes à la norme DVB-S2. 30 Selon un autre aspect de l'invention, il est proposé un décodeur, possédant une entrée pour recevoir une succession de blocs encodés avec un code LDPC, des moyens de mémoire d'entrée aptes à stocker successivement et temporairement lesdits blocs, des moyens de 2905209 5 décodage aptes à décoder successivement lesdits blocs de façon itérative. Selon une caractéristique générale de cet autre aspect de l'invention, les moyens de mémoire d'entrée ont une taille-mémoire 5 permettant le stockage de plus de deux blocs, le décodeur comporte un moyen de stockage contenant une indication courante représentative d'un nombre maximum autorisé d'itérations pour le décodage d'un bloc courant, ladite indication représentant initialement un 10 nombre maximum autorisé d'itérations égal à un nombre d'itérations de référence augmenté d'un nombre supplémentaire d'itérations dépendant de la taille-mémoire supplémentaire des moyens de mémoire d'entrée permettant le surplus de stockage 15 au-delà de deux blocs, des moyens de contrôle aptes • à activer les moyens de décodage pour ledit bloc courant jusqu'à la satisfaction d'un critère de décodage ou tant que le nombre d'itérations n'a pas atteint ladite indication courante, 20 • à autoriser le stockage du premier bloc suivant et éventuellement d'une partie du deuxième bloc suivant dans les moyens de mémoire d'entrée, et • à mettre à jour ladite valeur maximale pour le décodage du premier bloc suivant en fonction du nombre d'itérations dudit 25 bloc courant. Selon un mode de réalisation de l'invention, dans lequel chaque bloc comporte N informations, les moyens de mémoire d'entrée comportent d'une part p+q mémoires élémentaires capables chacune de stocker N/p informations, p étant supérieur ou égal à deux et q 30 supérieur ou égal à un, ledit nombre supplémentaire d'itérations dépendant dudit nombre d'itérations de référence, de p et de q et d'autre part une mémoire de transfert capable de stocker temporairement un bloc, et les moyens de contrôle sont aptes à 2905209 6 transférer le bloc courant préalablement stocké dans p mémoires élémentaires dans la mémoire de transfert aux fins de son décodage. Selon un mode de réalisation de l'invention, la durée de transfert du bloc courant des p mémoires élémentaires vers la mémoire 5 de transfert correspond à la durée de r itérations de décodage, et ledit nombre supplémentaire d'itérations est égal au produit dudit nombre de référence par q/p diminué du nombre r. Selon un mode préférentiel de l'invention, dans lequel chaque information est codée sur n bits, les moyens de décodage comportent F 10 processeurs en parallèle, le décodeur comporte en outre - un bus de liaison reliant la sortie de la mémoire de transfert aux F processeurs et ayant une taille de F.n bits, des moyens de multiplexage connectés entre les 15 mémoires élémentaires et la mémoire de transfert, p+q bus d'entrée reliant respectivement les sorties des p+q mémoires élémentaires aux p+q entrées des moyens de multiplexage, un bus de sortie reliant la sortie des moyens de 20 multiplexage à l'entrée de la mémoire de transfert, - les bus d'entrée et de sortie ayant chacun une taille égale à un sous-multiple de la taille du bus de liaison. Un tel mode de réalisation préférentiel permet de réduire les problèmes de routage, en particulier lorsque les blocs comportent un 25 grand nombre d'informations, par exemple 64 800 dans la norme DVB- S2. Selon un autre aspect de l'invention, il est également proposé un récepteur de signal conforme à la norme DVB-S2, incorporant un décodeur tel que défini ci-avant. 30 D'autres avantages et caractéristiques de l'invention apparaîtront à l'examen de la description détaillée de modes de réalisation et de mise en oeuvre, nullement limitatifs, et des dessins annexés sur lesquels : 2905209 7 - la figure 1 illustre schématiquement la structure interne d'un appareil sans fil incorporant un décodeur selon l'invention, - la figure 2 illustre plus en détail, mais toujours schématiquement un mode de réalisation d'un décodeur LDPC selon l'invention, la figure 3 illustre schématiquement un exemple de réalisation d'une mémoire d'entrée d'un décodeur LDPC selon l'art antérieur, la figure 4 illustre plus en détail un exemple d'architecture de moyens de mémoire d'entrée d'un décodeur selon l'invention, la figure 5 est un organigramme représentatif d'un mode de mise en oeuvre d'un procédé de décodage selon l'invention utilisant des itérations supplémentaires éventuelles, les figures 6 à 8 représentent de façon simplifiée des chronogrammes relatifs à différents exemples d'utilisations éventuelles d'itérations supplémentaires, et, les figures 9 et 10 sont des courbes montrant des avantages de l'invention. On va maintenant décrire plus en détail des modes de réalisation et de mise en oeuvre dans le cas d'une application DVB-S2 25 pour laquelle la longueur des blocs encodés est de 64 800 bits, bien que l'invention soit valable pour toutes tailles de blocs. Sur la figure 1, la référence WAP désigne un appareil sans fil utilisable dans un système de communication conforme à la norme DVB-S2. 30 L'appareil sans fil WAP comporte une chaîne de transmission TXCH capable de transmettre sur un canal de transmission CH, par exemple l'air, des informations codées et modulées. 5 10 15 20 2905209 8 Par ailleurs, cet appareil WAP comporte également une chaîne de réception RXCH capable de recevoir et de décoder des informations en provenance du canal de transmission CH. La chaîne de transmission TXCH comporte de façon classique 5 et connue en soi des moyens de codage de source SCM recevant des données d'application APP pour notamment les comprimer de façon à réduire le débit de données. La chaîne de transmission comporte également des moyens de codage de canal dont la fonction est notamment d'ajouter de la 10 redondance pour pouvoir par la suite corriger les erreurs potentielles en réception dues au bruit du canal de transmission. Ces moyens de codage de canal comportent par exemple des moyens de codage LDPC. La chaîne de transmission comporte également des moyens de modulation MDM de façon à adapter le signal au canal de transmission 15 (canal satellite ou canal radio, par exemple). La chaîne de réception RXCH comporte des moyens homologues effectuant les fonctions inverses. Plus précisément, on trouve des moyens de démodulation DMDM, suivis de moyens de décodage de canal CHDCM comportant par exemple un décodeur 20 LDPC, suivis de moyens de décodage de source SDCM délivrant à l'utilisateur les données d'utilisateur DUT correspondant aux données d'application APP. Si l'on se réfère maintenant plus particulièrement à la figure 2, on voit qu'un exemple de décodeur LDPC, référencé DEC, comporte 25 essentiellement et schématiquement des moyens de mémoire d'entrée MMCH, des moyens de décodage MDCD, des moyens de mémoire de sortie MMHD ainsi que des moyens de contrôle MCTL. Les moyens de mémoire d'entrée MMCH reçoivent une succession de blocs BLC; encodés avec un code LDPC. Chaque bloc 30 comporte N informations codées, N étant égal à 64 800 dans la norme DVB-S2. Ces informations sont en fait des rapports de probabilités et sont généralement connues par l'homme du métier sous leur dénomination anglosaxonne de LLR ( Log Likelihood Ratio ). Ces 2905209 9 informations sont codées sur n bits. Le signe de chaque information est représentatif de sa valeur logique tandis que sa valeur absolue est représentative de la confiance que la valeur logique de cette information soit la bonne. 5 On reviendra plus en détail ci-après sur l'architecture interne de ces moyens de mémoire d'entrée MMCH. Chaque bloc reçu BLC; est décodé dans les moyens de décodage MDCD comportant dans cet exemple F processeurs fonctionnant en parallèle, F étant égal à 360 dans une application de 10 norme DVB-S2. La batterie de F processeurs effectue la mise à jour des noeuds de contrôle et des noeuds d'information. Une mémoire de métriques MMT contient les métriques internes (en un nombre égal au nombre de 1 dans la matrice de parité). 15 Un dispositif de mélange classique et connu en soi, (qui est un dispositif de décalage dans le cas d'un codage LDPC appliqué à la norme DVB-S2) permet de placer les bonnes données en face des bons processeurs. Lors du décodage itératif, les informations de canal, initialisées 20 par les informations du bloc à décoder, sont mises à jour à l'aide des métriques mises à jour. Enfin, à l'issue du décodage, les processeurs délivrent dans la mémoire MMHD, les N décisions dures correspondant aux N valeurs logiques décodées du bloc BLC;. Ces N décisions dures sont en fait les 25 signes des informations de canal mises à jour à la dernière itération. Dans une solution de l'art antérieur illustrée sur la figure 3, les moyens de mémoire d'entrée comportent deux mémoires-tampons BFA, BFB (buffers) capables chacune de stocker un bloc. Bien entendu, l'architecture des moyens de décodage ainsi que les caractéristiques 30 des moyens de mémoire sont choisies de sorte que la durée de décodage d'un bloc entier soit inférieure à la durée pour recevoir et stocker un bloc entier. En pratique, ces deux durées sont relativement proches. C'est la raison pour laquelle une analyse de contrainte de temps nécessite l'utilisation de deux mémoires-tampons dans 2905209 10 lesquelles les blocs sont alternativement stockés. Une mémoire-tampon est utilisée pour le décodage d'un bloc tandis que le bloc suivant est stocké dans l'autre mémoire-tampon et inversement. Alors que les moyens de mémoire d'entrée de l'art antérieur ne 5 permettent le stockage que deux blocs, les moyens de mémoire d'entrée selon un mode de réalisation de l'invention, permettent le stockage de plus de deux blocs, ce qui va permettre, comme on va l'expliquer plus en détail ci-après, d'obtenir un réservoir d'itérations supplémentaires pour le décodage des blocs. 10 Et, le nombre supplémentaire d'itérations autorisées dépend de la taille-mémoire supplémentaire des moyens de mémoire d'entrée permettant le surplus de stockage au-delà de deux blocs. Dans le mode de réalisation illustré sur la figure 4, les moyens de mémoire d'entrée comportent d'une part, p+q mémoires 15 élémentaires BF; capables chacune de stocker N/p informations (LLRs). p est choisi supérieur ou égal à 2 et q supérieur ou égal à 1 et inférieur à p. Cela étant q pourrait être aussi choisi supérieur ou égal à p de façon à obtenir un réservoir plus important d'itérations supplémentaires. 20 Dans le cas présent, p est égal à 2 et q est égal à 1. On a donc trois mémoires élémentaires BF1-BF3 capables chacune de stocker N/2 informations, c'est-à-dire la moitié d'un bloc d'entrée. Les moyens de mémoire d'entrée comportent d'autre part une mémoire de transfert MTR capable de stocker temporairement un bloc, c'est-à-dire qu'elle a 25 une capacité de stockage de N informations. Une telle architecture permet d'obtenir un nombre supplémentaire maximum d'itérations autorisées, désigné EXTRA, égal à (q.NREF/p)-r, où NREF désigne un nombre d'itérations de référence qui est fixé et correspond au nombre d'itérations maximum nécessaires 30 a priori pour un décodage correct de la majorité des blocs. Par exemple, NREF peut être pris égal à 50. On verra plus en détail que dans l'exemple décrit ici, que la durée de transfert entre les mémoires élémentaires 13F; et la mémoire de transfert MMT correspond à la durée d'exécution de deux itérations 2905209 11 des moyens de codage. Cela étant, selon l'architecture utilisée, et selon les applications, ce nombre r peut être plus important ou bien négligeable. Avant de revenir plus en détail sur la taille des bus reliant les 5 mémoires BF; à la mémoire de transfert MMT via le multiplexeur MUX, on va décrire, en se référant plus particulièrement à la figure 5, le mécanisme de gestion des itérations supplémentaires éventuellement utilisées pour le décodage d'un bloc. Un moyen de stockage, par exemple un registre, RG (figure 2) 10 contient une indication courante NMAX représentative du nombre maximum autorisé d'itérations pour le décodage d'un bloc courant BLC;. Cette valeur NMAX est initialisée à la valeur (NREF+EXTRA), EXTRA étant égal dans le cas présent, à la valeur 23. En conséquence, la valeur NMAX est initialisée à la valeur 73 15 (50+23). Les moyens de contrôle MCTL (figure 2) comportent un compteur d'itération CNT qui, au début du décodage de chaque bloc courant BLC; est initialisé à la valeur 0 . On effectue alors le décodage itératif du bloc BLCi en 20 incrémentant à chaque itération la valeur du compteur CNT (étape 51). A l'issue de chaque itération, on vérifie si le décodage a convergé (étape 52). On utilise ici un critère classique de vérification de la convergence du décodage, par exemple : 25 - après chaque itération on multiplie le vecteur des décisions dures par la matrice de parité et on vérifie que l'on obtient un vecteur nul. Dans ce cas on est sûr d'avoir obtenu un mot du code, ou bien, on vérifie la stabilité des sorties du décodeur d'une 30 itération sur l'autre. On peut alors décider qu'on a a priori convergé. 2905209 12 Ainsi, le décodage du bloc courant BLCi se poursuit jusqu'à la satisfaction du critère de décodage ou tant que le nombre d'itérations n'a pas atteint ladite indication courante NMAX (étape 54). Si le nombre d'itérations a atteint ladite indication courante 5 NMAX, alors, cette indication NMAX est mise à jour avec la valeur NREF (étape 55). En d'autres termes, ceci signifie que si le décodage du bloc courant a utilisé le nombre maximum d'itérations supplémentaires autorisées, alors le nombre d'itérations maximum autorisées pour le 10 décodage du bloc suivant sera à nouveau NREF. Si par contre le décodage du bloc courant BLCi a convergé avant que le nombre d'itérations défini par le compteur CNT ait atteint la valeur NMAX, cette valeur courante NMAX est mise à jour dans l'étape 53 comme étant la plus petite des deux valeurs suivantes : 15 NMAX û CNT + NREF - NREF + EXTRA En effet, dans l'absolu, le nombre d'itérations maximum pour un bloc ne peut excéder NREF + EXTRA. Pendant que le bloc courant BLCi est décodé à partir du 20 contenu de la mémoire de transfert MMT, le premier bloc suivant BLC;+1 est stocké dans les deux mémoires élémentaires disponibles et éventuellement une partie du deuxième bloc suivant BLCi+2 est aussi stockée dans l'une des mémoires élémentaires libres si, par exemple, le bloc courant BLCi en cours de décodage nécessite l'utilisation 25 d'itérations supplémentaires. Les moyens de contrôle MCTL peuvent être réalisés de façon logicielle au sein d'un microcontrôleur ou bien par un circuit logique réalisé par des outils de synthèse logique à partir de l'organigramme de fonctionnement. 30 Bien entendu, l'homme du métier saura adapter l'architecture des moyens de décodage ainsi que les caractéristiques des temps d'accès en lecture et en écriture des moyens de mémoire d'entrée de façon que la durée pour stocker un bloc soit supérieure ou égale à la durée requise pour décoder ce bloc augmentée de la durée de transfert 2905209 13 des informations dans la mémoire de transfert. En pratique, ces durées sont sensiblement égales. La figure 6 donne un premier exemple d'utilisation des mémoires élémentaires et de visualisation de la durée de transfert. 5 Dans cet exemple, on suppose qu'aucune itération supplémentaire n'est nécessaire. A l'instant tl, les mémoires élémentaires BF1 et BF2 sont utilisées pour stocker le premier bloc. Entre les instants tl et t2, la mémoire élémentaire BF3 est utilisée pour stocker le second bloc. A l'instant t2, les mémoires élémentaires BF1 et BF2 sont libres parce 10 que le transfert du bloc BLC1 vers la mémoire de transfert MT est terminé. Ainsi, à tout instant, il y a au moins quasiment une mémoire élémentaire de libre, ce qui correspond à la moitié de la durée de décodage d'un bloc diminuée de deux itérations (correspondant à la durée de transfert). 15 Lorsque le décodeur a convergé avec un nombre d'itérations plus faible que le nombre NREF, (ce qui est fréquemment le cas pour des rapports signal sur bruit habituels), les itérations supplémentaires utilisées précédemment peuvent être de nouveau disponibles pour être réutilisées éventuellement pour les blocs suivants si nécessaire. 20 Ainsi, selon l'invention, au moins NREF itérations peuvent être exécutées pour chaque bloc. Les figures 7 et 8 illustrent des exemples de gestion d'itérations supplémentaires. A l'instant tl, NREF itérations ont été utilisées pour décoder le 25 premier bloc, mais le décodage de ce premier bloc n'est pas terminé. Pendant le décodage de ce premier bloc, le bloc n 2 est stocké dans les mémoires élémentaires BF3 et BF1. Entre les instants tl et t2, quelques itérations supplémentaires ont été utilisées pour terminer le décodage du bloc 1 tandis que le début du bloc 3 a été stocké dans une 30 partie de la mémoire élémentaire BF2. Entre les instants t2 et t3, le transfert du bloc n 2 depuis les mémoires élémentaires BF3 et BF1 s'effectue vers la mémoire de transfert MMT puis le décodage du bloc 2 s'effectue avec là encore 2905209 14 quelques itérations supplémentaires, jusqu'à l'instant t4. Le transfert du bloc n 3 vers la mémoire de transfert MMT s'effectue alors. Sur le chronogramme de la figure 8, on voit que le premier bloc a consommé un certain nombre d'itérations supplémentaires. 5 Cependant, le deuxième bloc est décodé avec un nombre d'itérations inférieur au nombre NREF (instant t5 marquant la fin du décodage du bloc 2). En conséquence, le crédit d'itérations supplémentaires utilisées pour le décodage du bloc 1 a pu être au moins en partie reconstitué. Et, tant que le bloc 3 n'a pas été totalement stocké dans 10 les mémoires élémentaires BF2 et BF3 en vue de son transfert dans la mémoire de transfert, le décodeur est en repos. Puis, après le transfert du bloc 3 dans la mémoire de transfert, le décodage du bloc 3 s'effectue avec ici quelques itérations supplémentaires. 15 On revient maintenant à la figure 4 pour détailler la taille des bus utilisés. Comme illustré sur la figure 4, le décodeur comporte un bus de liaison BSL reliant la sortie de la mémoire de transfert MTR au F processeurs, et à une taille (largeur de bits) de F x n bits (les 20 informations LLRI) des blocs sont codées sur n bits). Par ailleurs, p + q bus d'entrée BSE relient respectivement les sorties des p + q mémoires élémentaires aux p+ q entrées des moyens de multiplexage MUX contrôlés par les moyens de contrôle MCTL. Enfin, un bus de sortie BSS relie la sortie des moyens de 25 multiplexage MUX à l'entrée de la mémoire de transfert. De façon à limiter les problèmes de routage, en particulier pour un parallélisme de calcul important, la taille des bus d'entrée et de sortie est égale à un sous-multiple de la taille du bus de liaison. En l'espèce, la taille de ces bus d'entrée BSE et de sortie BSS est égale à F.n divisé par un 30 facteur dec égal par exemple à 6. Dans ce cas, les moyens de multiplexage n'ont à multiplexer que trois groupes de F.n/6 bits. La durée requise pour le transfert des données depuis les mémoires élémentaires vers la mémoire de transfert est égale à N.n/ (F.n/dec) soit N.dec/F cycles d'horloge. 2905209 15 Dans le cas d'une application DVB-S2 (N=64 800), cette durée est égale à 64 800.6/F. Ceci 'correspond avec une architecture classique de F = 360 processeurs, à une durée de deux itérations de décodage dans le pire des cas. 5 La figure 9 illustre l'évolution du taux d'erreurs-bits ( Bit Error Rate ) BER, en fonction du rapport signal sur bruit pour des matrices de parité du type DVB-S2 avec des longueurs de blocs (N) égales à 64 800 bits, une modulation QPSK et un taux de codage de '/z. L'algorithme de décodage utilisé est l'algorithme classique BP. Le 10 nombre standard d'itérations est fixé à50 et le nombre EXTRA d'itérations supplémentaires est fixé à 23. La courbe Cl montre l'évolution du taux BER pour un décodage selon l'art antérieur tandis que la courbe C2 montre l'évolution du taux BER pour un décodage selon l'invention. 15 La courbe Cl de la figure 10 illustre cette fois-ci, avec les mêmes conditions, le taux d'erreurs-blocs FER pour un décodage selon l'art antérieur tandis que la courbe C2 de la figure 10 concerne l'évolution du taux FER pour un décodage selon l'invention. On obtient donc dans les deux cas une réduction du taux BER 20 et du taux FER. Le gain est d'environ 0,03 dB pour un rapport C/N (signal/bruit) suffisant. L'invention qui vient d'être décrite est compatible avec tout type de décodage LDPC itératif, comme par exemple l'algorithme BP, ou bien un algorithme de décodage itératif par couches, comme par 25 exemple celui connu par l'homme du métier sous la dénomination. anglosaxonne layered BP , ou encore un décodage itératif par couches tel que celui décrit dans la demande de brevet français déposée au nom de la Demanderesse le même jour que la présente demande et ayant pour titre Procédé et dispositif de décodage par 30 couches d'une succession de blocs encodés avec un code LDPC . REVENDICATIONS 1. Procédé de décodage d'une succession de blocs encodés avec un code LDPC, dans lequel on stocke temporairement et successivement lesdits blocs dans des moyens de mémoire d'entrée avant de les décoder successivement de façon itérative, caractérisé par le fait que les moyens de mémoire d'entrée (MMCH) ont une taille mémoire permettant le stockage de plus de deux blocs, par le fait qu'on définit une indication courante (NMAX) représentative d'un nombre maximum autorisé d'itérations pour le décodage d'un bloc courant, on initialise ladite indication courante (NMAX) à un nombre d'itérations de référence (NREF) augmenté d'un nombre supplémentaire d'itérations (EXTRA) dépendant de la taille-mémoire supplémentaire des moyens de mémoire d'entrée permettant le surplus de stockage au-delà de deux blocs, on décode le bloc courant (BLCi) jusqu'à la satisfaction d'un critère de décodage ou tant que le nombre d'itérations (CNT) n'a pas atteint ladite indication courante (NMAX) tandis qu'on stocke le premier bloc suivant (BLCi+i) et éventuellement une partie du deuxième bloc suivant (BLCi+z) dans les moyens de mémoire d'entrée, puis on met à jour ladite indication courante pour le décodage du premier bloc suivant en fonction du nombre d'itérations effectuées pour le décodage dudit bloc courant. 2. Procédé selon la revendication 1, dans lequel chaque bloc comporte N informations, les moyens de mémoire d'entrée comportent d'une part p+q mémoires élémentaires (BF1-BF3) capables chacune de stocker N/p informations, p étant supérieur ou égal à deux et q supérieur ou égal à un, ledit nombre supplémentaire d'itérations dépendant dudit nombre d'itérations de référence, de p et de q et d'autre part une mémoire de transfert (MTR) capable de stocker temporairement un bloc, et dans laquelle on transfère le bloc courant préalablement stocké dans p mémoires élémentaires aux fins de son décodage. 3. Procédé selon la revendication 2, dans lequel la durée de transfert du bloc courant des p mémoires élémentaires vers la mémoire 2905209 17 de transfert (MTR) correspond à la durée de r itérations de décodage, et ledit nombre supplémentaire d'itérations est égal au produit dudit nombre de référence par q/p diminué du nombre r. 4. Procédé selon l'une des revendications précédentes, dans 5 lequel les blocs encodés sont conformes à la norme DVB-S2. 5. Décodeur, possédant une entrée pour recevoir une succession de blocs encodés avec un code LDPC, des moyens de mémoire d'entrée aptes à stocker successivement et temporairement lesdits blocs, des moyens de décodage aptes à décoder successivement lesdits blocs de 10 façon itérative, caractérisé par le fait que les moyens de mémoire d'entrée (MMCH) ont une taille-mémoire permettant le stockage de plus de deux blocs, par le fait que le décodeur comporte un moyen de stockage (RG) contenant une indication courante (NMAX) représentative d'un nombre maximum autorisé d'itérations pour le 15 décodage d'un bloc courant, ladite indication représentant initialement un nombre maximum autorisé d'itérations égal à un nombre d'itérations de référence augmenté d'un nombre supplémentaire d'itérations dépendant de la taille-mémoire supplémentaire des moyens de mémoire d'entrée permettant le surplus de stockage au-delà de deux 20 blocs, des moyens de contrôle (MCTL) aptes à activer les moyens de décodage (MDCD) pour ledit bloc courant jusqu'à la satisfaction d'un critère de décodage ou tant que le nombre d'itérations n'a pas atteint ladite indication courante, à autoriser le stockage du premier bloc suivant et éventuellement d'une partie du deuxième bloc suivant dans 25 les moyens de mémoire d'entrée, et à mettre à jour ladite valeur maximale pour le décodage du premier bloc suivant en fonction du nombre d'itérations dudit bloc courant. 6. Décodeur selon la revendication 5, dans lequel chaque bloc comporte N informations, les moyens de mémoire d'entrée comportent 30 d'une part p+q mémoires élémentaires (BF1-BF3) capables chacune de stocker N/p informations, p étant supérieur ou égal à deux et q supérieur ou égal à un, ledit nombre supplémentaire d'itérations dépendant dudit nombre d'itérations de référence, de p et de q et d'autre part une mémoire de transfert (MTR) capable de stocker 2905209 18 temporairement un bloc, et les moyens de contrôle (MCTL) sont aptes à transférer le bloc courant préalablement stocké dans p mémoires élémentaires dans la mémoire de transfert aux fins de son décodage. 7. Décodeur selon la revendication 6, dans lequel la durée de 5 transfert du bloc courant des p mémoires élémentaires vers la mémoire de transfert correspond à la durée de r itérations de décodage, et ledit nombre supplémentaire d'itérations est égal au produit dudit nombre de référence par q/p diminué du nombre r. 8. Décodeur selon la revendication 6 ou 7, dans lequel chaque 10 information est codée sur n bits, les moyens de décodage comportent F processeurs en parallèle, le décodeur comportant en outre un bus de liaison (BSL) reliant la sortie de la mémoire de transfert aux F processeurs et ayant une taille de F.n bits, des moyens de multiplexage (MUX) connectés entre les mémoires élémentaires et la mémoire de 15 transfert, p+q bus d'entrée (BSE) reliant respectivement les sorties des p+q mémoires élémentaires aux p+q entrées des moyens de multiplexage, un bus de sortie (BSS) reliant la sortie des moyens de multiplexage à l'entrée de la mémoire de transfert, les bus d'entrée et de sortie ayant chacun une taille égale à un sous-multiple de la taille 20 du bus de liaison. 9. Décodeur selon l'une des revendications 5 à 8, dans lequel les blocs encodés sont conformes à la norme DVB-S2. 10. Récepteur de signal conforme à la norme DVB-S2 incorporant un décodeur selon la revendication 9. 25