Brevet FR2924296A1 — publié le 20090529

L'invention est relative au traitement d'un flux de données multimédia hiérarchique transmis sur un réseau de communication avec perte et s'applique, notamment, à un flux vidéo hiérarchique. On entend par flux hiérarchique un flux numérique dont les données binaires sont organisées en plusieurs niveaux hiérarchiques. Les niveaux hiérarchiques ou � scalables � sont ordonnés de manière à ce qu'un niveau de hiérarchie dit supérieur dépende, pour sa prédiction, d'un ou de plusieurs niveaux de hiérarchie dits inférieurs. L'invention s'applique en particulier au cas du système SVC (codage vidéo à échelle variable, en anglais � Scalable Video Coding �) en cours de 15 normalisation. La future norme de compression vidéo connue sous le nom de "SVC" prévoit de fournir une représentation vidéo hiérarchique, ou "scalable", c'est-à-dire à différents niveaux évalués selon trois critères ou dimensions : le rapport signal/bruit, connu sous le nom de SNR, qui définit la qualité du codage pixel à 20 pixel, la résolution temporelle, c'est-à-dire le nombre d'images par seconde représentées par les données codées et la résolution spatiale, c'est-à-dire le nombre de pixels représentés par les données codées. La norme SVC est développée par le groupe JVT (Joint Video Team), qui réunit les experts de la compression vidéo du groupe MPEG du comité 25 ISO/IEC et les experts vidéo de l'ITU. Cette nouvelle norme reprend pour base les techniques de compression de la norme MPEG-4-AVC, également appelée H.264. Les avancées technologiques de SVC concernent principalement la scalabilité du format vidéo. En effet, ce nouveau format vidéo pourra être décodé de façon différente en fonction des possibilités du décodeur et des 30 caractéristiques du réseau. Par exemple, à partir d'une vidéo haute résolution (type SD, 704x576, 60 Hz), il sera possible de coder dans un flux binaire unique, à l'aide de deux "couches", les données comprimées de la séquence SD et celles d'une séquence au format CIF (352x288, 60 Hz). Pour décoder la résolution CIF, le décodeur ne décodera qu'une partie des informations codées dans le flux binaire. A l'inverse, il devra décoder l'intégralité du flux binaire pour restituer la version SD. Cet exemple illustre la fonctionnalité de scalabilité spatiale, c'est-à-dire la possibilité, à partir d'un flux unique, d'extraire des vidéos dont la taille des 5 images est différente. Le système de compression vidéo SVC prévoit des scalabilités dans les dimensions temporelle, spatiale et SNR (en qualité). La scalabilité temporelle est obtenue via les images B. La scalabilité SNR existe sous deux formes : la scalabilité SNR fine, 10 notée FGS, est obtenue par quantification progressive des images. La scalabilité SNR grossière ou CGS est fournie par le codage d'une couche (en anglais "layer") dans laquelle une décomposition temporelle est effectuée indépendamment de la couche inférieure, et qui est prédite depuis la couche directement inférieure. 15 Enfin, la scalabilité spatiale est obtenue par codage prédictif d'une couche dans laquelle une décomposition temporelle est effectuée indépendamment de la couche inférieure. Le codage d'une couche de raffinement spatial est similaire à celui d'une couche CGS, à ceci près qu'il sert à comprimer la séquence vidéo à un niveau de résolution supérieur par rapport à la couche inférieure. Il inclut 20 notamment une étape de sur-échantillonnage spatial dans les deux dimensions spatiales (largeur et hauteur) dans le processus de prédiction inter-couches. Lors de la transmission d'un flux vidéo hiérarchique sur un réseau non fiable, des pertes de données sont susceptibles de se produire dans les images du flux. 25 Ainsi, une ou plusieurs images d'un niveau de hiérarchie inférieur du flux peuvent être affectées par des pertes qui sont susceptibles d'aboutir, dans certains cas, à la perte d'une image complète. L'article intitulé � Frame loss error concealment for SVC � de Chen et al. / J Zhejiang Univ SCIENCE A, Zhejiang University Press, publié en collaboration 30 avec Springer-Verlag GmbH, Volume 7, Number 5 / Mai 2006 propose des algorithmes de masquage d'erreurs dans un contenu hiérarchique composé de plusieurs niveaux ou couches hiérarchiques interdépendantes. Plus particulièrement, deux méthodes de masquage d'erreurs sont proposées dans cet article : - une première méthode envisage, pour effectuer le masquage d'erreurs, d'utiliser l'information qui est disponible dans la couche hiérarchique qui a subi la perte d'information et l'on parle de masquage d'erreurs � intra-layer � ou intra-couche ; - une seconde méthode envisage, pour effectuer le masquage d'erreurs, d'utiliser l'information disponible dans une couche hiérarchique inférieure pour corriger l'information perdue dans la couche hiérarchique supérieure et l'on parle alors de masquage d'erreurs � inter-layer � ou inter-couche. De telles méthodes de masquage d'erreurs développées jusqu'à présent dans le contexte de la transmission de flux vidéo à simple définition (par exemple, définition utilisée pour la télévision) se sont révélées satisfaisantes par rapport aux exigences de qualité liées à la simple définition. Cependant, aujourd'hui, les flux vidéo à transmettre sont de plus en plus liés à des applications où la vidéo est en haute définition, comme par exemple pour 15 la télévision haute définition. Les exigences en termes de qualité sont donc plus élevées et les méthodes de masquage d'erreurs de l'art antérieur ne sont pas adaptées à cette évolution. De façon plus générale, ce besoin existe également pour les flux de 20 données multimédia (vidéo, audio...) à transmettre sur un réseau à perte. La présente invention a ainsi pour objet un procédé de traitement d'un flux de données multimédia codé selon une pluralité de niveaux hiérarchiques et transmis sur un réseau de communication avec perte, les niveaux de hiérarchie étant ordonnés de manière à ce qu'un niveau de hiérarchie dit supérieur soit codé 25 de façon dépendante d'au moins un niveau de hiérarchie dit inférieur, au moins une portion de données multimédia d'un niveau de hiérarchie inférieur ayant subi des pertes, le procédé comprenant une étape de masquage de pertes dans ladite au moins une portion de données ayant subi des pertes, caractérisé en ce qu'il comporte une étape de traitement appliquée au masquage de pertes dans ladite au 30 moins une portion de données du niveau de hiérarchie inférieur et faisant intervenir des données d'au moins un niveau de hiérarchie supérieur dépendant du niveau de hiérarchie inférieur. L'invention permet d'utiliser des données provenant de l'un des niveaux hiérarchiques supérieurs ou de plusieurs d'entre eux dans une procédure de masquage de pertes mise en oeuvre pour corriger des pertes survenues dans une ou plusieurs portions de données d'un niveau hiérarchique inférieur. On utilise ainsi ces données disponibles dans le flux transmis et qui, selon l'art antérieur, ne sont pas utilisées pour reconstituer des données manquantes dans un niveau hiérarchique inférieur. D'ailleurs, les données des niveaux supérieurs ne sont parfois même pas utilisées du tout dans la mesure où le niveau de base est entaché d'erreurs. On notera que les données ainsi utilisées sont des données fiables, c'est-à-dire qu'elles ne dépendent pas de données corrompues (perdues ou 10 erronées) pour leur interprétation. De façon générale, l'utilisation de ces données de niveau(x) hiérarchique(s) supérieur(s) permet d'améliorer la qualité du masquage d'erreurs appliqué au flux hiérarchique considéré, ce flux peut comprendre des données vidéo, des données audio... 15 On notera que les niveaux hiérarchiques considérés ne sont pas nécessairement immédiatement successifs. Par exemple, si l'on considère le niveau de base et les niveaux supérieurs 1 et 2 d'un flux hiérarchique, les données du niveau 2 peuvent être utilisées en relation avec le masquage de données perdues dans le niveau de base. 20 En outre, des données de plusieurs niveaux supérieurs peuvent servir pour masquer des erreurs dans un niveau inférieur. Plus particulièrement, le flux de données multimédia est un flux vidéo et les portions de données des niveaux de hiérarchie ordonnés sont des images. Selon un premier mode de réalisation, l'étape de traitement consiste à 25 utiliser des données dudit au moins un niveau de hiérarchie supérieur pour masquer les pertes dans ladite au moins une portion de données du niveau de hiérarchie inférieur. Ainsi, des données absentes du niveau inférieur peuvent être obtenues à partir du niveau supérieur. 30 Le masquage s'avère plus efficace qu'auparavant puisque les données de niveau(x) supérieur(s) sont plus précises que celles de niveau(x) inférieur(s) et contribuent donc à une plus grande qualité du masquage. Dans le cas d'un flux vidéo, on utilise des données d'image pour reconstituer des données manquantes d'image. Selon une caractéristique liée au flux vidéo, les données perdues de l'image comprenant un bloc de données bMb, le procédé comporte une étape de recherche du ou des blocs de données eMb associés dans l'image correspondante de niveau supérieur. Ceci permet de mieux identifier l'ensemble des données pouvant servir au masquage du bloc erroné. Selon une caractéristique dépendant de la précédente, le procédé comporte une étape de vérification, afin de vérifier si les modes de codage du ou des blocs eMb fournissent des données suffisantes pour effectuer le masquage du bloc bMb. Cette vérification a pour but d'éviter de débuter un masquage du bloc avec des données inutiles. Selon une caractéristique dépendant de la précédente, le procédé comporte une étape de masquage du bloc bMb en fonction du résultat du 15 décodage du ou des blocs eMb. Ceci permet d'accroitre la qualité du masquage d'erreur par rapport à un masquage où les blocs eMb ne sont pas pris en compte. Selon un deuxième mode de réalisation, l'étape de traitement consiste à utiliser des données dudit au moins un niveau de hiérarchie supérieur pour vérifier 20 l'efficacité de l'étape de masquage de pertes effectuée dans ladite au moins une portion de données du niveau de hiérarchie inférieur. Ainsi, grâce aux données du niveau supérieur ou des niveaux supérieurs, l'efficacité (en terme de qualité) de différentes techniques de masquage d'erreurs peut être testée, ce qui permet de sélectionner la plus performante d'entre 25 elles. On notera que la qualité s'apprécie en comparant une image originale et une image masquée (image reconstituée par masquage d'erreurs). On notera qu'il est également envisageable, selon ce deuxième mode, de vérifier l'efficacité de la technique de masquage utilisée dans le premier mode de 30 réalisation. Dans ce deuxième mode de réalisation, dans le cas d'un flux vidéo, on utilise des données descriptives et non des données d'image comme dans le premier mode. Ainsi, on utilise par exemple un ou plusieurs vecteurs de quantité de mouvement d'un niveau supérieur. Selon une caractéristique, l'étape de traitement comprend l'utilisation des données dudit au moins un niveau de hiérarchie supérieur pour vérifier 5 l'efficacité de l'étape de masquage de pertes effectuée dans ladite au moins une portion de données du niveau de hiérarchie inférieur. De ce fait, le risque lié à un masquage inadapté est diminué. Selon une caractéristique, le procédé comprend une étape de sélection d'une méthode de masquage entre un masquage temporel et un masquage spatial, 10 la sélection étant faite en fonction des données de niveau(x) hiérarchique(s) supérieur(s) disponibles et d'un critère prédéterminé. Ainsi, si plusieurs méthodes de masquage sont disponibles, on sélectionne la plus performante. Selon une caractéristique, le procédé comporte une étape de 15 détermination de la cohérence d'une méthode de masquage avec les données de niveau(x) hiérarchique(s) supérieur(s) disponibles. Ceci permet de sélectionner la méthode de masquage la plus performante parmi plusieurs. Selon une caractéristique, les données perdues de l'image comprenant 20 un bloc bMb, le procédé comprend les étapes suivantes : - détermination de la cohérence entre un ou des vecteurs de mouvement estimés du bloc de données perdues bMb et un ou des vecteurs de mouvement du ou des blocs associés dans l'image correspondante de niveau supérieur et, - en fonction du résultat de la détermination, sélection d'une méthode de 25 masquage entre un masquage temporel et un masquage spatial. La pertinence du masquage temporel peut ainsi être déterminée. Si une incohérence est trouvée, on utilise par défaut le masquage spatial. Selon une caractéristique, le procédé comprend les étapes suivantes : - masquage spatial et masquage temporel des blocs de données 30 perdues dans l'image de niveau inférieur puis reconstitution de deux images de niveau supérieur à partir des deux images de niveau inférieur obtenues par les masquages respectifs, - masquage spatial et masquage temporel respectifs des blocs de données perdues dans l'image correspondante de niveau supérieur, - comparaison entre chaque image de niveau supérieur reconstituée et chaque image de niveau supérieur obtenue par les masquages respectifs, - sélection d'une méthode de masquage en fonction de la comparaison. La méthode précédente revient à décider que, si le masquage temporel donne des résultats incohérents, le masquage spatial donnera de meilleurs résultats, ce qui n'est pourtant pas toujours le cas. La méthode ci-dessus prévoit de comparer les résultats fournis par des méthodes de masquage les uns par rapport aux autres et de sélectionner la plus performante. Selon une caractéristique, la détermination de la cohérence est effectuée entre la méthode de masquage d'un bloc de données perdues dans l'image de niveau inférieur et le mode de codage du ou des blocs de données associés dans l'image correspondante de niveau supérieur. Cette détermination ne nécessite donc pas le décodage complet du ou des blocs du niveau supérieur. Selon une caractéristique dépendant de la précédente, en cas de cohérence, le procédé comporte une étape de comparaison du mode de codage des blocs reçus voisins du bloc perdu avec le mode de codage du ou des blocs de données associés dans l'image correspondante de niveau supérieur. Ceci permet de s'assurer que le critère de cohérence est valide. En effet, s'il n'y a pas de cohérence entre les blocs voisins reçus et les blocs de données associés du niveau supérieur, il y a peu de chance pour que le bloc perdu soit cohérent avec les blocs associés. Selon une caractéristique, le procédé comporte une étape de détermination de la cohérence entre les pixels du bloc obtenu par masquage selon 25 la méthode de masquage considérée et les pixels voisins. Selon une caractéristique, le procédé comporte une étape de détermination d'un coefficient d'efficacité pour chacune des méthodes de masquage parmi une pluralité de méthodes de masquage en fonction des données de niveau(x) hiérarchique(s) supérieur(s) disponibles. 30 Cette détermination permet de comparer les différentes méthodes entre elles. L'invention a également pour objet un dispositif de traitement d'un flux de données multimédia codé selon une pluralité de niveaux hiérarchiques et transmis sur un réseau de communication avec pertes, les niveaux de hiérarchie étant ordonnés de manière à ce qu'un niveau de hiérarchie dit supérieur soit codé de façon dépendante d'au moins un niveau de hiérarchie dit inférieur, au moins une portion de données multimédia d'un niveau de hiérarchie inférieur ayant subi des pertes, le dispositif comprenant des moyens de masquage de pertes dans ladite au moins une portion de données ayant subi des pertes, caractérisé en ce qu'il comporte des moyens de traitement appliqués au masquage de pertes dans ladite au moins une portion de données du niveau de hiérarchie inférieur et faisant intervenir des données d'au moins un niveau de hiérarchie supérieur dépendant du niveau de hiérarchie inférieur. Selon une caractéristique, le flux de données multimédia est un flux vidéo et les portions de données des niveaux de hiérarchie ordonnés sont des images. Selon un premier mode de réalisation, les moyens de traitement sont aptes à utiliser des données dudit au moins un niveau de hiérarchie supérieur pour masquer les pertes dans ladite au moins une portion de données du niveau de hiérarchie inférieur. Selon un deuxième mode de réalisation, les moyens de traitement sont aptes à utiliser des données dudit au moins un niveau de hiérarchie supérieur pour vérifier l'efficacité du masquage de pertes effectué dans ladite au moins une portion de données du niveau de hiérarchie inférieur. L'invention concerne également un moyen de stockage d'informations, lisible par un ordinateur ou un microprocesseur, comportant des instructions de code d'un programme d'ordinateur pour l'exécution des étapes du procédé selon l'invention tel que celui exposé brièvement ci-dessus. L'invention vise aussi un moyen de stockage d'informations amovibles, partiellement ou totalement, lisible par un ordinateur ou un microprocesseur, comportant des instructions de code d'un programme d'ordinateur pour l'exécution des étapes du procédé selon l'invention tel que celui exposé brièvement ci-dessus. Selon encore un autre aspect, l'invention vise un programme d'ordinateur chargeable dans un appareil programmable, comportant des séquences d'instructions ou portions de code logiciel pour mettre en oeuvre des étapes du procédé selon l'invention tel que brièvement exposé ci-dessus, lorsque ledit programme d'ordinateur est chargé et exécuté sur l'appareil programmable. Les caractéristiques et avantages relatifs au dispositif selon l'invention, aux moyens de stockage d'informations et au programme d'ordinateur étant les mêmes que ceux exposés ci-dessus concernant le procédé selon l'invention, ils ne seront pas rappelés ici. D'autres caractéristiques et avantages apparaîtront au cours de la description qui va suivre, donnée uniquement à titre d'exemples non limitatifs et faite en référence aux dessins annexés, sur lesquels : - la figure 1 représente de façon schématique le traitement d'un flux de données codées. - la figure 2 est un algorithme illustrant un premier mode de réalisation du procédé selon l'invention ; - la figure 3 est un algorithme détaillant l'étape 515 de la figure 2 ; - la figure 4 est un algorithme détaillant les étapes 511, 513 et 515 de la figure 2 selon une variante de réalisation ; - la figure 5 est un algorithme général de détermination d'un coefficient d'efficacité pour les méthodes de masquage (deuxième mode de réalisation) ; - la figure 6 est un algorithme de sélection d'une méthode de masquage à partir de la détermination d'un coefficient d'efficacité pour plusieurs méthodes de masquage ; - la figure 7 est un algorithme de mise en oeuvre du principe illustré à la figure 5 ; - la figure 8 est une vue schématique générale d'un dispositif de mise en oeuvre du procédé selon l'invention. La présente invention s'intéresse au traitement d'un flux de données ou train binaire multimédia codé selon une pluralité de niveaux hiérarchiques. Les différents niveaux hiérarchiques du flux sont ordonnés de manière à ce qu'un niveau de hiérarchie appelé niveau supérieur soit codé de façon dépendante d'un ou de plusieurs niveaux hiérarchiques appelés niveaux inférieurs. Le flux est par exemple organisé en paquets de données. Dans le contexte de l'invention, un tel flux est transmis sur un réseau de communication (non représenté) avec perte. La figure 1 illustre de façon schématique le traitement d'un tel flux de données multimédia transmis sur un réseau avec perte. L'algorithme représenté sur la figure 1 est mis en oeuvre dans un système de réception et de décodage de flux codés transmis, par exemple, par un serveur distant (architecture client serveur). Il convient de noter que les différents niveaux hiérarchiques ou couches de scalabilité sont, par exemple, transmis sur des sessions réseaux différentes afin que les pertes de paquets occasionnées par la surcharge du réseau ne soient pas corrélées. L'algorithme de la figure 1 comporte une première étape 401 au cours de laquelle les différents paquets de données constituant le flux sont stockés dans des mémoires de temporisation (connues en terminologie anglosaxonne sous le terme de � buffers �). Ce stockage temporaire est très utile afin de tenir compte du fait que le temps de transmission sur le réseau de communication peut varier d'un paquet à l'autre. La temporisation est ainsi là pour permettre au plus grand nombre de paquets d'être rassemblés en un même endroit avant d'être décodés. Lorsque la phase de temporisation arrive à son terme, une deuxième étape 403 de l'algorithme est exécutée afin de détecter, de façon connue, si des pertes de paquets se sont produites lors de la transmission sur le réseau. Un tel système connu de détection de pertes utilise, par exemple, le numéro de séquence des paquets et l'indicateur temporel représentatif de l'apparition des données dans la séquence vidéo (connu en terminologie anglosaxonne sous le terme � timestamp �). Au cours de cette étape, on identifie la ou les zones du flux qui ont été 25 corrompues (pertes de données ou données erronées) et qui sont donc inutilisables. Lorsque, pour un ensemble de paquets devant être décodés ensemble, aucune perte de paquets n'a été détectée, alors l'étape suivante 405 de l'algorithme est exécutée. 30 Au cours de cette étape, un décodeur classique procède au décodage de l'ensemble des paquets de données de façon connue. L'algorithme prévoit ensuite de se repositionner à l'étape 401 afin d'attendre la réception de nouveaux paquets. En revanche, si pour l'ensemble du groupe de paquets considéré, des pertes ont été détectées dans un niveau de hiérarchie inférieur du flux, alors l'algorithme prévoit l'exécution d'une étape suivante 407. Au cours de cette étape, on procède notamment à un décodage avec 5 masquage des données codées, le masquage étant là pour reconstituer en totalité ou en partie les données manquantes ou corrompues. On notera que, pour l'exécution de cette étape, des données du ou des niveaux de hiérarchie supérieurs à celui où se sont produites les pertes (niveau de hiérarchie inférieure) sont nécessaires. 10 Les données sont utilisées en relation avec le masquage de pertes afin d'en améliorer l'efficacité. Pour ce faire, il peut donc être utile d'attendre de recevoir d'avantage de paquets que le nombre classiquement retenu pour procéder au décodage. Dans la suite de la description, on considère que le flux de données 15 multimédia est un flux vidéo et que les portions de données des niveaux hiérarchiques ordonnés qui ont subi des pertes sont des images. L'invention va être décrite dans son application au codage vidéo hiérarchique SVC. Cependant, d'autres types de codage vidéo hiérarchique sont 20 envisageables : H263+ et partie 2 de MPEG-4. Il convient toutefois de noter que l'invention s'applique également à un flux de données audio utilisant un codage hiérarchique. Deux modes de réalisation de l'invention sont envisageables afin d'améliorer l'efficacité (en terme de qualité) du masquage d'erreurs en tirant profit 25 de données de niveau(x) hiérarchique(s) dépendant(s) qui, d'habitude, ne sont pas utilisées. Ces données, même si elles ont été correctement reçues, ne sont pas utilisées dans l'art antérieur dans la mesure où elles font partie de couches d'amélioration d'une couche de base qui est, elle-même, entachée d'erreurs. 30 Selon un premier mode de réalisation, des données d'un ou de plusieurs niveaux hiérarchiques supérieurs du flux vidéo reçu sont utilisées afin de masquer les pertes dans une ou plusieurs images du niveau de hiérarchie inférieur. Selon un deuxième mode de réalisation qui sera décrit ultérieurement (notamment en référence aux figures 4 à 7), des données provenant de niveau(x) hiérarchique(s) supérieur(s) du flux reçu sont utilisées pour évaluer l'efficacité de méthode(s) de masquage donnée(s). La figure 2 représente un algorithme illustrant la mise en oeuvre du premier mode de réalisation de l'invention. Cet algorithme débute par une première étape 501 au cours de laquelle on vérifie la disponibilité de données des niveaux hiérarchiques supérieurs (couches d'amélioration). Dans le cas où aucune de ces données n'est disponible alors l'étape suivante 503 est exécutée. Au cours de cette étape, on procède à un masquage d'erreurs classique dans l'image ou les images du niveau hiérarchique inférieur. On notera que l'image ayant subi les pertes n'est pas nécessairement une image de la couche de base. Au contraire, dans l'hypothèse où des données des niveaux hiérarchiques supérieurs ont été reçues par le dispositif décodeur, alors l'algorithme prévoit de traiter tous les macro-blocs de l'image du niveau hiérarchique inférieur qui a subi des pertes aux étapes qui vont être décrites ci-après. On notera qu'un macro-bloc est un bloc de données d'images de taille définie dans le standard, par exemple SVC. Le traitement des macro-blocs de l'image commence par l'étape 505 au cours de laquelle un test est pratiqué afin de déterminer si tous les macro-blocs de l'image ont été traités. Si c'est le cas, alors l'étape suivante 506 est exécutée et l'on traite l'image suivante. Pour chaque macro-bloc de l'image du niveau de hiérarchie inférieur, noté bMb, l'étape suivante 507 prévoit de détecter, de façon connue, si des pertes ou erreurs se sont produites. Lorsqu'aucune perte n'est détectée pour ce macro-bloc, alors il est décodé de façon connue à l'étape suivante 509. Au contraire, lorsqu'une détection d'erreurs a lieu à l'étape 507 cela signifie que le macro-bloc bMb a subi des pertes en partie ou bien qu'il a été totalement perdu. Dans ce cas de figure, l'étape suivante 511 de l'algorithme prévoit de rechercher dans l'image correspondante du ou des niveaux de hiérarchie supérieurs disponibles dans le dispositif (couches d'amélioration) le ou les macroblocs associés. On identifie ainsi, dans le ou les niveaux supérieurs du flux hiérarchique, les informations en relation avec les données corrompues de niveau inférieur. En ce qui concerne le scabilité temporelle et la scabilité dite SNR, on recherche le macro-bloc localisé aux mêmes coordonnées spatiales que le macrobloc bMb perdu. En ce qui concerne la scalabilité spatiale, la recherche des blocs de données associés est effectuée en associant chaque bloc de données de taille 8 x 8 du macro-bloc bMb à un macro-bloc de l'image correspondante dans le niveau hiérarchique supérieur. Ce macro-bloc est situé aux coordonnées spatiales dépendant du rapport spatial entre les niveaux hiérarchiques. Ainsi, par exemple, lorsque le rapport spatial entre les deux niveaux hiérarchiques considérés est égal à 2, chaque bloc de taille 8 x 8 du macro-bloc bMb du niveau inférieur est associé au macro-bloc situé au double de ses coordonnées dans l'image du niveau supérieur. Si l'on considère la scalabilité spatiale avancée (connue sous l'acronyme ESS), chaque bloc du macro-bloc perdu bMb pourra correspondre à une partie d'un bloc ou d'un macro-bloc d'un niveau supérieur. En effet, lorsque le rapport entre deux niveaux (résolutions) n'est pas un nombre entier, la correspondance entre les blocs n'est pas aisée à déterminer. Dans ce cas, on applique l'algorithme de recherche de référence qui est mis en oeuvre lors de l'encodage pour l'ESS. Lorsque les données associées au bloc de données perdu bMb ne sont pas disponibles dans le ou les niveaux hiérarchiques supérieurs, alors l'étape 511 est suivi de l'étape 513 qui prévoit d'effectuer un masquage d'erreurs classique. Au contraire, si les données de niveau(x) hiérarchique(s) supérieur(s) sont disponibles, alors on passe à l'étape suivante 515. Cette étape prévoit d'utiliser les données du macro-bloc correspondant de l'image correspondante dans le niveau supérieur pour masquer les erreurs liées au macro-bloc bMb. Ce masquage sera détaillé en référence aux figures suivantes. Par souci de simplification, dans la suite de l'exposé on n'utilisera qu'un seul bloc (ex : macro-bloc) d'un seul niveau hiérarchique supérieur pour procéder au masquage dans le niveau inférieur. Toutefois, l'invention s'applique également au cas où plusieurs blocs (ex : macro-blocs) issus d'un même niveau hiérarchique supérieur ou plusieurs blocs (ex : macro-blocs) issus de niveaux hiérarchiques supérieurs différents peuvent être utilisés pour effectuer le masquage de pertes dans un niveau inférieur. À titre d'exemple, si un flux de données comporte deux niveaux de hiérarchie spatiale et que chacun de ces niveaux présente deux niveaux de hiérarchie temporelle, alors un macro-bloc perdu du niveau hiérarchique le plus inférieur peut être masqué en faisant intervenir trois macro-blocs issus de chacun des niveaux hiérarchiques supérieurs. L'algorithme de la figure 3 illustre une possibilité de mise en oeuvre du masquage selon l'invention tel que décrit par les étapes 511, 513, 515 de la figure 2. Dans cet algorithme on utilise les modes de codage ainsi que les éléments de prédictions du macro-bloc eMb du niveau supérieur (couche d'amélioration) pour masquer les erreurs présentes dans une image du niveau inférieur (couche de base). L'algorithme débute par une première étape 601 d'identification du macro-bloc eMb de l'image correspondante du niveau hiérarchique supérieur et qui correspond au macro-bloc perdu bMb du niveau hiérarchique inférieur. Il convient de noter que dans certains cas de scalabilité (par exemple scalabilité spatiale avancée ou ESS), plusieurs macro-blocs de niveaux supérieurs seront pris en compte pour effectuer le masquage d'un macro-bloc perdu dans un niveau inférieur. L'étape 601 est suivie d'une étape de vérification 603. Au cours de cette étape on vérifie si les informations associées au macro-bloc eMb du niveau supérieur sont suffisantes pour procéder au masquage d'erreurs considéré. Plus particulièrement, on vérifie si les modes de codage du macro-bloc eMb fournissent une qualité suffisante de données supplémentaires pour effectuer 30 un masquage efficace. Cette étape dépend du mode de scalabilité considéré. Par exemple, lorsqu'il est question de scalabilité temporelle, le bloc eMb appartient généralement à une image bidirectionnelle passée (respectivement à une image bidirectionnelle future) qui peut avoir comme référence l'image entachée d'erreurs. Si le bloc eMb est prédit à partir du macro-bloc perdu, c'est-à-dire que son mode de codage est dit arrière ou � backward � en terminologie anglosaxonne (respectivement si le mode de codage est dit avant ou � forward �), ou bien si le mode de codage est bidirectionnel, alors les données du macro-bloc eMb ne seront pas utilisables. De la même manière, pour les scalabilités dites SNR et spatiale, certains macro- blocs ne seront pas décodables en raison d'une certaine dépendance entre 10 les niveaux hiérarchiques. Dans l'hypothèse où les informations liées au macro-bloc eMb sont insuffisantes, c'est-à-dire que le mode de codage de ce macro-bloc ne permet pas d'estimer des données perdues du macro-bloc bMb, alors on effectue un masquage intra-niveau classique au cours de l'étape suivante 605. 15 Au contraire, lorsque les informations liées au macro-bloc eMb sont suffisantes, alors l'étape suivante 607 effectue le décodage du macro-bloc eMb. Lors de l'étape suivante 609, on procède ainsi au masquage du bloc bMb en fonction du résultat du décodage du bloc eMb, en remplaçant le bloc bMb par ce résultat. 20 La figure 4 représente un algorithme illustrant une variante de mise en oeuvre du masquage inter-niveau descendant des étapes 511, 513 et 515 de la figure 2. Cet algorithme permet d'évaluer la qualité d'un masquage et d'effectuer, en fonction des données de niveau(x) hiérarchique(s) supérieur(s) disponibles, une 25 sélection de méthodes de masquage entre par exemple un masquage temporel et un masquage spatial. Cette sélection est également faite en fonction d'un critère prédéterminé qui sera détaillé lors de la description de cet algorithme. L'algorithme débute par une étape 701 d'estimation des vecteurs de 30 mouvement du macro-bloc perdu ou erroné bMb. Pour ce faire, les vecteurs de mouvement des macro-blocs voisins du macro-bloc bMb sont utilisés et une estimation de vecteurs de mouvement du macro-bloc bMb est générée par extrapolation à partir des vecteurs de mouvement des macro-blocs voisins. Au cours de l'étape suivante 703, tout comme à l'étape 601 de la figure 3, il est prévu de récupérer le macro-bloc eMb du niveau supérieur et qui correspond au macro-bloc perdu ou erroné bMb. Au cours de l'étape suivante 705, on vérifie si les données associées au 5 macro-bloc eMb sont de qualité suffisante pour évaluer la qualité du masquage temporel du macro-bloc considéré. En effet, si ce macro-bloc est lui-même erroné, il ne sera pas utilisable. Ceci peut être le cas si ce macro-bloc dépend d'un macro-bloc perdu dans un niveau inférieur. 10 On notera qu'un masquage temporel utilise des données de codage des images disponibles courantes et précédentes et qui fournissent des informations sur l'évolution temporelle des pixels d'une image. Les vecteurs de mouvement des macro-blocs d'une image sont par exemple utilisés comme informations représentatives de l'évolution temporelle des 15 pixels. Il convient de noter que dès que le train binaire correspondant au bloc eMb est disponible ou suffisamment reconstituable, ce bloc est utilisable. Lorsqu'il est question de scalabilité temporelle, tous les macro-blocs dont le train binaire a été reçu peuvent être utilisés. 20 Cependant, cette propriété n'est pas valable pour les macro-blocs d'un niveau hiérarchique spatial ou SNR. Ceci s'explique par le fait que dans certains modes de compression du standard SVC, une majorité des données d'un macro-bloc de niveau supérieur qui sont intéressantes pour procéder à un masquage inter-niveau descendant (vecteur 25 de mouvement, mode de codage, partition de macro-bloc,...), ne sont reconstituables que si le macro-bloc bMb est disponible, ce qui n'est pas le cas ici. Les macro-blocs inutilisables sont indiqués dans le train binaire du niveau hiérarchique supérieur par la présence d'informations d'identification spécifiques telles que � base_mode_flag � et � base_mode_refinement_flag �. 30 Ainsi, lorsque l'une de ces informations est détectée dans le train binaire reçu par le dispositif, il ne sera pas possible d'évaluer la qualité du masquage temporel à partir des données récupérées du niveau supérieur (couches d'amélioration). Dans de tels cas de figure, l'étape 705 est suivie de l'étape 707 qui effectue un masquage intra-niveau temporel classique pour masquer le bloc de données perdu ou erroné bMb dans l'image de niveau inférieur. Si, au contraire, les informations associées au macro-bloc eMb du niveau hiérarchique supérieur sont suffisantes en qualité pour évaluer la qualité du masquage temporel, alors on passe à l'étape suivante 709. Au cours de cette étape, on procède à la détermination de la cohérence entre les vecteurs de mouvement du niveau supérieur liés au macro-bloc eMb et les vecteurs de mouvement du niveau inférieur liés au macro-bloc bMb. En pratique, on effectue une comparaison entre ces vecteurs de mouvement afin de vérifier s'ils sont colinéaires ou sensiblement colinéaires ou bien, au contraire, incohérents entre eux. Cette étape fait intervenir, comme critère de sélection d'une méthode de masquage, la similarité entre les vecteurs de mouvement des blocs de données en 15 correspondance dans les niveaux hiérarchiques considérés. On notera qu'au cours de l'étape 709 on simule l'étape 607 sans toutefois procéder au décodage complet. Il est possible d'évaluer la similarité des vecteurs de mouvement en prenant en compte la valeur de l'angle alpha que font entre eux les vecteurs de 20 mouvement du macro-bloc bMb et eMb. Dans le cas où l'angle alpha est supérieur à une valeur seuil delta prédéterminée, on considère que les vecteurs de mouvement sont incohérents entre eux. Il convient toutefois de noter qu'il est peu probable que les blocs bMb et 25 eMb aient des mouvements très différents. En effet, des mouvements très différents traduiraient un changement brutal du mouvement dans l'image. Dans l'hypothèse où l'angle alpha est supérieur à la valeur seuil delta, le masquage temporel risque donc de donner un résultat de mauvaise qualité et un 30 masquage spatial tel que celui de l'étape 711 lui sera préféré. Au contraire, lorsque l'angle alpha est inférieur à la valeur seuil delta, on pourra procéder à la comparaison de la norme de chacun des vecteurs de mouvement des blocs eMb et bMb. Si les normes obtenues pour chacun des vecteurs fournissent des valeurs comparables, cela signifie que les vecteurs de mouvements sont cohérents entre eux et l'on procède alors à l'exécution de l'étape 713. Au cours de cette étape on effectuera le masquage du macro-bloc 5 corrompu bMb en le remplaçant par la zone de l'image de référence pointée par le vecteur de mouvement évalué à l'étape 701. Dans l'hypothèse où les valeurs obtenues pour les normes des vecteurs de mouvement des macro-blocs eMb et bMb ne sont pas comparables, alors on procède au masquage spatial connu prévu par l'étape 711. 10 La similarité des vecteurs de mouvement des macro-blocs eMb et bMb peut également être appréciée, dans certaines circonstances, en tenant compte du mode de codage du macro-bloc eMb. Ainsi, si ce mode de codage est Intra ou Intra_BL, on peut considérer que l'encodeur n'a pas appliqué la prédiction temporelle au macro-bloc bMb. 15 En effet, généralement un encodeur procède à l'encodage d'un macrobloc Intra lorsqu'aucun macro-bloc de l'image de référence ne permet de prédire ce macro-bloc avec une erreur de prédiction suffisamment faible. Dans ces circonstances, il y a donc peu de chances qu'une méthode de masquage de pertes temporelle fournisse de bons résultats. 20 Les vecteurs de mouvement estimés lors du masquage ne peuvent donc pointer que sur un mauvais prédicteur pour le macro-bloc perdu. Les vecteurs de mouvement comparés à l'étape 709 ne sont donc pas similaires. Ainsi, dans un tel cas de figure, on procèdera à un masquage spatial 25 intra-niveau comme le prévoit l'étape suivante 711 de l'algorithme. On notera d'autres critères que la similarité des vecteurs de mouvement peuvent bien entendu être pris en considération pour décider de la méthode de masquage la plus appropriée. Dans la description qui suit, plusieurs méthodes de masquage vont être 30 évaluées en fonction des données de niveau(x) hiérarchique(s) supérieur(s) disponibles. L'évaluation de chacune de ces méthodes fournira un coefficient de confiance ou d'efficacité (en terme de qualité) qui permettra de prendre une décision afin de sélectionner la méthode de masquage la plus appropriée. La figure 5 représente un algorithme décrivant de façon générale le principe de détermination d'un tel coefficient pour chaque méthode de masquage évaluée. Cet algorithme débute par une première étape 801 au cours de laquelle 5 on vérifie si toutes les méthodes de masquage parmi les KNbMasquages méthodes de masquage disponibles ont été testées. Dans l'affirmative, l'étape suivante 803 prévoit de sélectionner une méthode de masquage en fonction d'un coefficient de confiance ou d'efficacité Ck qui lui a été préalablement attribué. 10 Au contraire, lorsque certaines méthodes de masquage n'ont pas encore été évaluées, alors l'étape suivante 805 de l'algorithme calcule, pour une méthode de masquage donnée k, les données reconstruites avec cette méthode. Au cours de l'étape suivante 807 un coefficient de confiance ou d'efficacité Ck du masquage k considéré est déterminé. 15 Ce coefficient est représentatif d'une évaluation de la méthode de masquage k par rapport à un critère prédéterminé qui, ici, s'avère être la qualité. On notera qu'on entend par qualité, la qualité visuelle d'une image et cette qualité s'apprécie en comparant une image originale avec une image reconstituée par masquage d'erreurs. Cela pourrait aussi être une mesure objective 20 de la qualité telle qu'une mesure du rapport signal sur bruit (désignée par l'acronyme PSNR signifiant en terminologie anglo-saxonne � Peak Signal to Noise Ratio �). La figure 6 est un algorithme représentant un premier exemple de mise en oeuvre du principe exposé dans l'algorithme de la figure 5 pour sélectionner une 25 méthode de masquage à partir de l'élaboration de coefficients caractérisant l'efficacité de plusieurs méthodes de masquage L'algorithme de la figure 6 débute par une première étape 901 d'identification ou de détection des macro-blocs de données perdus dans un niveau hiérarchique donné. 30 Le niveau hiérarchique en question sera qualifié par la suite de niveau hiérarchique inférieur. A l'étape suivante 903, chacun des macro-blocs entachés d'erreurs est sélectionné avant de subir un traitement particulier qui va être décrit. Parallèlement, au cours de l'étape 905 on identifie ou on détecte les macro-blocs de données corrompus (perdus ou erronés) dans le niveau hiérarchique dit supérieur. On considère ainsi que tous les macro-blocs qui pointent sur une 5 référence perdue sont à leur tour considérés comme perdus pour le niveau hiérarchique en question. L'étape suivante 907 sélectionne tour à tour chacun des macro-blocs identifiés et détectés à l'étape 905 avant qu'un traitement ne leur soit appliqué. De retour à l'étape 903, chacun des macro-blocs entaché d'erreurs subit 10 parallèlement un masquage d'erreurs spatial (étape 909a) et un masquage d'erreurs temporel (909b). Une fois les masquages d'erreurs spatial et temporel appliqués à chacun des macro-blocs perdus du niveau de base (niveau inférieur), on procède à la reconstruction du niveau d'amélioration (niveau hiérarchique supérieur) à partir du niveau de base obtenu par masquage. 15 Les étapes suivantes de l'algorithme (911a et 911b) prévoient respectivement de reconstituer l'image du niveau hiérarchique supérieur en utilisant comme références respectivement les deux versions des images du niveau inférieur obtenues par masquage de perte spatial et temporel. On obtient ainsi à l'issue des étapes respectives 911a et 911b deux 20 versions des images du niveau hiérarchique supérieur notées IY ça base et Ires base Parallèlement à ce traitement, on procède, pour chaque macro-bloc de données sélectionné à l'étape 907, à un masquage d'erreurs respectivement spatial et temporel dans le niveau hiérarchique supérieur, indépendamment du masquage effectué dans le niveau hiérarchique inférieur. 25 Les deux étapes 909c et 909d appliquent ainsi respectivement un masquage d'erreurs spatial et un masquage d'erreurs temporel à chaque macrobloc considéré. À l'issue de ces étapes, on obtient donc deux versions des images du niveau hiérarchique supérieur obtenues par masquage spatial et temporel respectivement. 30 Ces versions d'images vont servir d'éléments de comparaison afin d'évaluer la qualité du masquage spatial et du masquage temporel appliqué à l'image de niveau inférieur. Ces versions d'images sont notées Ia et rem) Ypenh enh . On procède ensuite à une comparaison entre chaque image de niveau supérieur reconstituée et chaque image de niveau supérieur obtenue par les masquages respectifs spatial et temporel. Cette comparaison correspond à l'étape 807 de l'algorithme de la figure 5 5 où l'on détermine un coefficient de confiance ou d'efficacité pour une méthode de masquage considérée. Plus particulièrement, on procède au cours de l'étape 915a qui fait suite à l'étape 911a au calcul de la norme de la différence entre l'image de niveau supérieur reconstituée à partir d'un masquage spatial d'une image d'un niveau 10 hiérarchique inférieur et l'image de niveau supérieur obtenue par un masquage spatial à l'étape 909c. Au cours de l'étape 915b, on procède au calcul de norme de la différence entre l'image de niveau supérieur reconstituée à l'étape 911a et l'image de niveau supérieur obtenue par un masquage temporel à l'étape 909d. 15 Au cours de l'étape 915c on procède au calcul de la norme de la différence entre l'image de niveau supérieur reconstituée à l'étape 911b et l'image de niveau supérieur obtenue à l'étape 909c par masquage spatial. Au cours de l'étape 915d on procède au calcul de la norme de la différence entre l'image de niveau supérieur reconstituée à l'étape 911b et l'image 20 de niveau supérieur obtenue à l'étape 909d par masquage temporel. Ce calcul de norme de la différence entre deux images se traduit par la formule suivante : (Dl//ab ù Irecbase ùIrecenh = ~j\Irecbase(x,y)ùIrecenh(x,y)) ) (x,y)e Image où a et b prennent alternativement les valeurs spa et temp et I(x, y) est 25 un pixel de l'image situé à la position (x, y). L'algorithme se poursuit par une étape 917 qui établit une comparaison entre les quatre valeurs obtenues à l'issue des étapes 915a, 915b, 915c et 915d. La comparaison de ces quatre valeurs permet d'identifier une valeur ou différence minimale entre celles-ci. 30 L'étape suivante 919 permet ainsi de sélectionner une méthode de masquage en fonction du résultat de la comparaison. Plus particulièrement, au cours de cette étape, la méthode de masquage de perte appliquée au niveau hiérarchique inférieur et ayant conduit à la différence minimale est sélectionnée. La version de l'image du niveau hiérarchique inférieur obtenue par cette méthode de masquage de pertes est conservée et éventuellement affichée. La figure 7 est un algorithme représentant un deuxième exemple de mise en oeuvre du principe illustré à la figure 5. L'exécution de l'algorithme de la figure 7 associe un coefficient de confiance ou d'efficacité pour une méthode de masquage donnée. Il convient de noter qu'une valeur de coefficient de confiance Ck élevée signifie que la méthode de masquage considérée fournit une qualité de masquage élevée. L'algorithme de la figure 7 débute par une étape 1001 d'initialisation du coefficient Ck à la valeur O. On suppose, dans la suite de l'exposé, que le macro-bloc du niveau hiérarchique supérieur, noté eMb, correspondant au macro-bloc erroné ou perdu bMb du niveau hiérarchique inférieur est disponible parmi les données reçues du serveur. L'étape suivante 1003 évalue la cohérence de la méthode de masquage 20 considérée (méthode de masquage appliquée au macro-bloc bMb) avec le mode de codage du macro-bloc eMb du niveau supérieur. Le masquage du macro-bloc de données perdues dans l'image de niveau inférieur peut être temporel ou spatial. Si la méthode de masquage considérée est une méthode de masquage 25 temporel, le macro-bloc erroné bMb est prédit à partir d'une référence (macro-bloc dans une image du niveau inférieur) pointée par des vecteurs de mouvements estimés. Si le macro-bloc du niveau supérieur eMb est un macro-bloc Intra, alors la méthode de masquage temporel et le mode de codage retenu pour le macro-bloc 30 eMb sont incohérents. Par contre, si le mode de codage du macro-bloc du niveau supérieur eMb est de type Inter ou bidirectionnel, qualifié aussi de � Bidir �, alors la méthode de masquage et le mode de codage sont semblables, c'est-à-dire cohérents. En cas de cohérence, la valeur du coefficient de confiance Ck est incrémentée de la valeur p à l'étape 1005 de l'algorithme. Cette valeur est supérieure à 1. Il convient de noter que la détermination du coefficient Ck peut être affinée en comparant les vecteurs de mouvements liés au bloc de données eMb avec les vecteurs de mouvement estimés par le masquage temporel du bloc de données erroné bMb. Lorsque les vecteurs de mouvement comparés entre eux présentent des orientations voisines et /ou des normes similaires ou, en tout cas, suffisamment proches l'une de l'autre, alors la valeur du coefficient Ck est incrémentée de la valeur p. Si la méthode de masquage est une méthode de masquage spatial et si le mode de codage du macro-bloc du niveau supérieur eMb est de type Inter ou � Bidir �, alors on considère que la méthode de masquage et le mode de codage sont incohérents. Au contraire, lorsque le mode de codage du macro-bloc eMb est de type Intra, alors on considère que la méthode de masquage et le mode de codage sont compatibles et la valeur du coefficient Ck est incrémentée de la valeur p à l'étape 1005 de l'algorithme. Afin d'affiner la détermination du coefficient, on procède à une comparaison entre l'orientation de la propagation des pixels voisins du macro-bloc bMb auquel est appliqué la méthode de masquage spatial et l'orientation de la propagation du mode de prédiction Intra du macro-bloc eMb du niveau supérieur. Lorsque ces deux orientations sont comparables ou voisines, la valeur du coefficient est une nouvelle fois incrémentée de la valeur p, confirmant ainsi le choix de cette méthode de masquage. En résumé, au cours de l'étape 1003 on confronte la méthode de masquage et le mode de codage sélectionnés respectivement pour les macro-blocs bMb et eMb. En cas de cohérence constatée, on peut alors confronter les modes de codage des macro-blocs voisins du macro-bloc erroné ou perdu bMb avec les modes de codage des macro-blocs voisins du macro-bloc eMb. Ceci s'explique par le fait qu'il existe une forte probabilité pour que les modes de codage originaux des macro-blocs bMb et eMb choisis par l'encodeur soient similaires lorsque les modes de codage des macro-blocs voisins des macro-blocs bMb et eMb sont analogues. Plus particulièrement, l'algorithme de la figure 7 comporte, après l'étape 1005, une étape 1006 au cours de laquelle on vérifie si l'ensemble des macro-blocs voisins du macro-bloc erroné ou perdu bMb a été traité par l'algorithme. Si tel n'est pas le cas, l'étape 1006 est suivie de l'étape 1007. Au cours de cette étape, on vérifie si le macro-bloc voisin du macro-bloc erroné bMb possède un mode de codage comparable à celui du macro-bloc situé à la même position spatiale dans le niveau hiérarchique supérieur. On notera que le critère de similarité ou d'équivalence appliqué lors de l'étape 1007 est par exemple l'identité du mode de codage. Dans l'affirmative, on passe à l'étape suivante 1009. Dans la négative, on revient à l'étape 1006 déjà décrite. Au cours de l'étape 1009, la valeur du coefficient de confiance Ck est incrémentée de 1 et l'on revient à l'étape 1006. Cette valeur est inférieure à la valeur p attribuée à l'étape 1003 dans la mesure où l'on donne plus d'importance à la cohérence déterminée à l'étape 1003 qu'à l'équivalence entre les modes de codage déterminée à l'étape 1007. On notera qu'en cas de hiérarchie spatiale, lors de l'étape de comparaison des modes de codage (étape 1007), plusieurs macro-blocs du niveau hiérarchique supérieur sont à considérer : il s'agit des blocs de données associés dans l'image correspondante de niveau hiérarchique supérieur. Lorsqu'aucune cohérence n'est déterminée à l'étape 1003 ou lorsque la comparaison des modes de codage des macro- blocs voisins des macro-blocs bMb et eMb est terminée pour l'ensemble des macro-blocs voisins considérés (étape 1006), la qualité du résultat du masquage est évaluée au cours des étapes suivantes 1010, 1011 et 1013. Au cours de ces étapes, on compare les pixels du macro-bloc erroné ou perdu bMb, obtenus par masquage, avec les pixels voisins. L'étape 1010 est un test permettant de vérifier si tous les pixels du macro-bloc bMb ont été traités par l'algorithme. Pour chaque pixel de la bordure interne du macro-bloc bMb obtenu par masquage (bloc masqué), on teste, au cours de l'étape suivante 1011, la continuité avec les pixels voisins du macro-bloc considéré. On détermine ainsi la cohérence entre les pixels du bloc obtenu par masquage selon la méthode de masquage considéré et les pixels voisins. Lorsque le pixel considéré du bloc masqué ne fait pas disparaître un contour présent dans les pixels voisins, ni apparaître de nouveaux contours alors on considère qu'il y a continuité entre le pixel considéré et les pixels voisins. Dans ce cas, le coefficient Ck est incrémenté de 1 à l'étape suivante 1013. Cette valeur est inférieure à la valeur p de l'étape 1005 dans la mesure où la cohérence déterminée à l'étape 1003 revêt une plus grande importance que la discontinuité mesurée lors de l'étape 1011. Si, au contraire, le pixel du bloc masqué présente une discontinuité avec les pixels voisins, alors on revient à l'étape précédente 1010 et l'on teste un 10 nouveau pixel à traiter s'il en reste. À l'issue de l'étape 1013, l'étape précédente 1010 est de nouveau exécutée s'il reste des pixels à traiter. Si le test pratiqué à l'étape 1010 est positif, alors on effectue l'étape suivante 1014 et l'on traite le bloc suivant. 15 Le traitement proposé par l'algorithme de la figure 7 permet d'évaluer l'efficacité d'une méthode de masquage donnée pour un bloc de données perdu en totalité ou en partie dans une image d'un niveau hiérarchique inférieur. L'évaluation de cette efficacité est effectuée à deux niveaux, tout d'abord, sur la méthode de masquage elle-même et, ensuite, sur le résultat du 20 masquage appliqué au macro-bloc considéré. Ce traitement permet de sélectionner la méthode de masquage qui a la plus grande probabilité d'être performante, c'est-à-dire d'offrir la plus grande qualité, compte tenu des données disponibles dans le ou les niveaux hiérarchiques supérieurs (couches d'amélioration). 25 Il convient de noter que dans la description qui précède l'estimation de l'efficacité de la méthode de masquage a été effectuée en fonction d'un critère qui est la qualité visuelle ou une mesure objective de la qualité. Toutefois, tout critère d'estimation de l'efficacité ou de la qualité de la méthode de masquage en fonction des données disponibles du ou des niveaux 30 hiérarchiques supérieurs du flux peut être utilisé. Le critère de cohérence entre les pixels du bloc obtenu par masquage selon la méthode de masquage considéré et les pixels voisins peut bien entendu être différent de celui présenté en relation avec l'algorithme de la figure 7. Selon un exemple de réalisation, le procédé de traitement d'un flux de données est mis en oeuvre sous la forme de programme(s) d'ordinateur. Ce ou ces programmes comportent une ou plusieurs séquences d'instructions dont l'exécution par un ordinateur ou, de manière plus générale, par un appareil de communication programmable, permet la mise en oeuvre des étapes du procédé en conformité avec l'invention. De manière générale, un moyen de stockage d'informations, lisible par un ordinateur ou par microprocesseur, intégré ou non à cet ordinateur, et éventuellement amovible, est adapté à mémoriser un programme apte à mettre en oeuvre ce procédé en conformité avec l'invention. Dans la figure 8, l'ordinateur ou appareil de communication 1300 qui peut être un micro-ordinateur ou station de travail, est connecté à différents périphériques, par exemple une caméra numérique 1301 pour la capture de la vidéo ou tout autre dispositif d'acquisition ou de stockage d'images, tel qu'un scanner, fournissant à l'ordinateur des vidéos à transmettre. Ces vidéos peuvent être stockées dans les moyens de stockage dont dispose l'ordinateur. On notera que le système de réception et de décodage de la figure 1 est par exemple intégré dans cet appareil 1300. L'ordinateur 1300 comporte également une interface de communication 1318 qui est reliée à un système de communication 1320, par exemple le réseau Internet, et qui est apte à transmettre et à recevoir des données numériques. L'ordinateur 1300 comporte également des moyens de stockage de données tels qu'un disque dur 1312, un lecteur de disquettes 1314 permettant d'écrire des données sur une disquette 1316 et de lire ces données. L'ordinateur peut également comporter un lecteur de compact disques (CDROM ou DVDROM) non représenté, sur lequel peuvent être stockées les vidéos ainsi qu'un lecteur de cartes informatiques (PC-GARD) non représenté. Les codes exécutables du ou des programmes permettant de mettre en oeuvre les différentes parties de l'invention sont, par exemple, mémorisées dans le 30 disque dur 1312. Selon une variante de réalisation, les codes exécutables de ces programmes sont stockés dans une mémoire ROM (� Read Only Memory �) 1304 de l'ordinateur. L'ordinateur 1300 comporte en outre un écran 1308 permettant de visualiser les vidéos et un dispositif de pointage (non représenté), tel qu'une souris ou un crayon optique, et/ou un clavier 1310 de manière à pouvoir interagir avec le programme. L'ordinateur comporte une unité centrale de traitement (CPU) 1303, par exemple un microprocesseur, qui commande et dirige l'exécution des instructions du (ou des) programme(s) de l'invention stocké(s) dans la mémoire ROM 304 ou dans le disque dur 1312. L'ordinateur 1300 comporte également une mémoire RAM (� Random 10 Access Memory �) 1306. Cette dernière comporte des registres pour mémoriser les variables créées et modifiées pendant l'exécution du ou des programmes selon l'invention, notamment les variables mentionnées plus haut dans l'exposé, en relation avec les figures 2 à 7. 15 L'appareil de communication programmable 1300 (serveur) comporte tous les moyens nécessaires à la mise en oeuvre de l'invention pour traiter des données (par exemple vidéo), décoder des données, afficher des données (par exemple vidéo)... REVENDICATIONS 1. Procédé de traitement d'un flux de données multimédia codé selon une pluralité de niveaux hiérarchiques et transmis sur un réseau de communication avec perte, les niveaux de hiérarchie étant ordonnés de manière à ce qu'un niveau de hiérarchie dit supérieur soit codé de façon dépendante d'au moins un niveau de hiérarchie dit inférieur, au moins une portion de données multimédia d'un niveau de hiérarchie inférieur ayant subi des pertes, le procédé comprenant une étape (515) de masquage de pertes dans ladite au moins une portion de données ayant subi des pertes, caractérisé en ce qu'il comporte une étape de traitement appliquée au masquage de pertes dans ladite au moins une portion de données du niveau de hiérarchie inférieur et faisant intervenir des données d'au moins un niveau de hiérarchie supérieur dépendant du niveau de hiérarchie inférieur. 2. Procédé selon la revendication 1, caractérisé en ce que le flux de 15 données multimédia est un flux vidéo et les portions de données des niveaux de hiérarchie ordonnés sont des images. 3. Procédé selon la revendication 1 ou 2, caractérisé en ce que l'étape de traitement comprend l'utilisation des données dudit au moins un niveau de hiérarchie supérieur pour masquer les pertes dans ladite au moins une portion de 20 données du niveau de hiérarchie inférieur. 4. Procédé selon l'une des revendications 2 et 3, caractérisé en ce que les données perdues de l'image comprenant un bloc de données (bMb), le procédé comporte une étape de recherche du ou des blocs de données (eMb) associés dans l'image correspondante de niveau supérieur. 25 5. Procédé selon la revendication 4, caractérisé en ce qu'il comporte une étape de vérification, afin de vérifier si les modes de codage du ou des blocs (eMb) fournissent des données suffisantes pour effectuer le masquage du bloc (bMb). 6. Procédé selon la revendication 5, caractérisé en ce qu'en cas de vérification positive, le procédé comporte une étape de masquage du bloc (bMb) en 30 fonction du résultat du décodage du ou des blocs (eMb). 7. Procédé selon l'une des revendications 1 à 6, caractérisé en ce que l'étape de traitement comprend l'utilisation des données dudit au moins un niveau de hiérarchie supérieur pour vérifier l'efficacité de l'étape de masquage de perteseffectuée dans ladite au moins une portion de données du niveau de hiérarchie inférieur. 8. Procédé selon l'une des revendications 1 à 7, caractérisé en ce qu'il comprend une étape de sélection d'une méthode de masquage entre un masquage temporel et un masquage spatial ,la sélection étant faite en fonction des données de niveau(x) hiérarchique(s) supérieur(s) disponibles et d'un critère prédéterminé. 9. Procédé selon la revendication 8, caractérisé en ce qu'il comporte une étape de détermination de la cohérence d'une méthode de masquage avec les données de niveau(x) hiérarchique(s) supérieur(s) disponibles. 10. Procédé selon les revendications 2 et 9, caractérisé en ce que les données perdues de l'image comprenant un bloc (bMb), le procédé comprend les étapes suivantes : - détermination de la cohérence entre un ou des vecteurs de mouvement estimés du bloc de données perdues (bMb) et un ou des vecteurs de mouvement du ou des blocs associés dans l'image correspondante de niveau supérieur et, - en fonction du résultat de la détermination, sélection d'une méthode de masquage entre un masquage temporel et un masquage spatial. 11. Procédé selon la revendication 2 et l'une des revendications 8 à 10, caractérisé en ce qu'il comprend les étapes suivantes : - masquage spatial et masquage temporel des blocs de données perdues dans l'image de niveau inférieur puis reconstitution de deux images de niveau supérieur à partir des deux images de niveau inférieur obtenues par les masquages respectifs, - masquage spatial et masquage temporel respectifs des blocs de 25 données perdues dans l'image correspondante de niveau supérieur, - comparaison entre chaque image de niveau supérieur reconstituée et chaque image de niveau supérieur obtenue par les masquages respectifs, - sélection d'une méthode de masquage en fonction de la comparaison. 12. Procédé selon l'une des revendications 9 à 10, caractérisé en ce que 30 la détermination de la cohérence est effectuée entre la méthode de masquage d'un bloc de données perdues dans l'image de niveau inférieur et le mode de codage du ou des blocs de données associés dans l'image correspondante de niveau supérieur. 13. Procédé selon la revendication 12, caractérisé en ce que, en cas de cohérence, le procédé comporte une étape de comparaison du mode de codage des blocs reçus voisins du bloc perdu avec le mode de codage du ou des blocs de données associés dans l'image correspondante de niveau supérieur. 14. Procédé selon la revendication 13, caractérisé en ce qu'il comporte une étape de détermination de la cohérence entre les pixels du bloc obtenu par masquage selon la méthode de masquage considérée et les pixels voisins. 15. Procédé selon l'une des revendications 7 à 14, caractérisé en ce qu'il comporte une étape de détermination d'un coefficient d'efficacité pour chacune des méthodes de masquage parmi une pluralité de méthodes de masquage en fonction des données de niveau(x) hiérarchique(s) supérieur(s) disponibles. 16. Dispositif de traitement d'un flux de données multimédia codé selon une pluralité de niveaux hiérarchiques et transmis sur un réseau de communication avec perte, les niveaux de hiérarchie étant ordonnés de manière à ce qu'un niveau de hiérarchie dit supérieur soit codé de façon dépendante d'au moins un niveau de hiérarchie dit inférieur, au moins une portion de données multimédia d'un niveau de hiérarchie inférieur ayant subi des pertes, le dispositif comprenant des moyens de masquage de pertes dans ladite au moins une portion de données ayant subi des pertes, caractérisé en ce qu'il comporte des moyens de traitement appliqués au masquage de pertes dans ladite au moins une portion de données du niveau de hiérarchie inférieur et faisant intervenir des données d'au moins un niveau de hiérarchie supérieur dépendant du niveau de hiérarchie inférieur. 17. Dispositif selon la revendication 16, caractérisé en ce que le flux de données multimédia est un flux vidéo et les portions de données des niveaux de 25 hiérarchie ordonnés sont des images. 18. Dispositif selon la revendication 16 ou 17, caractérisé en ce que les moyens de traitement sont aptes à utiliser des données dudit au moins un niveau de hiérarchie supérieur pour masquer les pertes dans ladite au moins une portion de données du niveau de hiérarchie inférieur. 30 19. Dispositif selon l'une des revendications 16 à 18, caractérisé en ce que les moyens de traitement sont aptes à utiliser des données dudit au moins un niveau de hiérarchie supérieur pour vérifier l'efficacité du masquage de pertes effectué dans ladite au moins une portion de données du niveau de hiérarchie inférieur. 20. Moyen de stockage d'informations, lisible par un ordinateur ou un microprocesseur comportant des instructions de code d'un programme d'ordinateur pour l'exécution des étapes du procédé selon l'une des revendications 1 à 15. 21. Programme d'ordinateur chargeable dans un appareil programmable, comportant des séquences d'instructions ou portions de code logiciel pour mettre en oeuvre des étapes du procédé selon l'une des revendications 1 à 15, lorsque ledit programme d'ordinateur est chargé et exécuté par l'appareil programmable.