Brevet FR2944938A1 — publié le 20101029

La présente invention concerne un procédé et un dispositif de correction d'erreurs. Plus particulièrement, elle concerne un procédé de correction d'erreurs dans un flux de données multimédia codées mis en oeuvre dans un dispositif de réception de données. Corrélativement, elle concerne un dispositif adapté à mettre en oeuvre le procédé conforme à l'invention. Lorsqu'un flux de données, par exemple une séquence d'images ou vidéo, est transmis à travers un réseau de communication, certaines données du flux de données sont susceptibles d'être perdues ou corrompues. Dans le cas d'un réseau de communication à commutation de paquets, le flux de données est découpé en paquets de données ou paquets réseau. Lors de la transmission du flux de données ainsi découpé, des paquets de données peuvent se perdre. La perte ou la corruption d'un paquet de données qui se produit lors de la transmission d'une séquence vidéo a comme conséquence l'apparition d'artefacts (perturbations artificielles) dans certaines images de la séquence vidéo. Ces artefacts diminuent la qualité de la séquence vidéo. Afin d'améliorer la qualité des images, des méthodes de résistance aux erreurs ("error resilience" en terminologie anglosaxonne) sont appliquées 25 aux images dans la séquence d'images. Par exemple, ces méthodes de résistance aux erreurs consistent en des algorithmes de masquage d'erreurs ("error concealment" en terminologie anglosaxonne) ou en des algorithmes de retransmission. Chaque image d'une séquence d'images est divisée en unités 30 élémentaires dénommées macroblocs. Par ailleurs, chaque image est découpée en tranches ("slices" en terminologie anglosaxonne) avant d'être codée. Chaque tranche est composée d'une ou de plusieurs unités élémentaires dénommées macroblocs. Par ailleurs, les serveurs peuvent employer des stratégies différentes de découpage de l'image en portions d'image. Par exemple, des stratégies consistant à utiliser un nombre fixe de macroblocs par tranche ou un nombre fixe d'octets par tranche peuvent être mises en oeuvre. En fonction du type de réseau et du protocole réseau utilisé pour transporter des données, les données du flux de données correspondant à une tranche peuvent être, soit insérées dans un paquet réseau, soit découpées en groupes de données (dénommées "unités fragmentées"). En particulier, si la taille des données correspondant à une tranche (en nombre de bits) est supérieure à la taille maximale admissible pour un paquet réseau, la tranche est découpée en groupes de données. Chaque groupe de données ou unité fragmentée est insérée dans un paquet réseau. En outre, lorsque la taille des données correspondant aux tranches (en nombre de bits) est largement inférieure à la taille maximale admissible pour un paquet réseau, il est possible que des données correspondant à plusieurs tranches soient insérées dans un même paquet de données ou paquet réseau. Lorsque les données correspondant à une même tranche sont divisées en unités fragmentées, c'est-à-dire que les données d'une même tranche sont insérées dans des paquets de données différents, l'effet sur le décodage, de la perte de chaque paquet de données correspondant à une même tranche, est différent. Par exemple, l'effet de la perte d'un paquet de données contenant l'unité fragmentée correspondant au début d'une tranche n'est pas identique à l'effet de la perte d'un paquet de données contentant l'unité fragmentée correspondant à la fin de la tranche. En effet, si l'unité fragmentée correspondant au début de la tranche est perdue, la tranche n'est pas décodable, même si les autres unités fragmentées d'une tranche n'ont pas été perdues. Par conséquent, la perte d'un paquet implique que le nombre de données à corriger soit plus ou moins élevé en fonction du codage utilisé. Le document US 2007/0189286 décrit une méthode permettant de reconstruire un flux de données codées qui soit compatible avec le décodage. En particulier, cette méthode permet de détecter, au niveau du dépaquetiseur, si un paquet de données reçu suivant un paquet perdu correspond à un début de tranche, et donc d'envoyer un tel paquet au décodeur. Néanmoins, cette méthode n'agit pas sur la correction d'erreurs et ne permet pas d'améliorer la qualité de reconstruction par correction d'erreur lorsque des pertes multiples de paquets de données se produisent en cas de transmission par unités fragmentées. La présente invention a pour but de résoudre au moins un des inconvénients précités et de proposer un procédé de correction d'erreurs permettant d'optimiser une méthode de correction d'erreurs. A cet effet, la présente invention vise selon un premier aspect, un procédé de correction d'erreurs dans un flux de données d'au moins une image mis en oeuvre dans un dispositif de réception de données, ladite au moins une image étant découpée en portions d'image, ledit flux étant codé par portion d'image et divisé en paquets de données, le procédé comportant une étape de détection d'au moins un paquet de données perdu. Selon l'invention, le procédé de correction d'erreurs comporte les 20 étapes suivantes: - détermination d'une stratégie de découpage de ladite au moins une image en portions d'image, - détermination, en fonction de la stratégie de découpage déterminée, d'une information représentative de la qualité de reconstruction de 25 données incluses dans ledit au moins un paquet perdu par une méthode de correction d'erreurs, - adaptation de ladite méthode de correction d'erreurs en fonction de l'information représentative de la qualité de reconstruction déterminée, et - application de ladite méthode de correction d'erreurs adaptée à 30 l'étape d'adaptation pour reconstruire les données incluses dans ledit au moins un paquet perdu. Ainsi, la méthode de correction d'erreurs est optimisée en fonction de la stratégie de découpage de l'image en portions d'image utilisée lors du codage du flux de données. Le procédé selon l'invention tient ainsi compte, non seulement de la perte d'un paquet de données, mais des effets de la perte de ce paquet de données. En effet, la conséquence de la perte sur la qualité de reconstruction des données perdues est différente selon le type de découpage de l'image utilisé. Le procédé de correction est ainsi plus efficace, en particulier dans le cas où plusieurs paquets réseau correspondant à des fragments de portions d'image codée sont perdus. Selon une caractéristique, l'information représentative de la qualité de reconstruction de données perdues est également déterminée en fonction de la quantité de données codées décodables reçues par ledit dispositif de réception. En effet, la quantité de données codées décodables est fonction du type de découpage de ladite au moins une image en portions d'image utilisé lors du codage du flux de données. Ainsi, la quantité de données codées décodables a un impact direct sur la qualité de reconstruction de données perdues et donc sur l'information représentative de cette qualité. Par conséquent, le fait de tenir compte du type de découpage de l'image en portions d'image lors de la mise en oeuvre de la méthode de correction d'erreurs augmente l'efficacité du procédé de correction d'erreurs. Par exemple, l'étape de détermination de la stratégie de découpage de chaque image en portions d'image comporte une sous-étape consistant à déterminer le nombre de sous-portions d'image dans une portion d'image et le nombre d'octets contenus dans ladite portion d'image. Dans un mode de réalisation, la stratégie de découpage utilise un nombre fixe de sous-portions par portion d'image. Selon une variante, la stratégie de découpage utilise un nombre d'octets fixe par portion d'image. Dans un mode de réalisation, l'étape de détermination d'une information représentative de la qualité de reconstruction de données perdues comporte les sous-étapes suivantes, qui sont mises en oeuvre pour chaque portion d'image appartenant à une image : - évaluation de la surface de ladite portion d'image, - évaluation de la quantité de données décodables dans ladite portion d'image, et - évaluation de la surface à reconstruire de ladite portion d'image en fonction de ladite surface de ladite portion d'image et de ladite quantité de données décodables évaluées. Ainsi, l'information représentative de la qualité de reconstruction de données perdues est fonction de la surface d'image à reconstruire par ladite méthode de correction d'erreurs. La surface d'image à reconstruire pour chaque portion d'image est estimée en fonction de la surface de ladite portion d'image et de la quantité de données décodables de ladite portion d'image. Selon une caractéristique, l'étape d'adaptation de la méthode de correction d'erreurs comporte une étape préalable de comparaison de l'information représentative de la qualité de reconstruction déterminée avec un seuil représentatif d'une limite de qualité. Avantageusement, le seuil représentatif d'une limite de qualité représente une surface d'image limite. Par conséquent, on met en oeuvre une comparaison de l'information représentative de la qualité de reconstruction déterminée pour la méthode de correction d'erreurs avec un seuil représentatif de la limite de surface acceptable pour que la méthode de correction d'erreurs soit efficace. Par exemple, lorsque l'information représentative de la qualité est inférieure au seuil, ladite information représentative de la qualité étant fonction de la surface à reconstruire par la méthode de correction d'erreurs, la méthode de correction d'erreurs est appliquée à la portion d'image entière. Ainsi, la surface à reconstruire étant faible, la méthode de correction d'erreurs est efficace lorsqu'elle est appliquée à la surface entière de la portion d'image. Au contraire, lorsque l'information représentative de la qualité est supérieure au seuil, ladite information représentative de la qualité étant fonction de la surface à reconstruire par la méthode de correction d'erreurs, la méthode de correction d'erreurs est appliquée à une partie de la portion d'image. Par conséquent, la méthode de correction d'erreurs est adaptée en fonction de la taille de la surface à reconstruire et la reconstruction de l'image grâce à cette méthode est ainsi de bonne qualité. Dans un autre mode de réalisation, l'information représentative de la qualité de reconstruction de données perdues est fonction d'un critère d'importance pour le décodage associé à chaque paquet de données perdu. Selon une caractéristique, le critère d'importance d'un paquet de données est fonction de la quantité de données décodables de ladite portion d'image lorsque le paquet de données perdu est correctement reçu par le dispositif de réception. Ainsi, chaque paquet de données présente une importance pour le décodage en fonction des données reconstructibles de la portion d'image lorsque ce paquet de données est considéré comme correctement reçu par le dispositif de réception. Lorsque l'importance du paquet est élevée, le nombre de données reconstructibles est élevé et lorsque l'importance du paquet est faible, le nombre de données reconstructibles est faible. Selon une autre caractéristique, un niveau de priorité de traitement est associé à chaque paquet de données perdu en fonction respectivement de l'importance desdits paquets de données perdus. Avantageusement, ladite méthode de correction d'erreurs comprend une demande de retransmission des paquets de données perdus en fonction des niveaux de priorité associés aux paquets de données perdus. Ainsi, si toutes les demandes de retransmission effectuées par le dispositif de réception ne peuvent être satisfaites par le serveur, les paquets perdus permettant de décoder une quantité plus élevée de données seront retransmis en priorité. Par conséquent, l'efficacité de la méthode de correction d'erreurs est augmentée. Selon un deuxième aspect, la présente invention concerne un dispositif de correction d'erreurs dans un flux de données d'au moins une image, ladite au moins une image étant découpée en portions d'image, ledit flux étant codé par portion d'image et découpé en paquets de données, ledit dispositif comportant des moyens de réception de données et des moyens de détection d'au moins un paquet de données perdu. Selon l'invention, le dispositif comporte : - des moyens de détermination d'une stratégie de découpage de ladite au moins une image en portions d'image s, - des moyens de détermination, en fonction de la stratégie de découpage déterminée, d'une information représentative de la qualité de reconstruction de données incluses dans ledit au moins un paquet perdu par une méthode de correction d'erreurs, - des moyens d'adaptation de ladite méthode de correction d'erreurs 15 en fonction de l'information représentative de la qualité de reconstruction déterminée, et - des moyens d'application de ladite méthode de correction d'erreurs adapté par les moyens d'adaptation pour reconstruire les données incluses dans ledit au moins un paquet perdu. 20 Selon une caractéristique, les moyens de détermination de la stratégie de découpage comportent des moyens de détermination d'une information représentative de l'information de la stratégie de codage. Selon une autre caractéristique, les moyens de détermination de la stratégie de découpage comportent des moyens adaptés à déterminer le 25 nombre de sous-portions et le nombre d'octets contenus dans ladite portion d'image. Dans un mode de réalisation, les moyens de détermination d'une information représentative de la qualité de reconstruction de données perdues comportent: 30 - des moyens d'évaluation de la surface de ladite portion d'image, - des moyens d'évaluation de la quantité de données décodables dans ladite portion d'image, et - des moyens d'évaluation de la surface à reconstruire de ladite portion d'image, en fonction de ladite surface de ladite portion d'image et de ladite quantité de données décodables évaluées. La présente invention concerne, selon un troisième aspect, un moyen de stockage d'informations lisibles par un ordinateur ou un microprocesseur contenant des instructions d'un programme informatique, adapté à mettre en oeuvre le procédé tel que succinctement décrit ci-dessus, lorsque les informations stockées sont lues par l'ordinateur ou le microprocesseur. Dans un mode particulier de réalisation, ce moyen de stockage est partiellement ou totalement amovible. La présente invention concerne, selon un quatrième aspect, un produit programme d'ordinateur chargeable dans un appareil programmable, comportant des séquences d'instructions pour mettre en oeuvre le procédé tel que succinctement décrit ci-dessus, lorsque ce produit programme d'ordinateur est chargé dans et exécuté par l'appareil programmable. Les avantages du dispositif, ainsi que les caractéristiques particulières et avantages du moyen de stockage d'informations et du produit programme d'ordinateur étant similaires à ceux du procédé de correction d'erreurs, ils ne sont pas répétés ici. D'autres particularités et avantages de l'invention apparaîtront encore dans la description ci-après. Aux dessins annexés, donnés à titre d'exemples non limitatifs : - la figure 1 illustre schématiquement le contexte d'application de la présente invention ; - la figure 2 représente schématiquement le codage d'une séquence d'images ; - la figure 3 représente schématiquement deux méthodes de correction d'erreurs ; - la figure 4 est un organigramme représentant un mode de réalisation d'un procédé conforme à l'invention mis en oeuvre par un client ; - la figure 5 est un organigramme représentant un mode de réalisation détaillé de l'étape S7 de la figure 4; - les figures 6a et 6b sont deux organigrammes représentant deux modes de réalisation détaillés de l'étape S8 de la figure 4; - la figure 7 est un organigramme représentant un mode de réalisation de l'étape S81 de la figure 6a; - la figure 8 est un organigramme représentant un mode de réalisation détaillé de l'étape S82 de la figure 6a; - la figure 9 est un organigramme représentant un mode de réalisation d'une partie du procédé conforme à l'invention; - la figure 10 est un organigramme représentant un premier mode de réalisation détaillé de l'étape S9 de la figure 4 ; - la figure 11 est un organigramme représentant un second mode de réalisation détaillé de l'étape S9 de la figure 4; et - la figure 12 représente schématiquement un mode particulier de réalisation d'un appareil susceptible de mettre en oeuvre la présente invention. On va décrire tout d'abord, en référence à la figure 1, le contexte dans lequel se situe l'invention. La figure 1 représente un dispositif serveur 1, un dispositif client 2 et un réseau de communication 3. Le serveur 1 représente un dispositif d'émission de données, le client 2 un dispositif de réception et le réseau 3 un système de transmission d'un flux de données entre le serveur 1 et le client 2. Les données transmises du serveur 1 au client 2 à travers le réseau 3 sont par exemple des données vidéo. Bien entendu, les données peuvent être des données multimédia, c'est-à-dire vidéo et/ou audio. Dans ce contexte, une fonctionnalité du serveur 1 consiste à mettre en oeuvre une étape d'acquisition S1 afin de capturer des données, par exemple des données correspondant à une image ou à une séquence d'images ou séquence vidéo. Ensuite, chaque image acquise est codée lors d'une étape de codage S2, mise en paquets à l'étape S3 et transmise au client lors d'une étape de transmission S4. Par exemple, la norme utilisée pour le codage est une norme MPEG, par exemple MPEG-1, MPEG-2 ou MPEG-4. Dans le mode de réalisation décrit ci-dessous, on emploie un codage basé sur la prédiction du mouvement entre différentes images d'une séquence d'images. Préalablement à la mise en oeuvre de la transmission des données lors de l'étape S4, les données sont encapsulées dans des paquets réseau selon un protocole donné, par exemple le protocole RTP (de l'anglais � Realtime Transport Protocol �). Cette étape d'encapsulation de données est désignée par le terme � paquétisation � des données. Les étapes de codage S2, de paquétisation S3 et de transmission S4 seront décrites plus en détail à l'aide de la figure 2. On notera que lors de la transmission des données sur le réseau 3, des paquets réseau peuvent être perdus ou altérés. Par exemple, en cas d'encombrement du réseau ("congestion" en terminologie anglo-saxonne), des noeuds du réseau sont amenés à supprimer ou à rejeter certains paquets réseau. Après réception des paquets réseau, le client 2, extrait les données contenues dans les paquets et identifie les données manquantes ou erronées. Ensuite, le client 2 met en oeuvre le décodage des données valides et reconstruit les données d'image manquantes et/ou erronées à l'aide d'une méthode de correction d'erreurs fondée sur algorithme de correction d'erreurs. On va maintenant décrire en référence à la figure 2 les étapes de codage S2, de paquétisation S3 et de transmission S4. La figure 2 représente une séquence vidéo 4 (flux de données) comportant une suite d'images 11, B2, B3, P4, B5, B6, P7. La séquence vidéo 4 est codée au moyen d'un codeur basé sur la prédiction de mouvement, selon par exemple la norme H. 264 (MPEG-4 partie 10) ou MPEG-4 Partie 2. Dans ces normes, le codage peut être de type INTRA ou INTER. Le codage INTRA ou I est réalisé sans employer d'image de référence, c'est-à-dire qu'une image codée selon un codage INTRA ne dépend pas d'autres images. Le codage INTER de type P est réalisé, quant à lui, en fonction d'une image de référence en compensant le mouvement entre l'image de référence (préalablement codée) et l'image à coder. Le mouvement entre les deux images est évalué par blocs, cette évaluation servant à déduire un ensemble de vecteurs de mouvement (un vecteur de mouvement par bloc) représentant le déplacement en translation entre les blocs de l'image à coder et des blocs correspondants de l'image de référence. A partir de cet ensemble de vecteurs de mouvement, une image est prédite. La différence entre cette image prédite et l'image à coder est calculée et codée avec l'ensemble de vecteurs de mouvement. On notera que ce type de codage diminue de façon significative la quantité de données à coder. Le codage INTER de type B est similaire au codage INTER de type P mais est réalisé en fonction de deux images de référence. A la figure 2, l'image 11 est une image INTRA, les images B2, B3, B5 et B6 sont des images INTER de type B, et les images P4 et P7 sont des images INTER de type P. Par exemple, l'image B2 est codée en prenant comme référence les images 11 et P4. Pour le codage de l'image P4, l'image 11 est prise comme image de référence. Chaque image de la séquence vidéo 4 est découpée en portions d'image ou tranches 5 ("slices" en terminologie anglo-saxonne) et chaque tranche 5 est composée d'unités élémentaires de codage appelés macroblocs 6. Typiquement, la norme de codage MPEG-4 définit des macroblocs carrés de 16x16 pixels. Ces unités élémentaires constituent des sous-portions au sens de l'invention. Pour les normes de codage considérées, il existe notamment deux stratégies de découpage d'une image de la séquence d'images en portions d'image ou tranches : soit chaque tranche comporte un nombre prédéterminé de macroblocs, soit chaque tranche comporte un nombre prédéterminé d'octets. Dans le cas de la deuxième stratégie de découpage, le nombre de macroblocs compris dans une tranche est variable d'une tranche à l'autre en fonction des caractéristiques du signal d'image à coder. On notera que dans le cas de la deuxième stratégie de découpage, le nombre prédéterminé d'octets peut varier suivant une marge de variation, puisque une tranche doit contenir un nombre entier de macroblocs. Selon certaines normes, chaque macrobloc 6 peut être découpé en plusieurs sous-macroblocs. On notera qu'une image INTER de type B, peut comprendre des macroblocs des types I, P ou B ; une image INTER de type P, peut comprendre des macroblocs des types I et P, et une image INTRA peut comprendre uniquement des macroblocs de type I. Comme mentionné ci-dessus, une fois que les images sont découpées en portions d'image, celles-ci sont codées, puis elles sont mises en paquets. II existe plusieurs techniques de paquétisation également appelées stratégies de division du flux de données codées en paquets de données ou paquets réseau. Les portions de données codées sont plus particulièrement réparties dans des paquets soit telles quelles soit par fragment de portion. Ainsi, un paquet réseau peut comprendre plusieurs tranches (portions) d'une même image ou de plusieurs images, une seule tranche ou un fragment de tranche. Selon une première stratégie de paquétisation ou division des données en paquets réseau, chaque paquet réseau contient toutes les données correspondant à une seule tranche (technique de paquétisation ou stratégie de division connue en terminologie anglo-saxonne sous le terme "single NALU (Network Abstraction Layer Unit)"). Lorsque cette stratégie est utilisée et qu'un paquet réseau est perdu, la tranche correspondante ne pourra pas être reconstruite. Selon une deuxième stratégie de division , un paquet réseau contient plusieurs tranches d'image. Dans cette stratégie de division , on distingue deux 30 types de paquets réseau. Un premier type de paquet réseau contient plusieurs tranches correspondant à la même unité de temps. Par exemple, ce premier type de paquet contient plusieurs tranches d'une même image. Ce premier type de paquet réseau est connu en terminologie anglo-saxonne comme paquet de type "STAP' (pour "Single-Time Aggregation Paquet"). Un second type de paquet réseau contient plusieurs tranches correspondant à des unités de temps différentes. Par exemple, ce second type de paquet contient plusieurs tranches d'images différentes. Ce second type de paquet réseau est connu en terminologie anglo-saxonne comme paquet de type "MTAP' (pour "Multi-rime Aggregation Paquet"). Selon une troisième stratégie de division un paquet réseau contient une fraction de tranche ou unité fragmentée (connu en terminologie anglo-saxonne sous le terme "Fragmented Unit"). Lorsqu'une tranche est divisée en plusieurs unités fragmentées, chaque unité fragmentée contient un indicateur indiquant s'il s'agit de la première ou de la dernière unité fragmentée d'une tranche. Lorsqu'une unité fragmentée est perdue, les unités fragmentées qui la suivent ne peuvent pas être décodées. Selon une méthode habituelle de dépaquétisation le client rejette la tranche entière lorsqu'il a perdu une unité fragmentée. On comprend par "dépaquétisation" l'opération inverse de la "paquétisation". Ainsi, la dépaquétisation consiste à extraire les données utiles 20 ou charge utile des paquets réseau. Par conséquent, la perte d'un paquet réseau lors de sa transmission a pour résultat la perte d'au moins une partie de tranche. Une méthode alternative consiste à marquer comme incomplète la portion d'image contenant l'unité fragmentée et à procéder au décodage des 25 données dans cette portion d'image. Dans ce cas de figure, le décodage des données est complexe puisqu'il est nécessaire de détecter une erreur de syntaxe le plus souvent lors du décodage entropique des données. Ce procédé présente le désavantage d'être difficile à rendre robuste dans le sens où la syntaxe des données incomplètes peut rester correcte malgré l'information 30 manquante. De plus, la détection de l'erreur n'est parfois pas parfaite et peut produire des artefacts dans l'image. Ce procédé est donc généralement coûteux en temps de calcul et la qualité obtenue n'est pas forcement satisfaisante. On va décrire maintenant en référence à la figure 3 deux méthodes de correction d'erreurs susceptibles d'être utilisées dans l'invention. Une première méthode de correction est fondée sur un algorithme de masquage d'erreurs de type masquage d'erreur temporel ('temporal error concealment' en terminologie anglo-saxonne). Ce type d'algorithme permet de corriger les pixels erronés d'une image courante 7 d'une séquence vidéo 4 telle que celle de la figure 2. L'algorithme utilise des informations d'images précédentes afin de déterminer les pixels manquants d'une zone 71 de pixels manquants de l'image courante 7. Cet algorithme consiste à estimer les vecteurs de mouvement des macroblocs de la zone erronée 71. Le vecteur de mouvement 72 de chaque macrobloc 70 de la zone erronée 71 est déterminé en effectuant une moyenne des vecteurs de mouvement 72 correspondant aux macroblocs voisins de la zone erronée 71. Cet algorithme est connu de l'homme du métier et ne sera pas décrit ici plus en détail. La qualité de reconstruction des données manquantes par cet algorithme de masquage dépend de la quantité de données manquantes ou à reconstruire. En effet, lorsque la taille de la surface d'image à reconstruire est élevée, la qualité de l'algorithme de masquage est médiocre. Au contraire, lorsque la taille de la surface d'image à reconstruire est faible, la qualité de l'algorithme de masquage est bonne. Une seconde méthode de correction d'erreurs est fondée sur un algorithme selon lequel le client 2 identifie les paquets réseau manquants ou erronés P4 et demande au serveur 1 la retransmission de ces paquets réseau . Le serveur 1 répond à cette requête du client 2 en transmettant un paquet de retransmission R4 permettant d'obtenir le paquet réseau perdu P4. Néanmoins, le serveur 1 ne retransmet pas systématiquement les paquets réseau demandés, par exemple lorsque le débit du réseau n'est pas suffisant pour envoyer tous les paquets réseau demandés. Par conséquent, la qualité de reconstruction obtenue par ce type d'algorithme est fonction de la quantité de données décodables après retransmission de paquets par le serveur 1. On va maintenant décrire en référence à la figure 4 un mode de réalisation d'un procédé conforme à l'invention et qui est mis en oeuvre par un client 2. Ce procédé est basé sur l'algorithme représenté à la figure 4. Cet algorithme comporte des étapes correspondant à des instructions d'un programme informatique dont l'exécution par un microprocesseur ou un ordinateur permet la mise en oeuvre du procédé. Le client 2 reçoit les paquets réseau correspondant à une image 7 et procède à la dépaquétisation, c'est-à-dire à l'extraction des données utiles ou charge utile des paquets réseau. Cette opération est mise en oeuvre lors d'une étape de réception et de dépaquétisation S5. Ensuite, le client 2 met en oeuvre une étape de détection S6 des paquets réseau manquants ou perdus. Cette étape consiste, par exemple, à ordonner les paquets reçus à partir de leur numéro de séquence et à comparer les paquets deux à deux. Le client met en oeuvre une étape S7 consistant à déterminer la stratégie de découpage des images en portions d'images ou tranches qui a été employée par le serveur 1. Cette étape sera décrite plus en détail en référence à la figure 5. Une fois la stratégie de découpage déterminée, le client met en oeuvre une étape de détermination S8 d'une information représentative de la qualité de reconstruction de données perdues par une méthode de correction d'erreurs fondée sur un algorithme de correction d'erreurs. Ensuite, une étape d'adaptation S9 de l'algorithme de correction est mise en oeuvre. L'adaptation de l'algorithme de correction est réalisée en fonction de l'information représentative de la qualité de reconstruction déterminée précédemment. Cette étape sera décrite plus en détail en référence aux figures 10 et 11. Enfin, le client 2 procède à une étape de décodage S10 consistant à décoder les données valides et à mettre en oeuvre l'algorithme de correction d'erreurs afin d'obtenir l'image 7. Comme annoncé précédemment, on va maintenant décrire en référence à la figure 5 une partie du procédé correspondant à l'étape de détermination S7 de la stratégie de découpage de l'image 7 en portions d'images. Cette stratégie correspond à la stratégie de codage mise en oeuvre au codeur. Dans cet exemple, une première stratégie utilisée lors du codage consiste à découper une image 7 en portions d'image ou tranches 5 de façon à ce que le nombre de macroblocs par tranche soit le même pour toutes les tranches. Les tranches sont ensuite codées indépendamment les unes des autres. Une seconde stratégie consiste à déterminer les données d'image correspondant à une tranche de façon à ce que le nombre d'octets par tranche 5 après codage soit le même pour toutes les tranches 5. Dans ce cas, le découpage en portions d'image est tel que chaque portion d'image ou tranche peut contenir un nombre variable de macroblocs. L'étape S7 de détermination de la stratégie de découpage comprend une succession de sous-étapes illustrées à la figure 5 sous la forme d'un algorithme. Une première sous-étape d'obtention de données S71 consiste à recevoir un message provenant du serveur 1 et contenant un identifiant de la stratégie de découpage. Ensuite, l'identifiant reçu est stocké en mémoire lors d'une deuxième sous-étape de stockage S72. Enfin, lors d'une troisième sous- étape S73 la stratégie de découpage utilisée par le serveur est déterminée en fonction de l'identifiant reçu. Dans ce mode de réalisation, la partie du procédé mise en oeuvre dans le dispositif client et qui est adaptée à déterminer la stratégie de découpage n'est pas complexe. Toutefois, il est nécessaire que le serveur soit capable de fournir au client un identifiant de la stratégie de découpage. Selon une variante de réalisation, la sous-étape d'obtention de données S71 consiste à récupérer l'ensemble de tranches d'une image courante reçues à l'étape de réception et de dépaquétisation S5 de la figure 4. Les données des tranches de l'image courante reçues sont stockées en mémoire lors de la sous-étape de stockage S72. Ces deux étapes sont mises en oeuvre pour chaque image 7 d'une séquence vidéo 4 (figures 2 et 3). Dans cette variante de réalisation, la sous-étape de détermination de la stratégie de découpage S73 comporte une première sous-étape consistant à déterminer le nombre de macroblocs 6 (sous-portions) et le nombre d'octets contenus dans une tranche 5 (portion d'image). La sous-étape de détermination de la stratégie de découpage S73 comporte en outre une deuxième sous-étape de comparaison consistant à comparer le nombre de macroblocs par tranche de l'image courante avec le nombre de macroblocs par tranche de l'image précédente. Ainsi, lorsque le nombre de macroblocs par tranche est identique pour les deux images, on considère que la stratégie de découpage réside dans l'utilisation d'un nombre fixe de macroblocs par tranche. De même, lorsque le nombre d'octets par tranche est similaire entre les images, on considère que la stratégie de découpage réside dans l'utilisation d'un nombre fixe d'octets par tranche. En effet, le nombre d'octets par tranche a une valeur similaire d'une image à l'autre selon une marge de tolérance prédéterminée. Dans cette variante, la sous-étape de détermination de la stratégie de découpage S73 est mise en oeuvre pour chaque image 7 de la séquence vidéo 4. Toutefois, de façon alternative, la sous-étape de détermination de la stratégie de découpage S73 est mise en oeuvre pour un nombre limité d'images. Ainsi, le nombre de calculs effectués par le client 2 est réduit. En effet, en général, la stratégie de découpage employée lors du codage d'une séquence vidéo 4 est unique. Ceci permet donc de réduire la complexité des calculs lors de la mise en oeuvre de cette sous-étape de détermination S73. Ce nombre limité d'images peut correspondre, par exemple, à un premier groupe d'images nommé GOP (signifiant en terminologie anglo- saxonne � group of pictures �) ou aux trois premières images de la séquence vidéo 4. En outre, toujours selon cette variante la valeur de certains paramètres est stockée en mémoire lors de la sous étape de stockage S72. Par exemple, lorsque la stratégie de découpage réside dans l'utilisation d'un nombre fixe de macroblocs par tranche, le nombre de tranches par image 7, noté nb slice, et la surface de chaque tranche, notée Si, sont stockés en mémoire. Dans ce cas, la surface de chaque tranche est égale au nombre de macroblocs par tranche multiplié par le nombre de pixels par macrobloc (surface d'un macrobloc en pixels). On notera qu'ici les surfaces d'image sont des surfaces exprimées en pixels. Ces valeurs sont déterminées lors du décodage d'une image 7 correctement reçue. Le calcul de ces valeurs est connu de l'homme du métier et ne sera pas décrit ici. Lorsque la stratégie de découpage réside dans l'utilisation d'un nombre fixe d'octets par tranche, le nombre d'octets par tranche, noté nb octets, est stocké. En outre, le nombre de tranches par image 7, nb slice, est stocké en 20 mémoire. Comme annoncé plus haut, on va maintenant décrire, plus en détail en référence à la figure 6a, l'étape de détermination S8 d'une information représentative de la qualité de reconstruction de données perdues par un algorithme de correction d'erreurs. 25 Dans le mode de réalisation représenté à la figure 6a l'algorithme de correction est un algorithme de masquage d'erreurs. Dans cet exemple, l'information représentative de la qualité de reconstruction correspond à la surface d'image à masquer, c'est-à-dire à reconstruire. La surface d'image à masquer peut être exprimée en nombre de 30 pixels. L'étape de détermination S8 de cette information comporte les sous-étapes suivantes, mises en oeuvre pour chaque tranche 5 d'une image: - une sous-étape d'évaluation S81 de la surface Si d'une tranche d'image, cette surface Si étant exprimée en pixels, - une sous-étape d'évaluation S82 de la quantité de données décodables dans la tranche d'image, c'est-à-dire du nombre de données contenues dans la tranche d'image et qui peuvent être décodées, et - une sous-étape d'évaluation S83 de la surface à reconstruire SMi de cette tranche, cette surface à reconstruire SMi étant exprimée en pixels. La surface à reconstruire SMi est évaluée à l'aide de l'équation SMi=Si(1ûQDec,i), dans laquelle SMi représente la taille de la surface à reconstruire pour la tranche d'image i, Si représente la taille de la surface de la tranche i et QDec,i représente la quantité de données décodables dans la tranche i. La sous-étape d'évaluation S81 de la valeur de la surface Si de la tranche 5 est détaillée à la figure 7. Lors d'une première étape de vérification S811, le client 2 procède à un test afin de vérifier l'information représentative de la stratégie de découpage qui est déterminée préalablement. Lorsque la stratégie de découpage correspond à l'utilisation d'un nombre fixe de macroblocs par tranche 5, l'étape S811 est suivie d'une étape d'obtention S812. Au cours de cette étape le client 2 obtient un ensemble de paramètres concernant l'image précédente. En particulier, le client 2 obtient la surface Si en pixels de chaque tranche i de l'image précédente. Comme décrit ci-dessus, ces paramètres ont été stockés en mémoire préalablement (sous-étape S72). Ensuite une étape d'évaluation S813 de la surface Si de chaque tranche 5 est mise en oeuvre. Dans le mode de réalisation préféré, ces surfaces sont identiques pour toutes les images de la séquence vidéo pour cette stratégie de découpage et ont été calculées et stockées lors de l'étape S72. Lorsque la stratégie de découpage correspond à l'utilisation d'un nombre fixe d'octets par tranche, on considère que les pixels d'une image sont partagés de manière équitable entre chaque tranche d'image. Ainsi, lors d'une étape suivante d'obtention S814, le client 2 obtient un ensemble de paramètres concernant l'image courante. En particulier, le client 2 obtient le nombre de tranches par image nb slice, calculé lors de la sous-étape S72. Ensuite, lors d'une étape d'évaluation S815, la taille de la surface Si de chaque tranche d'image est évaluée selon l'équation: Si = NS , dans laquelle SI,,, est la taille de la surface en pixels de l'image courante m et NS,,, est le nombre de tranches de l'image courante. Ainsi, la surface Si en pixels de chaque tranche 5 est évaluée en 10 fonction de la stratégie de découpage employée par le serveur 1. Une méthode alternative consiste à prendre en compte la complexité des données de chaque tranche 5 de manière à affiner l'évaluation de leur surface Si. Un facteur de complexité Ci est déterminé pour chaque tranche 5 d'une image précédant l'image courante. 15 Lorsque le nombre de tranches dans l'image courante et dans l'image précédente sont identiques, la surface Si des tranches de l'image courante est évaluée comme étant égale à la surface de la tranche correspondante dans l'image précédente. Lorsque le nombre de tranches dans l'image précédente est inférieur 20 à celui de l'image courante, le coût de codage (en bits) des pixels s'est accru entre les deux images. La surface Si des tranches 5 a donc diminué pour les tranches 5 les plus complexes de l'image (présentant le facteur de complexité Ci le plus élevé). Pour refléter ce phénomène, les tranches 5 de l'image précédente ayant les complexités Ci les plus importantes sont déterminées. Le 25 nombre de tranches 5 considérées correspond par exemple à la différence (en valeur absolue) entre le nombre de tranches 5 de l'image courante et de l'image précédente divisée par deux. Chacune de ces tranches est divisée en deux tranches de surfaces égales de manière à obtenir le même nombre de tranches dans l'image courante et dans l'image précédente ainsi modifiée. 30 Lorsque le nombre de tranches 5 dans l'image précédente est supérieur à celui de l'image courante, les tranches 5 ayant les valeurs de m complexité les plus importantes sont divisées en deux surfaces égales. La première surface est associée à une première tranche et la seconde surface à une seconde tranche suivant la première tranche. Si l'une des tranches précédente ou suivante n'est pas disponible, l'intégralité de la tranche déterminée est associée à la tranche disponible. Les surfaces Si des tranches sont alors évaluées comme étant égales aux surfaces ainsi déterminées dans l'image précédente. On va maintenant décrire la sous-étape d'évaluation S82 de la quantité de données décodables dans la tranche d'image, notée QDec,i, en référence à la figure 8. La quantité de données décodables dépend de la stratégie de division des tranches 5 en paquets réseau. Ainsi, par exemple, lorsque les données correspondant à une tranche 5 sont contenues dans un même paquet réseau, la perte d'un tel paquet réseau n'empêche pas le décodage des autres paquets réseau de la même image 7. Par conséquent, pour un paquet réseau reçu par le client 2, le paramètre représentatif de la quantité de données décodables dans la tranche d'image QDec,i est égal à l'unité. Ainsi, la surface SMi d'image à reconstruire pour la tranche i est nulle. Lorsque les données correspondant à une tranche sont divisées en unités fragmentées et réparties dans plusieurs paquets réseau, on procède à l'étape d'initialisation S821 (Figure 8). Les étapes décrites ci-après sont mises en oeuvre pour chaque tranche de l'image courante. Lors de cette étape d'initialisation des variables sont établies à une valeur prédéfinie. Une première variable nb FU ok i comptabilise le nombre d'unités fragmentées ou fractions de tranches consécutives correctement reçues par le client pour la tranche courante i qui correspond à la tranche en cours de traitement. La valeur prédéfinie pour cette variable est par exemple zéro. Une seconde variable nb_FU_total_i correspond au nombre d'unités fragmentées pour la tranche courante i. La valeur prédéfinie de cette variable est fonction de la stratégie de découpage et sa détermination sera décrite ci-dessous en référence à la figure 9. Une fois les valeurs prédéfinies des variables nb FU ok i, nb FU total i établies, une étape de vérification S822 est mise en oeuvre. Cette étape de vérification S822 consiste à vérifier la présence dans une première unité fragmentée ou premier paquet, de l'indicateur de début de tranche. Si l'indicateur de début de tranche n'est pas présent, l'étape S822 est suivie de l'étape S829 de détermination de la quantité de données décodables QDec,i. Si l'indicateur de début de tranche est présent, on incrémente d'une unité la première variable nb FU ok i lors d'une étape S823 de mise à jour. Lors d'une étape de sélection S824, on sélectionne l'unité fragmentée ou paquet réseau suivant, et on vérifie (étape S825) si une unité fragmentée est manquante. Pour ce faire, comme décrit ci-dessus, on compare les numéros de séquence du paquet réseau précédent et du paquet réseau sélectionné ou courant. Lorsqu'un paquet réseau ou unité fragmentée est manquant, l'étape S825 est suivie de l'étape S829 de détermination de la quantité de données décodables QDec,i. Si aucun paquet réseau ou unité fragmentée n'est manquant entre le paquet réseau précédent et le paquet réseau courant, alors on incrémente d'une unité la première variable nb FU ok i lors d'une seconde étape S826 de mise à jour. Enfin, on vérifie si le paquet réseau courant est le dernier paquet réseau de la tranche courante 5 lors d'une étape de vérification S827. Lorsqu'il s'agit du dernier paquet réseau on procède à l'exécution de l'étape S829 déjà décrite. Dans le cas où le paquet réseau n'est pas le dernier paquet de la tranche courante, on passe à l'étape de sélection S824 déjà décrite afin de sélectionner le paquet réseau ou unité fragmentée suivant. Par conséquent, lorsqu'au moins un paquet réseau ou unité fragmentée est manquant ou lorsque tous les paquets réseaux ou unités fragmentées ont été traités, l'étape S829 de détermination de la quantité de données décodables QDec,i est mise en oeuvre. La quantité de données décodables QDec,i est déterminée selon l'équation suivante: QDec,i = nb FU ok i nb FU total i Une fois que la quantité de données décodables QDec,i dans une tranche 5 est déterminée et que la surface Si en pixels de chaque tranche d'image est évaluée, la surface à reconstruire SMi est évaluée à l'aide de 10 l'équation SMi= Si(l-QDec,i). Par conséquent, on obtient l'information représentative de la qualité de reconstruction de données par un algorithme de masquage d'erreurs. Cette information est fonction de la stratégie de découpage (ici un découpage utilisant un nombre fixe de macroblocs ou un nombre fixe d'octets par tranche), ainsi 15 que de la stratégie de division de la tranche 5 en paquets réseau ou unités fragmentées. On va maintenant décrire en référence à la figure 9 l'association établie entre chaque tranche et chaque paquet réseau lors de la division de la tranche 5 en paquets réseau, ainsi que la détermination de la seconde variable 20 nb FU total i correspondant au nombre d'unités fragmentées dans une tranche. La figure 9 comprend une succession d'étapes illustrées sous la forme d'un algorithme. Lors d'une première étape de détection de tranches S30, l'étape de 25 dépaquétisation S5 décrite ci-dessus (figure 4) est mise en oeuvre. Lors de cette étape les paquets réseau reçus sont analysés, ainsi que leur numéro de séquence, afin de déceler les paquets réseau manquants. En sortie de l'étape de détection on obtient un ensemble de paquets réseau correspondant à une tranche 5, ces paquets réseau étant associés à un indice représentatif de la 30 tranche 5. On considère ainsi que l'on a détecté les tranches 5 d'une image 7.5 24 Une comparaison du nombre de tranches détectées lors de l'étape de détection de tranches S30 avec un nombre de tranches prévues est mise en oeuvre lors d'une étape de comparaison S31. Cette comparaison permet de déceler si une tranche n'a pas été détectée lors de l'étape de dépaquétisation S5. Ceci se produit notamment lorsque plusieurs paquets réseau consécutifs sont perdus. Par exemple, si l'on considère que chaque paquet P1-P9 de la figure 3 contient une unité fragmentée, que les quatre premiers paquets P1 à P4 correspondent à une première tranche, que les quatre paquets suivants P5 à P8 correspondent à une seconde tranche, et que les paquets P4 (contenant un indicateur de fin de la première tranche) et P5 (contenant un indicateur de début de la seconde tranche) sont perdus, la totalité des paquets réseaux P1 à P3 et P5 à P8 seraient considérés, de façon erronée, comme étant associés à une même tranche. Afin d'éviter ceci, les étapes décrites ci-après permettent d'estimer la position des indicateurs de début et de fin de tranche. Ainsi, le nombre de tranches détectées n'est pas erroné. Le nombre de tranches prévues pour une image est déterminé en fonction de la stratégie de découpage déterminée lors de la sous-étape S73 (figure 5). Lorsque la stratégie de découpage utilisée est un découpage utilisant un nombre fixe de macroblocs 6 par tranche 5, le nombre de tranches 5 prévues de l'image courante est égal au nombre de tranches 5 de l'image précédente correctement reçue. Lorsque la stratégie de découpage utilisée est un découpage utilisant un nombre fixe d'octets, le nombre de tranches 5 prévues de l'image est déterminé en divisant le nombre d'octets utilisé pour coder l'image par le nombre d'octets par tranche, dénommé nb_octet, et qui avait été stocké en mémoire lors de la sous-étape S72. De retour à l'étape S31, lorsque le nombre de tranches détectées ne correspond pas au nombre de tranches prévues, les étapes S32, S33 et S34 permettent d'estimer les paquets identifiant les tranches non détectées. Au contraire, si le test pratiqué à l'étape S31 se révèle négatif (pas de tranche manquante), alors il est prévu de traiter la tranche suivante. Lorsque le test est positif, l'étape S31 est suivie de l'étape S32 au cours de laquelle on vérifie si le nombre de macroblocs est fixe par tranche. Lorsque l'étape de vérification S32 révèle que la stratégie de découpage utilisée est un découpage utilisant un nombre fixe d'octets par tranche, au cours de l'étape suivante S33 la position des paquets identifiant le début d'une tranche est déterminée. On détermine le nombre de paquets nécessaires pour transmettre sur le réseau 3 une tranche 5 en faisant le rapport Rps du nombre d'octets par tranche, noté nb octets, qui a été stocké en mémoire lors de la sous-étape S72 sur le nombre d'octets utiles par paquet. Dans cet exemple, on considère que le nombre de paquets nécessaire pour transmettre une tranche est la partie entière supérieure de ce rapport Rps. A partir du nombre de paquets employés pour coder l'image courante (information connue par le dépaquétiseur), on obtient le nombre de tranches prévues pour l'image courante en faisant le rapport du nombre de paquets employés pour coder l'image courante sur le nombre de paquets nécessaires pour transmettre une tranche 5. A l'étape S33 on détermine un paquet identifiant le début d'une tranche 5 par l'équation SNp = SNI +k *NP afin d'obtenir le numéro de séquence SNp du paquet p identifiant la tranche k. Dans cette équation, NP est le nombre de paquets utilisés pour transmettre une tranche et SNI est le numéro de séquence du premier paquet de l'image. Lorsque l'étape de vérification S32 révèle que la stratégie de découpage utilisée est un découpage utilisant un nombre fixe de macroblocs, au cours de l'étape S34 la position des paquets identifiant le début d'une tranche est prédite. Lors de cette étape, les groupes de paquets perdus consécutivement sont analysés. Lorsqu'au moins deux paquets consécutifs sont manquants, on suppose qu'une unité fragmentée identifiant le début d'une tranche peut être comprise dans l'un de ces paquets perdus. Par exemple, le dernier des au moins deux paquets manquants est marqué comme contenant une unité fragmentée identifiant le début d'une tranche. Comme deux paquets consécutivement perdus ne contiennent pas nécessairement de marqueur de début ou de fin de tranche, le nombre de tranches détectées peut être supérieur au nombre réel des tranches par image. Afin d'obtenir une estimation du nombre de tranches détectées plus proche de la réalité, on détermine le nombre moyen de paquets utilisés pour transmettre les tranches n'ayant pas subi de pertes consécutives de paquets. Pour ce faire, on détermine le paquet identifiant le premier paquet d'une tranche (i.e. contenant un marqueur de début de tranche ou alors tel que le paquet précédent contient un marqueur de fin de tranche) ainsi que le paquet identifiant la dernière unité fragmentée de la tranche (i.e. le paquet contenant un marqueur de fin de tranche ou alors tel que le paquet suivant contienne un marqueur de début de tranche). Si, entre ces deux paquets, il n'y a pas eu de pertes consécutives de paquets, la quantité de paquets utilisée pour transmettre la tranche est égale à la différence des numéros de séquence des deux paquets à laquelle on ajoute une unité. On réitère ce procédé pour chaque tranche afin de calculer le nombre moyen de paquets utilisés pour transmettre les tranches. Selon une variante, on identifie le nombre de paquets utilisés pour coder chaque tranche de l'image précédente. Ensuite, on divise le nombre de paquets utilisés pour coder les tranches de l'image courante reçues correctement par le nombre de paquets des mêmes tranches de l'image précédente. On obtient ainsi un facteur indiquant la variation du nombre de paquets réseau utilisés pour coder les tranches entre l'image courante et l'image précédente. De ce fait, pour une tranche de l'image courante contenant des paquets manquants, on multiplie le nombre de paquets de la tranche correspondante dans l'image précédente par le facteur ainsi obtenu. Par conséquent, on obtient le nombre de paquets utilisés pour coder une tranche contenant des paquets manquants. La figure 10 illustrant plus en détail l'étape d'adaptation S9 de l'algorithme de masquage d'erreurs (figure 4) va maintenant être décrite. Dans ce mode de réalisation, l'étape d'adaptation S9 comprend une étape de comparaison S91 a de la surface d'image SMi à reconstruire de la tranche i avec un seuil T représentatif d'une limité de qualité. Ce seuil T représente une surface d'image (ou taille d'image) limite à partir de laquelle la qualité de l'algorithme de correction d'erreurs diminue. Dans cet exemple, lorsque la surface d'image SMi à reconstruire est inférieure au seuil T, c'est-à-dire que la surface d'image SMi à reconstruire est faible (surface de données décodables élevée), la qualité de l'algorithme de correction d'erreurs est acceptable. On procède à une étape S92a de masquage d'erreurs au cours de laquelle l'algorithme de masquage d'erreurs est appliqué à la tranche 5 entière. Au contraire, lorsque la surface d'image SMi à reconstruire est supérieure au seuil T, c'est-à-dire que la surface d'image SMi à reconstruire est élevée, la qualité de l'algorithme de correction d'erreurs n'est pas acceptable. On procède alors à une étape S93a dans laquelle les données utiles contenues dans les paquets précédant le premier paquet réseau perdu de la tranche sont décodées. Ensuite, l'algorithme de masquage d'erreurs est appliqué aux données utiles restantes lors d'une étape S94a de masquage d'erreurs partiel des données utiles. Ainsi, l'algorithme de masquage d'erreurs est appliqué à une partie de la tranche 5 qui correspond à la partie des données non reçues. Par conséquent, l'algorithme de masquage d'erreurs est adapté en fonction de la surface de tranche SMi à reconstruire, c'est-à-dire en fonction de l'information représentative de la qualité de reconstruction et qui a été déterminée. Ainsi, la qualité de reconstruction pour l'algorithme de masquage est optimisée. A titre d'exemple nullement limitatif, la valeur du seuil T représente 10% de la surface d'une séquence haute définition, soit 207360 pixels pour une séquence avec 1920x1080 pixels. On va maintenant décrire en référence à la figure 6b l'étape de détermination S8 d'une information représentative de la qualité de reconstruction de données perdues par une méthode de correction d'erreurs différente de celle illustrée à la figure 6a. La méthode illustrée à la figure 6b prévoit de corriger des erreurs en demandant de retransmettre des données perdues ou entachées d'erreurs. Dans cet exemple, l'information représentative de la qualité de reconstruction est fonction de l'importance de chaque paquet réseau pour le décodage. On notera que la quantité de données décodables d'une tranche dépend de la position de l'unité fragmentée perdue dans la tranche. Ainsi, la quantité de données décodables d'une tranche est différente lorsqu'un paquet réseau perdu contient la première ou la dernière unité fragmentée de la tranche. En effet, la quantité de données décodables sera inférieure dans le premier cas, c'est-à-dire lorsque le paquet réseau perdu contient la première unité fragmentée de la tranche. Ainsi, l'importance de chaque paquet pour le décodage varie selon les données contenues dans le paquet. Lors d'une étape d'estimation S84, le nombre de tranches 5 (� slices �) prévues par image 7 est estimé en fonction de la stratégie de découpage appliquée au serveur. Ensuite, lors d'une étape de détermination S85, la quantité de données pouvant être reconstruites si le paquet perdu était retransmis au client 2 est déterminée pour chaque paquet réseau perdu. Ceci permet d'associer à chaque paquet réseau perdu un niveau d'importance. Enfin, à partir des niveaux d'importance ainsi déterminés pour chaque paquet perdu, un niveau de priorité de traitement (pour la demande de retransmission) est associé à chaque paquet réseau perdu lors de l'étape S86. Ces étapes vont être décrites plus en détail en référence à la figure 11 qui illustre un second mode de réalisation de l'étape d'adaptation S9 de l'algorithme de correction d'erreurs. Dans ce mode de réalisation, il s'agit d'un algorithme de correction d'erreurs par demande de retransmission des paquets perdus. Les étapes décrites ci-après sont mises en oeuvre pour chaque paquet correspondant à une même image 7. Lors d'une première étape de sélection S91 b, un premier paquet sélectionné est obtenu et son numéro de séquence analysé. Lorsque le paquet sélectionné ne révèle pas de paquet manquant (S92b), on procède à une étape de vérification S94b consistant à vérifier si l'ensemble des paquets d'une image ont été traités. S'il existe des paquets qui n'ont pas été traités, on revient à l'étape de sélection S91 b afin de sélectionner le paquet suivant. Lorsque le paquet sélectionné à l'étape S91 b révèle qu'il existe un paquet manquant (S92b), on détermine si ce paquet perdu permet d'identifier une nouvelle tranche lors d'une étape de vérification S93b. On notera que les paquets permettant d'identifier une nouvelle 15 tranche sont déterminés lors des étapes S34 ou S33 (figure 9) en fonction de la stratégie de découpage. Si l'on détermine que le paquet perdu permet d'identifier une nouvelle tranche, on lui associe un coefficient ou critère d'importance ln (n étant par exemple le numéro de séquence) présentant une valeur supérieure à l'unité 20 (étape S96b). Si l'on détermine que le paquet perdu ne permet pas d'identifier une nouvelle tranche, on lui associe un coefficient d'importance ln de valeur égale à l'unité (S93b). Ensuite, l'importance du paquet perdu pour le décodage est déterminée lors d'une étape de calcul S95b. 25 Dans une mise en oeuvre simple, le coefficient d'importance calculé précédemment est suffisant pour déterminer l'importance du paquet pour le décodage. Dans une mise en oeuvre optimisée, l'étape S95b permet d'affiner la mesure d'importance du paquet pour le décodage de la portion d'image. 30 Comme décrit ci-dessus, on notera qu'un premier paquet manquant est plus important qu'un second paquet manquant si l'on considère qu'en cas de retransmission le premier paquet correctement reçu permet de décoder plus de données que le second paquet correctement reçu. Ainsi, à l'étape de calcul S95b on considère temporairement que le paquet perdu a été reçu de manière correcte. Ensuite, la quantité de données décodables dans la tranche 5 notée Q'Dec,i est déterminée, comme déjà décrit à l'étape S829 de la figure 8. Par conséquent, la quantité de données décodables dans la tranche d'image Q'Dec,i représente la quantité de données de la tranche 5 qui pourrait être décodée si le paquet perdu était correctement reçu par le client 2. L'étape S95b est suivie de l'étape S94b déjà décrite. Une fois que l'on vérifie à l'étape S94b que tous les paquets ont été traités, c'est-à-dire que l'importance pour le décodage a été déterminée pour l'ensemble des paquets réseau perdus d'une tranche 5, on procède à l'étape suivante S97b. Cette étape S97b consiste à déterminer la priorité de chaque paquet perdu. La priorité Pn pour un paquet n est déterminée selon l'équation suivante: = In (Q' Dec, i ûQDec,i) , dans laquelle n représente le paquet perdu, i représente la tranche 5, ln est le coefficient d'importance déterminé à l'étape S93b ou S96b, Q'Dec,i est la quantité de données décodables en considérant le paquet n comme reçu et QDec,i est la quantité de données décodables en considérant le paquet n comme non reçu. Une fois que les priorités Pn des paquets perdus ont été calculées, on sélectionne, lors de l'étape S98b, le paquet ayant la priorité Pn la plus élevée 25 et on le considère comme ayant été correctement reçu. Ensuite, lors d'une étape S99b on procède à la mise à jour des priorités. On considère que la valeur de la quantité de données décodables QDec,i est égale à la valeur de la quantité de données décodables Q'Dec,i en traitant le paquet n comme reçu. Les priorités Pn sont ainsi recalculées pour les 30 paquets perdus restants de la même image. Une fois que l'on vérifie que tous les paquets perdus d'une image ont été traités à l'étape S910b, la retransmission des paquets perdus est demandée en fonction des priorités Pn déterminées via l'envoi au serveur d'une requête de retransmission de type ARQ (� Automatic Repeat reQuest �). Dans cet exemple, le premier paquet demandé est celui avec la priorité Pn la plus élevée, c'est-à-dire celui sélectionné le premier lors de l'étape de sélection S98b. Par conséquent, si le serveur ne peut répondre favorablement à toutes les demandes de retransmission, les paquets perdus permettant de décoder une quantité plus élevée de données seront transmis en priorité. Si tous les paquets perdus n'ont pas été traités, l'étape S910b est suivie de l'étape S97b déjà décrite. La figure 12 illustre un dispositif mettant en oeuvre un procédé de correction d'erreurs conforme à l'invention, dans un mode particulier de réalisation. Le dispositif ou appareil de communication 1200 (apte à communiquer à travers un réseau) comporte une interface de communication réseau 1201 qui permet la connexion du dispositif 1200 au réseau de communication 3. L'application logicielle, lorsqu'elle est exécutée par l'unité centrale 1202, est adaptée pour traiter des requêtes par le biais de l'interface de communication réseau 1201 et fournir des flux de données par l'intermédiaire du réseau (serveur 1). Inversement, le dispositif 1200 est adapté pour transmettre des requêtes via le réseau 3 et recevoir, en réponse, un flux de données à traiter (client 2). L'interface de communication réseau 1201 est apte à recevoir des données numériques à traiter par le dispositif dans le cadre de la mise en oeuvre de l'invention. Le dispositif comporte en outre une interface d'utilisateur 1203 optionnelle pour afficher des informations à un utilisateur, et/ou recevoir des entrées de celui-ci. Le dispositif 1200 comporte également un moyen de stockage 1204 tel que par exemple un disque dur. Il peut comporter aussi un lecteur de disque. Ce disque peut être une disquette, un CD-ROM, ou un DVD-ROM, une carte mémoire ou un périphérique USB, par exemple. Le disque peut contenir des données traitées selon l'invention ainsi que le ou les programmes mettant en oeuvre l'invention qui, une fois lus par le dispositif 1200, seront stockés dans le disque dur 1204. Selon une première variante, le ou les programmes permettant au dispositif de mettre en oeuvre l'invention, pourront être stockés en mémoire morte 1205 (appelée ROM ou "Read Only Memory"). En seconde variante, le ou les programmes pourront être reçus pour être stockés de façon identique à celle décrite précédemment par l'intermédiaire du réseau de communication. Ce même dispositif peut posséder un écran permettant de visualiser les données traitées ou de servir d'interface avec l'utilisateur qui peut ainsi sélectionner d'autres données à traiter, à l'aide du clavier ou de tout autre moyen (souris, molette ou stylet par exemple). L'unité centrale 1202 (appelée UC sur le dessin) est capable d'exécuter les instructions relatives à la mise en oeuvre de l'invention, instructions stockées dans la mémoire morte 1205 ou dans les autres éléments de stockage. Par exemple, l'unité centrale exécute les étapes illustrées en figures 4 à 11 décrites. Lors de la mise sous tension, les programmes de traitement stockés dans une mémoire non volatile, par exemple la ROM 1205, sont transférés dans la mémoire vive RAM ("Random Access Memory") 1206 qui contiendra alors le code exécutable de l'invention ainsi que des registres pour mémoriser les variables nécessaires à la mise en oeuvre de l'invention. La capacité de mémoire peut être augmentée par une RAM facultative connectée à un port d'extension (non illustré). Les instructions concernant l'application logicielle peuvent en outre être chargées dans la mémoire vive RAM 1206 à partir du disque dur 1204. De manière plus générale, un moyen de stockage d'informations, lisible par un ordinateur ou par un microprocesseur, intégré ou non au dispositif, éventuellement totalement ou partiellement amovible, est adapté à mémoriser un ou plusieurs programmes dont l'exécution permet la mise en en oeuvre du procédé de correction d'erreurs selon l'invention. Une telle application logicielle, lorsqu'elle est exécutée par l'unité centrale 1202, entraine l'exécution des étapes des organigrammes/algorithmes illustrés aux figures 4 à 11. Les moyens constitutifs d'un dispositif de correction d'erreurs adapté à mettre en oeuvre le procédé de correction d'erreurs conforme à l'invention décrit ci-dessus comprennent l'unité centrale 1202, la ROM 1205, la RAM 1206 et le disque dur 1204. En particulier, l'unité centrale 1202, la ROM 1205, la RAM 1206 et le disque dur 1204 comportent notamment des moyens de détermination de la stratégie de découpage, des moyens de détermination d'une information représentative de la qualité de reconstruction de données perdues par une méthode de correction d'erreurs, et des moyens d'adaptation de la méthode de correction d'erreurs. Un dispositif comportant ces moyens est adapté à mettre en oeuvre le procédé de correction d'erreurs décrit. Un bus de communication 1207 permet la communication entre les différents éléments inclus dans le dispositif 1200 ou reliés à lui. La représentation du bus 1207 n'est pas limitative et notamment l'unité centrale 1202 est susceptible de communiquer des instructions à tout élément du dispositif 1200 directement ou par l'intermédiaire d'un autre élément du dispositif 1200. Le dispositif 1200 comporte en outre un décodeur 1208, par exemple sous la forme d'une puce standard, utilisée par l'unité centrale 1201 de manière classique à travers le bus 1207. Ce dispositif 1200 est par exemple un micro-ordinateur ou une station de travail ou un assistant numérique ou un téléphone portable ou un caméscope numérique ou un appareil photo numérique ou une caméra de vidéo surveillance (Webcam) ou un lecteur DVD ou un serveur multimédia ou un élément routeur dans un réseau. Cet appareil peut intégrer directement un capteur numérique d'images, ou être connecté à différents périphériques tels que, par exemple une caméra numérique (ou un scanner ou tout moyen d'acquisition ou de stockage d'image) reliée à une carte graphique et fournissant à l'appareil des données multimédia. L'appareil peut aussi avoir accès à des données multimédia sur un support de stockage (par exemple le disque dur 1206) ou encore recevoir, à partir d'un réseau, un flux multimédia à modifier. Ainsi, grâce à l'invention, la méthode de correction d'erreurs est optimisée en fonction de la stratégie de découpage des images en portions 5 d'image employée lors du codage du flux de donnés. Bien entendu, de nombreuses modifications peuvent être apportées à l'exemple de réalisation décrit précédemment sans sortir du cadre de l'invention. Par exemple, d'autres méthodes de correction d'erreurs peuvent être utilisées dans le procédé conforme à l'invention. REVENDICATIONS1. Procédé de correction d'erreurs dans un flux de données d'au moins une image (7) mis en oeuvre dans un dispositif de réception (2) de données, ladite au moins une image (7) étant découpée en portions d'image (5), ledit flux étant codé par portion d'image (5), et divisé en paquets de données, le procédé comportant une étape de détection (S6) d'au moins un paquet de données perdu et étant caractérisé en ce qu'il comporte les étapes suivantes: - détermination (S7) d'une stratégie de découpage de ladite au moins une image en portions d'image (5), - détermination (S8), en fonction de la stratégie de découpage déterminée, d'une information représentative de la qualité de reconstruction de données incluses dans ledit au moins un paquet perdu par une méthode de correction d'erreurs, - adaptation (S9) de ladite méthode de correction d'erreurs en fonction de l'information représentative de la qualité de reconstruction déterminée, et - application de la méthode de correction d'erreurs adaptée à l'étape d'adaptation pour reconstruire les données incluses dans ledit au moins un 20 paquet perdu. 2. Procédé selon la revendication 1, caractérisé en ce que l'information représentative de la qualité de reconstruction de données perdues est également déterminée en fonction de la quantité de données codées décodables reçues par ledit dispositif de réception. 25 3. Procédé selon la revendication 1 ou 2, caractérisé en ce que l'étape de détermination de la stratégie de découpage de ladite au moins une image en portions d'image comporte une sous-étape consistant à déterminer le nombre de sous-portions (6) d'image dans une portion d'image et le nombre d'octets contenus dans ladite portion d'image (5). 30 4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce que la stratégie de découpage utilise un nombre fixe de sous-portions (6) par portion d'image (5). 5. Procédé selon l'une des revendications 1 à 3, caractérisé en ce que la stratégie de découpage utilise un nombre d'octets fixe par portion d'image (5). 6. Procédé selon l'une des revendications précédentes, caractérisé en ce que l'étape de détermination (S8) d'une information représentative de la qualité de reconstruction de données perdues comporte les sous-étapes suivantes, qui sont mises en oeuvre pour chaque portion d'image (5) appartenant à une image (7): - évaluation (S81) de la surface (Si) de ladite portion d'image (5), -évaluation (S82) de la quantité de données décodables dans ladite portion d'image (5), et - évaluation (S83) de la surface à reconstruire (SMi) de ladite portion d'image (5) en fonction de ladite surface (Si) de ladite portion d'image et de ladite quantité de données décodables évalués. 7. Procédé selon l'une des revendications précédentes, caractérisé en ce que l'étape d'adaptation (S9) de la méthode de correction d'erreurs comporte une étape préalable de comparaison de l'information représentative de la qualité de reconstruction déterminée avec un seuil représentatif d'une limite de qualité. 8. Procédé selon la revendication 7, caractérisé en ce que le seuil représentatif d'une limite de qualité représente une surface d'image limite. 9. Procédé selon la revendication 8, caractérisé en ce que, lorsque l'information représentative de la qualité est inférieure au seuil, ladite information représentative de la qualité étant fonction de la surface à reconstruire par la méthode de correction d'erreurs, la méthode de correction d'erreurs est appliquée à la portion d'image (5) entière. 10. Procédé selon la revendication 8, caractérisé en ce que, lorsque l'information représentative de la qualité est supérieure au seuil, ladite information représentative de la qualité étant fonction de la surface à reconstruire par la méthode de correction d'erreurs, la méthode de correction d'erreurs est appliquée à une partie de la portion d'image (5). 11. Procédé selon l'une des revendications 1 à 10, caractérisé en ce que l'information représentative de la qualité de reconstruction de données perdues est fonction d'un critère d'importance de chaque paquet de données perdu. 12. Procédé selon la revendication 11, caractérisé en ce que le critère d'importance d'un paquet de données est fonction de la quantité de données décodables de ladite portion d'image lorsque ledit paquet de données perdu est correctement reçu par le dispositif de réception. 13. Procédé selon l'une des revendications 11 ou 12, caractérisé en ce qu'un niveau de priorité (Pn) de traitement est associé à chaque paquet de données perdu en fonction respectivement de l'importance desdits paquets de données perdus. 14. Procédé selon la revendication 13, caractérisé en ce que la méthode de correction d'erreurs comprend une demande de retransmission des paquets de données perdus en fonction des niveaux de priorité (Pn) associés aux paquets de données perdus. 15. Dispositif de correction d'erreurs dans un flux de données d'au moins une image (7), ladite au moins une image (7) étant découpée en portions d'image (5), ledit flux étant codé par portion d'image (5) et divisé en paquets de données, ledit dispositif comportant des moyens de réception de données, des moyens de détection (1201, 1202, 1203, 1206) d'au moins un paquet de données perdu, et étant caractérisé en ce qu'il comporte: - des moyens de détermination (1201, 1202, 1203, 1206) d'une stratégie de découpage de ladite image en portions d'image (5), - des moyens de détermination (1201, 1202, 1203, 1206), en fonction de la stratégie de découpage déterminée, d'une information représentative de la qualité de reconstruction de données incluses dans ledit au moins un paquet de données perdu par une méthode de correction d'erreurs, - des moyens d'adaptation (1201, 1202, 1203, 1206) de ladite méthode de correction d'erreurs en fonction de l'information représentative de la qualité de reconstruction déterminée, et - des moyens d'application de ladite méthode de correction d'erreurs adaptée par les moyens d'adaptation pour reconstruire les données incluses dans ledit au moins un paquet perdu. 16. Dispositif selon la revendication 15, caractérisé en ce que les moyens de détermination de la stratégie de découpage comportent des moyens adaptés à déterminer le nombre de sous-portions (6) et le nombre d'octets contenus dans ladite portion d'image (5). 17. Dispositif selon l'une des revendications 15 à 16, caractérisé en ce que les moyens de détermination d'une information représentative de la 10 qualité de reconstruction de données perdues comportent: - des moyens d'évaluation de la surface Si de ladite portion d'image (5), - des moyens d'évaluation de la quantité de données décodables dans ladite portion d'image (5), et 15 - des moyens d'évaluation de la surface à reconstruire (SMi) de ladite portion d'image (5) en fonction de ladite surface de ladite portion d'image et de ladite qualité de données décodables évalués. 20. Moyen de stockage d'informations lisible par un ordinateur ou un microprocesseur contenant des instructions d'un programme informatique, 20 caractérisé en ce qu'il est adapté à mettre en oeuvre le procédé selon l'une quelconque des revendications 1 à 14, lorsque lesdites informations sont lues par ledit ordinateur ou ledit microprocesseur. 21. Moyen de stockage d'informations selon la revendication 18, caractérisé en ce qu'il est partiellement ou totalement amovible. 25 20. Produit programme d'ordinateur chargeable dans un appareil programmable, caractérisé en ce qu'il comporte des séquences d'instructions pour mettre en oeuvre le procédé selon l'une quelconque des revendications 1 à 14, lorsque ledit produit programme d'ordinateur est chargé dans et exécuté par ledit appareil programmable. 30