Brevet FR2906428A1 — publié le 20080328

La présente invention concerne les systèmes de communication de données. La présente invention est applicable en particulier à la transmission de paquets de données dans ces systèmes de communication. Les techniques de contrôle d'erreur sont largement utilisées dans les systèmes de communication de données pour rétablir l'intégrité des données lorsque des données sont altérées par des erreurs de transmission ou sont perdues. Les schémas de demande automatique de répétition (ARQ) sont des mécanismes de contrôle d'erreur basés sur la retransmission couramment utilisés pour fiabiliser la livraison des données. Dans l'ARQ, un code de détection d'erreur, par exemple un calcul de parité, est utilisé en combinaison avec un certain protocole de retransmission. Les paquets de données altérés ou perdus sont transmis de façon répétée jusqu'à ce qu'ils soient reçus correctement par le récepteur. Des informations de retour ou de contrôle(accusés de réception), l'attribution de numéros de séquence et des temporisateurs sont utilisés pour assurer la livraison correcte des paquets de données au niveau du récepteur. Un tel schéma corrige les erreurs a posteriori. TCP ( Transport Control Protocol ) est un exemple de protocole largement utilisé mettant en œuvre un mécanisme de contrôle d'erreur avec ARQ. Dans ce protocole, le dispositif émetteur utilise des accusés de réception (ACK) qu'il reçoit pour déterminer quels paquets (segments) de données ont atteint le récepteur, et assure la fiabilité en retransmettant les paquets perdus. Le dispositif émetteur identifie la perte d'un paquet soit par l'arrivée de plusieurs accusés de réception signalant la remise d'un même paquet de données (doublons d'ACK), soit par l'absence d'accusé de réception pour le paquet avant l'expiration d'un délai d'attente. Au niveau du dispositif récepteur, les numéros de séquence sont utilisés pour ordonner correctement les paquets qui pourraient être reçus dans le désordre et pour éliminer les doublons. Les dommages sont traités en ajoutant des informations de parité par l'utilisation d'un code détecteur d'erreur à chaque paquet transmis, en contrôlant la présence d'erreurs au niveau du récepteur et en rejetant les paquets endommagés. Un inconvénient commun aux mécanismes de contrôle d'erreur basés sur la retransmission, y compris celui de TCP, est que les paquets d'accusés de réception souffrent également des déficiences du canal de communication. Le dispositif émetteur doit décider si un paquet de données déjà transmis doit être retransmis ou non sur la base des informations de contrôle disponibles, et le manque de fiabilité de ces informations peut provoquer la retransmission inutile de paquets de 2906428 - 2 données et la création de doublons au niveau du récepteur. En plus d'un gaspillage de bande passante du canal, la duplication de paquets de données peut dégrader davantage les conditions de transmission dans le système de communication, par exemple en aggravant les congestions. 5 Il existe diverses situations dans lesquelles même un protocole ARQ bien conçu mène à la réception d'exemplaires multiples d'un paquet de données au niveau du récepteur. Par exemple, il peut arriver qu'un paquet d'accusé de réception soit perdu. Dans ce cas, même si le paquet de données est correctement livré 10 au dispositif récepteur, le dispositif émetteur n'est pas informé de cette livraison et retransmet donc le paquet de données après l'expiration d'un délai. Si la retransmission réussit, le paquet de données est livré deux fois au récepteur. Un autre exemple concerne l'utilisation de mécanismes indépendants 15 de contrôle d'erreur au niveau de différentes couches. Considérons un protocole de transport fiable de bout en bout, comme TCP, qui est optimisé pour bien fonctionner dans les réseaux traditionnels où les pertes de paquets surviennent majoritairement en raison de la congestion. Lorsque certains liens sont sans fil ou utilisent tout autre canal sujet 20 à des pertes, ils souffrent de pertes significatives dues à des erreurs binaires. En raison du temps non négligeable nécessaire pour le rétablissement après des pertes au niveau de la couche de lien (généralement, les normes de réseau sans fil autorisent jusqu'à 16 retransmissions), des paquets d'accusé de réception ou de données 25 appartenant au protocole de bout en bout pourraient être retardés plus que d'habitude. Même si les paquets de données atteignent finalement le récepteur ou si les paquets d'accusé de réception correspondants atteignent le dispositif émetteur, il est probable que les paquets de données soient supposés perdus par le dispositif émetteur et retransmis. 30 Encore un autre exemple concerne le retard variable de transmission que différents paquets peuvent subir dans un système de communication multivoie, qui provoque la réception de paquets hors séquence. Différents paquets peuvent être transmis par différents chemins. Chaque chemin peut contenir un nombre différent de dispositifs intermédiaires 35 (concentrateurs, commutateurs, routeurs, etc.) et chaque dispositif peut fonctionner à une vitesse de traitement différente. Les paquets suivant des chemins congestionnés ou passant par des dispositifs intermédiaires dont la vitesse de traitement est faible pourraient subir de longs retards et ainsi être considérés comme perdus par les dispositifs 40 terminaux. TCP, par exemple, maintient à jour une moyenne du temps de 2906428 - 3 propagation aller-retour estimé et l'écart moyen linéaire par rapport à celle-ci. Le dispositif émetteur identifie la perte d'un paquet soit par l'arrivée de plusieurs accusés de réception redondants (ce qui peut arriver si un paquet est retardé trop longtemps), soit par l'absence 5 d'accusé de réception pour le paquet à l'expiration d'un délai d'attente égal à la somme du temps de propagation aller-retour lissé et de quatre fois son écart moyen. La présente invention a été faite pour améliorer les performances du système de communication en évitant les retransmissions inutiles. En 10 particulier, la présente invention vise à résoudre le problème de la réception d'exemplaires multiples d'un paquet côté récepteur. Selon un premier aspect de la présente invention, on met à disposition un procédé de transmission d'une pluralité de paquets de données à un récepteur dans un système de communication, comportant les 15 étapes consistant à transmettre par un émetteur un ou plusieurs paquets de données à partir d'une liste de paquets de données à transmettre, et à déterminer si un accusé de réception est reçu pour chaque paquet de données transmis. Lorsqu'il est déterminé à l'étape de détermination qu'un accusé de réception n'a pas été reçu pour au moins un paquet de 20 données, appelé paquet de données non acquitté, les étapes suivantes sont exécutées : sélection d'un ou plusieurs paquets de données supplémentaires à partir de la liste de paquets de données à transmettre ; génération d'un ou plusieurs paquets de parité en codant un bloc de données contenant une combinaison du ou des paquets de données 25 supplémentaires sélectionnés et d'au moins un paquet de données non acquitté à l'aide d'un schéma de correction d'erreurs a priori ; et transmission d'au moins un des paquets de parité générés. Un avantage de ce procédé est que si les paquets de données non acquittés ont en fait été reçus correctement par le récepteur, ils seront 30 utilisés en combinaison avec les paquets de parité pour en déduire le ou les paquets de données supplémentaires qui n'ont pas été, et ne seront jamais, transmis. Aucun paquet redondant n'est ainsi reçu par le récepteur et toutes les informations transmises sont exploitées pour générer les paquets de données supplémentaires. 35 Avantageusement, le procédé de transmission comporte en outre les étapes consistant à déterminer si un accusé de réception est reçu pour chaque paquet de données contenu dans le bloc de données, et à transmettre au moins un des paquets de données sélectionnés si au moins un paquet de données contenu dans ledit bloc de données est non acquitté. 2906428 - 4 - Des paquets de parité sont ainsi utilisés par le récepteur pour récupérer les paquets de données non acquittés, s'ils n'ont effectivement pas été reçus correctement, à l'aide des paquets de données sélectionnés transmis plus tard par l'émetteur. Encore une fois, aucun paquet 5 redondant n'est reçu par le récepteur et toutes les informations transmises sont exploitées pour récupérer les paquets de données non acquittés. Selon un mode de réalisation préféré de l'invention, le schéma de correction d'erreurs a priori utilise un code "maximum distance 10 separable" (MDS). Avec un tel code, un paquet de parité contient assez d'informations pour récupérer un paquet de données. Il est ainsi plus facile de déterminer combien de paquets de parité doivent être transmis par l'émetteur en considérant le nombre de paquets de données non acquittés afin que le récepteur dispose juste des informations 15 nécessaires et suffisantes pour récupérer tous les paquets de données. En outre, les codes MDS sont des codes d'un bon rendement. Dans un mode de mise en oeuvre particulier, le nombre de paquets de parité transmis à l'étape de transmission est au moins égal au nombre de paquets de données non acquittés utilisés pour générer lesdits paquets de 20 parité. Ainsi, le récepteur est en mesure de récupérer tous les paquets de données non acquittés s'ils n'ont effectivement pas été reçus. Selon un mode de mise en oeuvre préféré, le nombre de paquets de parité transmis à l'étape de transmission, le nombre de paquets de données non acquittés utilisés pour générer lesdits paquets de parité et 25 le nombre de paquets de données sélectionnés sont tous égaux, ce qui simplifie la gestion de la transmission des paquets de parité et de données. Selon un mode de réalisation préféré de l'invention, un paquet de parité est généré en calculant un OU exclusif sur les bits d'un paquet de 30 données sélectionné et d'un paquet de données non acquitté. Un codage très simple des paquets de données peut ainsi être obtenu. Selon un autre mode de réalisation de l'invention, les paquets de parité sont générés en appliquant un code de Reed-Solomon sur un corps de Galois de cardinal 2m, m étant le nombre d'éléments binaires des symboles 35 du code, ledit code étant utilisé pour coder chaque mot j formé par la concaténation du j-ème symbole de chaque paquet de données. Les codes de Reed-Solomon sont des codes MDS bien connus qui assurent un codage d'un bon rendement. 2906428 -5 - Selon un deuxième aspect de la présente invention, on met à disposition un procédé de réception d'une pluralité de paquets de données provenant d'un émetteur dans un système de communication, comportant les étapes consistant à : recevoir un ou plusieurs paquets de parité 5 provenant de l'émetteur, lesdits paquets de parité ayant été générés en codant, à l'aide d'un schéma de correction d'erreurs a priori, un bloc de données contenant une combinaison d'un premier ensemble de paquets de données transmis par l'émetteur et d'un deuxième ensemble de paquets de données à transmettre par ledit émetteur ; reconstruire partiellement un 10 bloc de données codé associé au(x) paquet(s) de parité reçu(s), sur la base des paquets de données reçus appartenant aux premier et deuxième ensembles de paquets de données ; déterminer si le bloc de données peut être récupéré en décodant le bloc de données codé reconstruit à l'étape de reconstruction ; et si le bloc de données peut être récupéré, envoyer 15 à l'émetteur un accusé de réception correspondant à chaque paquet de données inclus dans ledit bloc de données récupéré. L'invention concerne également des applications logicielles destinées à transmettre une pluralité de paquets de données et à les recevoir. 20 En outre, l'invention concerne un dispositif émetteur et un dispositif récepteur mettant en oeuvre respectivement l'application logicielle destinée à transmettre la pluralité de paquets de données et l'application logicielle destinée à recevoir ces paquets de données, ainsi qu'un support de mémoire destiné à mémoriser le code de ces 25 applications logicielles. La figure 1 est un exemple de système de communication où la présente invention peut être mise en oeuvre ; la figure 2 est un diagramme synoptique illustrant une configuration schématique d'un appareil de communication représentant un dispositif 30 émetteur ou un dispositif récepteur adapté pour incorporer l'invention ; la figure 3 est un organigramme illustrant un procédé de transmission de paquets de données selon la présente invention tel que devant être mis en oeuvre au niveau du dispositif émetteur ; la figure 4 présente le format d'un bloc de données codé ; 35 la figure 5 présente un exemple de schéma de codage de paquets de données ; les figures 6a, 6b et 6c présentent des exemples d'informations de contrôle qui peuvent être transportées dans l'en-tête d'un paquet ; et 2906428 6 la figure 7 est un organigramme illustrant un procédé de réception de paquets selon la présente invention tel que devant être mis en œuvre au niveau du dispositif récepteur. Dans ce qui suit, une description détaillée de modes de réalisation 5 de la présente invention va être donnée en référence aux dessins annexés. La figure 1 est un exemple de système de communication où la présente invention peut être mise en œuvre. Un dispositif émetteur (101) émet une pluralité de paquets de données vers un dispositif récepteur (102) à travers un canal de transmission (100) susceptible de perdre ou 10 d'altérer les paquets de données. Des informations de contrôle sont transmises du dispositif récepteur au dispositif émetteur afin de fournir des informations d'état sur les paquets de données reçus. La présente invention, selon son premier aspect, est mise en œuvre au niveau du dispositif émetteur pour transmettre la pluralité de paquets de données 15 et, selon son deuxième aspect, est mise en œuvre au niveau du dispositif récepteur pour recevoir la pluralité de paquets de données. La figure 2 est un diagramme synoptique illustrant une configuration schématique d'un appareil de communication représentant un dispositif émetteur ou un dispositif récepteur adapté pour incorporer l'invention. 20 Le numéro de repère 202 est une RAM qui fonctionne comme une mémoire principale, une zone de travail, etc., de l'unité centrale 201, et sa capacité de mémoire peut être étendue par une RAM optionnelle connectée à un port d'extension (non illustré). L'unité centrale 201 est capable d'exécuter des instructions à la mise sous tension de l'appareil de 25 communication à partir de la ROM de programme 203. Après la mise sous tension, l'unité centrale 201 est capable d'exécuter des instructions à partir de la mémoire principale 202, liées à une application logicielle, après que ces instructions ont été chargées à partir de la ROM de programme 203 ou du disque dur (HD) 206 par exemple. Cette application 30 logicielle, lorsqu'elle est exécutée par l'unité centrale 201, provoque la réalisation des étapes des organigrammes illustrés sur les figures 3 et/ou 7. Le numéro de repère 204 est une interface réseau qui permet la connexion de l'appareil de communication au canal de communication. Les 35 paquets de données sont écrits dans l'interface réseau pour transmission ou lus sur l'interface réseau pour réception sous le contrôle de l'application logicielle en cours d'exécution dans l'unité centrale 201. Le numéro de repère 205 représente une interface utilisateur pour afficher des informations pour, et/ou recevoir des données saisies par, 40 un utilisateur. 2906428 - 7 - Le procédé de transmission de paquets selon la présente invention, tel que devant être mis en oeuvre au niveau du dispositif émetteur, est illustré par l'organigramme de la figure 3. Ce procédé permet la transmission de paquets à partir d'une liste L de paquets à transmettre. 5 La liste L représente par exemple une mémoire tampon contenant des paquets de données. Un paquet est écrit dans le tampon s'il doit être transmis, et est retiré du tampon après avoir été transmis. Par conséquent, la mémoire tampon, et donc la liste L, est supposée être continûment actualisée par le dispositif émetteur afin de ne contenir que 10 les paquets en attente de transmission. La façon de mettre en oeuvre la liste L décrite ci-dessus n'est pas limitative et toute autre mise en oeuvre peut être utilisée, comme l'utilisation d'une mémoire tampon pour mémoriser tous les paquets et l'étiquetage de ceux en attente de transmission. 15 Le dispositif émetteur transmet les paquets de données à partir de la liste L (étape 300) au dispositif récepteur et surveille les accusés de réception reçus pour déterminer s'il existe des paquets de données non acquittés (étape 301). Il convient de noter que les conditions dans lesquelles un paquet est considéré comme non acquitté restent les mêmes 20 que celles connues de l'homme de l'art lors de la mise en oeuvre de protocoles basés sur la retransmission. Ces conditions comprennent, évidemment, l'absence d'accusés de réception à l'expiration d'un délai d'attente, mais pourraient également être toutes autres conditions dépendant du protocole comme la réception d'accusés de réception 25 multiples pour un paquet donné ou toute signalisation de contrôle spécifique provenant du dispositif récepteur. Par exemple, l'étape de détermination 301 peut comporter une étape consistant à mesurer le temps écoulé depuis la transmission d'un paquet de données, ledit paquet de données étant considéré comme non acquitté si 30 le temps écoulé est supérieur à une valeur prédéterminée. Dans une variante de réalisation, l'étape de détermination peut comporter une étape consistant à compter le nombre d'accusés de réception reçus pour les paquets de données transmis après la transmission d'un paquet donné de données, ledit paquet donné de données étant considéré comme non 35 acquitté si le nombre compté est supérieur à une valeur prédéterminée. S'il est déterminé à l'étape de détermination 301 que tous les paquets de données transmis ont été acquittés, le dispositif émetteur continue à transmettre des paquets de données à partir de la liste L, s'il reste des paquets en attente de transmission. Toutefois, s'il est 40 déterminé qu'au moins un paquet de données est non acquitté, une 2906428 - 8 - procédure de récupération est exécutée selon la présente invention suivant les étapes 302 à 307. Le rythme auquel les étapes 300 et 301 sont exécutées dépend du choix de conception du protocole de communication (taille de fenêtre, 5 etc.). Il est possible au dispositif émetteur de surveiller continûment tout accusé de réception reçu. À l'étape 302, un ou plusieurs paquets de données sont sélectionnés à partir de la liste L de paquets à transmettre. Soit k1 le nombre de ces paquets de données sélectionnés, où k1 est un entier supérieur ou égal à 10 1. À l'étape 303, un ou plusieurs paquets sont sélectionnés parmi les paquets non acquittés. Soit k2 le nombre de ces paquets non acquittés sélectionnés, où k2 est un entier supérieur ou égal à 1. L'étape 304 de génération des paquets de parité se déroule comme suit. Les k1 paquets de données à transmettre et les k2 paquets non 15 acquittés sont combinés pour former un bloc de données de longueur k = kl + k2 paquets. Le bloc de données est ensuite codé à l'aide d'un code de correction d'erreurs a priori ( Forward Error Correction ou FEC) pour former un bloc de données codé de longueur n = k + h paquets, où h est le nombre de paquets de parité générés par le code FEC. Les 20 paquets de parité, lorsqu'ils sont reçus correctement par le dispositif récepteur, peuvent être utilisés pour récupérer un ou plusieurs paquets de données manquants si la capacité de correction du code le permet. En tenant compte de la capacité de correction du code, un nombre h1 (h1_h) de paquets de parité est transmis à l'étape 305 au dispositif 25 récepteur, h1 étant tel qu'il soit juste suffisant pour récupérer les k1 paquets considérant que tous les k2 paquets non acquittés ont en fait été reçus correctement par le dispositif récepteur. Par conséquent, les paquets redondants sont évités au niveau du dispositif récepteur. Si toutefois il arrivait que tout ou partie des k2 paquets non acquittés 30 n'étaient en fait pas reçus par le dispositif récepteur, le dispositif émetteur transmettrait le nombre requis de paquets de données choisis parmi les k1 paquets à transmettre pour que le dispositif récepteur soit en mesure de récupérer la partie ou la totalité initialement non reçue des k2 paquets. 35 Le nombre de paquets de parité générés (h) et le nombre de ceux transmis (hl) sont de préférence égaux, mais ce n'est pas une obligation. Un schéma donné de correction d'erreurs a priori peut générer plus de paquets de parité que nécessaire et une partie d'entre eux peut suffire à 2906428 - 9 mettre en oeuvre les procédés de transmission et de réception selon la présente invention. Le dispositif émetteur détermine à l'étape 306 si tous les k1 et k2 paquets formant le bloc de données ont été acquittés. Le dispositif 5 émetteur doit de préférence attendre l'expiration du délai d'attente associé au dernier paquet de parité transmis, pour réduire la probabilité de rater un accusé de réception. Si tous les paquets de données (k) du bloc de données ont été acquittés, la récupération des kl paquets de données a réussi, et par 10 conséquent ces paquets sont retirés de la liste L des paquets de données à transmettre (étape 308). Par la suite, l'étape 300 de transmission des paquets de données à partir de la liste L actualisée est exécutée. Si tous les paquets de données (k) du bloc de données n'ont pas été acquittés, le dispositif émetteur transmet au moins un des kl paquets de 15 données sélectionnés à une étape 307. Davantage de détails sur le schéma de codage des blocs de données sont donnés ci-après. La figure 4 présente le format d'un bloc de données codé (400) codé à l'aide d'un code de blocs systématique. Le repère 401 indique les k = 20 k1 + k2 paquets de données (Xi) formant le bloc de données, et le repère 402 se réfère aux h paquets de parité (Pi) générés par le codage du bloc de données. Tous les paquets sont supposés avoir un nombre fixe de S symboles (xi,j) comme indiqué par le repère 403. Ceci n'est toutefois pas une obligation, car des données d'alignement peuvent être utilisées pour 25 obtenir des paquets de longueur fixe. Typiquement, un code de blocs C prend un mot d'information de K symboles et le transforme en un mot de code de N symboles, où N > K et N- K représente la quantité de redondance ajoutée par le code. Les symboles sont des éléments d'un "alphabet" de cardinal fini. Les symboles les plus 30 courants sont des éléments binaires appartenant à l'alphabet {0, 1} de cardinal 2 et les octets (8 bits) appartenant à l'alphabet 10, ..., 255} de cardinal 28 = 256. La capacité de correction d'un code est définie par sa distance minimale D et dépend du taux de code (K/N) et de la façon dont les 35 symboles de parité sont générés à partir des symboles d'information. Plus la distance minimale est grande, plus la capacité de correction du code est élevée. La capacité de correction la plus élevée est obtenue lorsque D = N - K + 1. Des codes donnant une telle distance minimale sont appelés 2906428 - 10 - codes maximum distance separable (MDS). Un code de Reed-Solomon est un exemple de code MDS. Différentes techniques peuvent être utilisées pour générer des paquets de parité à partir d'une pluralité de paquets de données à l'aide d'un code C(N, K). Une première technique consiste à coder les paquets de données au niveau symbole en choisissant les paramètres K = k*S et N = n*S du code C(N, K). Cette technique nécessite l'utilisation d'un code de grande longueur si le nombre k de paquets à coder est élevé. Par exemple, si la 10 longueur d'un paquet est 512 octets (un octet représentant un symbole), un code C(3072, 2048) serait nécessaire afin de générer deux paquets de parité à partir de quatre paquets de données (k = 4). Une deuxième technique consiste à augmenter le nombre d'éléments binaires d'un symbole pour réduire le nombre de symboles par paquet, la 15 limite supérieure étant égale à la longueur d'un paquet. Cette technique peut conduire à un alphabet extrêmement grand, ce qui rend les processus de codage et de décodage complexes (un symbole de 2 octets correspond à un alphabet de cardinal 216 = 65536). Dans un mode de réalisation préféré, une troisième technique est 20 utilisée pour le codage des paquets de données. Le principe du schéma de codage basé sur cette technique est présenté à la figure 5. Les k paquets de données (Xi) sont organisés en une matrice où chaque colonne correspond à un paquet de données (500) et où chaque ligne (501) est formée par une pluralité de symboles (xi,,), chacun d'eux étant 25 pris à une position (j) donnée à partir de chaque paquet de données. Chaque ligne de k symboles est codée avec un code C(n, k) pour générer n-k = h symboles de parité (502). Les symboles de parité sont également organisés en une matrice où chaque colonne (503) représente un paquet de parité. Cette technique permet l'utilisation de codes conventionnels pour 30 coder une pluralité de paquets de données de longueur arbitraire en appliquant le code C(N=n, K=k) S fois, où le nombre (k) de paquets de données par bloc de données est égal au nombre de symboles par mot d'information à coder. Le codeur doit informer le décodeur des paramètres de codage. Les 35 paramètres N et K du code peuvent être réglés une fois pour toutes et partagés lors d'une étape de réglage entre le codeur au niveau du dispositif émetteur et le décodeur au niveau du dispositif récepteur. Le nombre de paquets de données dans le bloc de données (k) peut également être réglé à un nombre fixe ou maintenu dynamique d'un paquet de données 2906428 - 11 - à un autre. Il convient de noter que même si un bloc de données de longueur plus courte, c'est-à-dire kO REVENDICATIONS 1. Procédé de transmission d'une pluralité de paquets de données vers un récepteur dans un système de communication, comportant les étapes consistant à : transmettre un ou plusieurs paquets de données à partir d'une liste de paquets de données à transmettre (300) ; et déterminer si un accusé de réception est reçu pour chaque paquet de données transmis (301) ; le procédé étant caractérisé en ce qu'il comporte en outre les étapes suivantes, exécutées lorsqu'il est déterminé à l'étape de détermination qu'un accusé de réception n'a pas été reçu pour au moins un paquet de données, appelé paquet de données non acquitté : sélection d'un ou plusieurs paquets de données supplémentaires à partir de la liste de paquets de données à transmettre (302) ; génération d'un ou plusieurs paquets de parité en codant un bloc de données contenant une combinaison du ou des paquets de données supplémentaires sélectionnés et d'au moins un paquet de données non acquitté à l'aide d'un schéma de correction d'erreurs (304) ; et transmission d'au moins un des paquets de parité générés (305). 2. Procédé selon la revendication 1, caractérisé en ce qu'il comporte en outre les étapes consistant à : déterminer si un accusé de réception est reçu pour chaque paquet de données contenu dans le bloc de données (306) ; et transmettre au moins un des paquets de données sélectionnés (307) si au moins un paquet de données contenu dans ledit bloc de données est non acquitté. 3. Procédé selon la revendication 1, caractérisé en ce que l'étape de détermination comporte une étape consistant à mesurer le temps écoulé depuis la transmission d'un paquet de données, ledit paquet de données étant considéré comme non acquitté si le temps écoulé est supérieur à une valeur prédéterminée. 4. Procédé selon la revendication 1, caractérisé en ce que l'étape de détermination comporte une étape consistant à compter le nombre d'accusés de réception reçus pour les paquets de données transmis après la transmission d'un paquet donné de données, ledit paquet donné de données étant considéré comme non acquitté si le nombre compté est supérieur à une valeur prédéterminée. 2906428 - 16 - 5. Procédé selon la revendication 1, caractérisé en ce que le schéma de correction d'erreurs fait appel à un code maximum distance separable. 6. Procédé selon la revendication 5, caractérisé en ce que le nombre de paquets de parité (hl) transmis à l'étape de transmission est au moins 5 égal au nombre de paquets de données non acquittés (k2) utilisés pour générer lesdits paquets de parité. 7. Procédé selon la revendication 6, caractérisé en ce que le nombre de paquets de parité (h1) transmis à l'étape de transmission, le nombre de paquets de données non acquittés (k2) utilisés pour générer lesdits 10 paquets de parité et le nombre de paquets de données sélectionnés (k1) sont tous égaux. 8. Procédé selon la revendication 7, caractérisé en ce que kl, k2 et hl sont tous égaux à l'unité, et en ce qu'un paquet de parité est généré en calculant un XOR sur les bits d'un paquet de données sélectionné et d'un 15 paquet de données non acquitté. 9. Procédé selon l'une des revendications 5 à 7, caractérisé en ce que le code maximum distance separable est un code de Reed-Solomon doté des paramètres (n=k1+k2+h, k=k1+k2) sur un corps de Galois de dimension 2m, m étant le nombre d'éléments dans un symboles du code et h un entier 20 supérieur ou égal à hl, ledit code étant utilisé pour coder chaque mot j (501) formé par la concaténation du j-ème symbole de chaque paquet de données (500). 10. Procédé de réception d'une pluralité de paquets de données provenant d'un émetteur dans un système de communication, comportant les étapes 25 consistant à : recevoir un ou plusieurs paquets de parité provenant de l'émetteur (700), lesdits paquets de parité ayant été générés en codant, à l'aide d'un schéma de correction d'erreurs , un bloc de données contenant une combinaison d'un premier ensemble de paquets de données transmis par 30 l'émetteur et d'un deuxième ensemble de paquets de données à transmettre par ledit émetteur ; reconstruire partiellement un bloc de données codé associé au(x) paquet(s) de parité reçu(s), sur la base des paquets de données reçus appartenant aux premier et deuxième ensembles de paquets de données 35 (701) ; déterminer si le bloc de données peut être récupéré en décodant le bloc de données codé reconstruit à l'étape de reconstruction (702) ; et 2906428 - 17 - si le bloc de données peut être récupéré, envoyer à l'émetteur un accusé de réception correspondant à chaque paquet de données inclus dans ledit bloc de données récupéré (705). 11. Procédé selon la revendication 10, caractérisé en ce que, si le bloc 5 de données ne peut pas être récupéré, les étapes suivantes sont exécutées . réception d'un ou plusieurs paquets supplémentaires appartenant au bloc de données codé (706) ; et reconstruction complète du bloc de données codé en ajoutant le ou 10 les paquets supplémentaires reçus au bloc de données codé (707). 12. Procédé selon la revendication 10 ou 11, caractérisé en ce qu'il comporte en outre les étapes consistant à : décoder le bloc de données codé pour récupérer le bloc de données (703) ; 15 extraire les paquets de données contenus dans le bloc de données récupéré (704). 13. Procédé selon la revendication 10, caractérisé en ce qu'un accusé de réception envoyé à l'étape d'émission pour accuser réception d'un paquet donné de données contient un marqueur indiquant si ledit paquet de 20 données a été récupéré suite au décodage du bloc de données. 14. Produit programme d'ordinateur pour la transmission d'une pluralité de paquets de données à un récepteur dans un système de communication, ledit produit programme d'ordinateur comprenant des instructions de code de programme enregistré sur un support utilisable dans un ordinateur, 25 comprenant des moyens de programmation lisibles par ordinateur pour : transmettre un ou plusieurs paquets de données à partir d'une liste de paquets de données à transmettre (300) ; et déterminer si un accusé de réception est reçu pour chaque paquet de données transmis (301) ; 30 le produit programme d'ordinateur étant caractérisé en ce qu'il comprend des moyens de programmation lisibles par ordinateur pour effectuer les étapes supplémentaires suivantes lorsqu'il est déterminé à l'étape de détermination qu'un accusé de réception n'a pas été reçu pour au moins un paquet de données, appelé paquet de données non acquitté : 35 sélection d'un ou plusieurs paquets de données supplémentaires à partir de la liste de paquets de données à transmettre (302) ; génération d'un ou plusieurs paquets de parité en codant un bloc de données contenant une combinaison du ou des paquets de données 2906428 - 18 - supplémentaires sélectionnés et d'au moins un paquet de données non acquitté à l'aide d'un schéma de correction d'erreurs (304) ; et transmission d'au moins un des paquets de parité générés (305). 15. Support de mémoire mémorisant le code de l'application logicielle 5 selon la revendication 14. 16. Produit programme d'ordinateur pour la réception d'une pluralité de paquets de données provenant d'un émetteur dans un système de communication, ledit produit programme d'ordinateur comprenant des instructions de code de programme enregistré sur un support utilisable 10 dans un ordinateur, caractérisé en ce qu'il comprend des moyens de programmation lisibles par ordinateur pour : recevoir un ou plusieurs paquets de parité provenant de l'émetteur (700), lesdits paquets de parité ayant été générés en codant, à l'aide d'un schéma de correction d'erreurs , un bloc de données contenant une 15 combinaison d'un premier ensemble de paquets de données transmis par l'émetteur et d'un deuxième ensemble de paquets de données à transmettre par ledit émetteur ; reconstruire partiellement un bloc de données codé associé au(x) paquet(s) de parité reçu(s), sur la base des paquets de données reçus 20 appartenant aux premier et deuxième ensembles de paquets de données (701) ; déterminer si le bloc de données peut être récupéré en décodant le bloc de données codé reconstruit à l'étape de reconstruction (702) ; et si le bloc de données peut être récupéré, envoyer à l'émetteur un 25 accusé de réception correspondant à chaque paquet de données inclus dans ledit bloc de données récupéré (705). 17. Support de mémoire mémorisant le code de l'application logicielle selon la revendication 16. 18. Dispositif de transmission destiné à transmettre une pluralité de 30 paquets de données dans un système de communication, comportant : une unité de transmission (204) destinée à transmettre un ou plusieurs paquets de données à partir d'une liste de paquets de données à transmettre ; et une unité de détermination (201) destinée à déterminer si un accusé 35 de réception est reçu pour chaque paquet de données transmis ; le dispositif étant caractérisé en ce qu'il comporte en outre les unités suivantes, mises en oeuvre lorsqu'il est déterminé par l'unité de 2906428 - 19 - détermination qu'un accusé de réception n'a pas été reçu pour au moins un paquet de données, appelé paquet de données non acquitté : une unité de sélection (201) destinée à sélectionner un ou plusieurs paquets de données supplémentaires à partir de la liste de 5 paquets de données à transmettre ; une unité de codage (201) destinée à générer un ou plusieurs paquets de parité en codant un bloc de données contenant une combinaison du ou des paquets de données supplémentaires sélectionnés et d'au moins un paquet de données non acquitté à l'aide d'un schéma de correction 10 d'erreurs ; et une unité de transmission (204) destinée à transmettre au moins un des paquets de parité générés. 19. Dispositif récepteur destiné à recevoir une pluralité de paquets de données provenant d'un émetteur dans un système de communication, 15 comportant : une unité de réception (204) destinée à recevoir un ou plusieurs paquets de parité provenant de l'émetteur, lesdits paquets de parité ayant été générés en codant, à l'aide d'un schéma de correction d'erreurs, un bloc de données contenant une combinaison d'un premier 20 ensemble de paquets de données transmis par l'émetteur et d'un deuxième ensemble de paquets de données à transmettre par ledit émetteur ; une unité de reconstruction (201) destinée à reconstruire partiellement un bloc de données codé associé au(x) paquet(s) de parité reçu(s), sur la base des paquets de données reçus appartenant aux premier 25 et deuxième ensembles de paquets de données ; une unité de détermination (201) destinée à déterminer si le bloc de données peut être récupéré en décodant le bloc de données codé reconstruit à l'étape de reconstruction ; et une unité de transmission (204) destinée à envoyer à l'émetteur, si 30 le bloc de données peut être récupéré, un accusé de réception correspondant à chaque paquet de données inclus dans ledit bloc de données récupéré.