Brevet FR2936925A1 — publié le 20100409

La présente invention concerne un procédé et un dispositif de décodage d'images d'une séquence d'images encodées selon un format prédictif comprenant une compensation de mouvement, avec restauration de données manquantes. L'invention se situe dans le domaine technique du traitement des séquences d'images, et plus particulièrement dans le domaine de la restauration des données manquantes, appelée également masquage d'erreurs, dans les séquences d'images. Dans un mode de réalisation, la présente invention trouve une application particulière dans un dispositif client qui reçoit d'un serveur une séquence encodée selon un format de codage prédictif, ayant subi des pertes lors de sa transmission sur un réseau de communication, tel qu'Internet ou un réseau local par exemple. Dans un format de codage prédictif, certaines images d'une séquence d'images sont codées par compensation de mouvement par rapport à une ou plusieurs autres images de la séquence, appelées alors images de référence pour la compensation de mouvement. Par exemple dans le cadre des formats de codage de type MPEG (acronyme de � Moving Picture Experts Group �), comme par exemple MPEG-4, H264, les images d'une séquence d'images sont découpées en macroblocs (MB) comme illustré sur la figure 1. Lors de l'encodage d'une image de la séquence d'images en mode prédictif (appelé également mode P), un champ de vecteurs de mouvement est défini. Pour chaque macrobloc de l'image courante lt (par exemple macrobloc 10 de la figure 1), le vecteur de mouvement V pointe vers un bloc 12 de l'image de référence notée It_1 sur la figure. On note ici que l'image de référence n'est pas nécessairement l'image qui précède immédiatement l'image courante, mais peut généralement être une autre image de la séquence. Ainsi, chaque macrobloc pourra être codé par référence à un bloc d'une image de référence de la séquence. Lors du codage, seule la différence entre le bloc courant et le bloc pointé par le vecteur de mouvement, appelée également résidu de codage, est encodée dans le train binaire. En effet, l'approximation d'une image courante obtenue à partir des vecteurs de mouvement est souvent imparfaite, d'une part à cause de la complexité des mouvements réels, et d'autre part à cause des éventuels bruits supplémentaires lors de la prise de vue (différence d'illumination par exemple). Une séquence d'images encodée est en général soit stockée sur un disque de stockage pour exploitation ultérieure, soit transmise à un dispositif client. Pour la transmission à un dispositif client, les données codées sont encapsulées dans des paquets selon un protocole réseau approprié à la transmission des données vidéo, par exemple le protocole RTP (� Real Time Protocol �). En cas de transmission sur un réseau de communication encombré, un ou plusieurs paquets réseau peuvent être perdus, ce qui correspond en général à un ensemble de macroblocs. Lorsqu'un macrobloc codé en mode prédictif est perdu, on ne dispose généralement plus ni du vecteur de mouvement, ni du résidu de codage relatifs à ce macrobloc. Néanmoins, comme les séquences d'images contiennent généralement des données visuellement corrélées, il est possible de restaurer au moins partiellement les données perdues à partir des données vidéo reçues. On connaît dans l'état de la technique diverses méthodes pour la restauration des données perdues ou corrompues dans les séquences 20 d'images, qu'on appelle méthodes de masquage d'erreurs. Une méthode connue de masquage d'erreur temporel (en anglais � temporal error concealment �) consiste à extrapoler les vecteurs de mouvement d'une image prédite reçue, appelée image de référence pour l'extrapolation ou image de référence pour le masquage, et de copier ainsi des 25 macroblocs de l'image prédite reçue dans l'image courante à reconstruire. Pour simplifier la terminologie, nous allons utiliser le terme image de référence pour une telle image de référence pour l'extrapolation ou pour le masquage dans le reste de la description. Dans la figure 1 sont représentés plusieurs macroblocs extrapolés de 30 l'image lt vers l'image It+i, en utilisant les vecteurs de mouvement qui pointent vers l'image de référence pour la compensation de mouvement Ainsi, par exemple, le vecteur V est extrapolé ce qui résulte en un vecteur V'. Le macrobloc 14 de l'image It+l peut être reconstruit à partir du macrobloc 10 de l'image It. En pratique, les macroblocs de l'image de référence pour le masquage sont copiés dans l'image courante à reconstruire en utilisant les vecteurs de mouvement dans le sens opposé. Cette méthode a l'avantage de la rapidité, et s'applique donc particulièrement bien au traitement de la vidéo en temps réel. Néanmoins, cette méthode par extrapolation de mouvement ne s'applique pas bien dans toutes les zones de la vidéo, en particulier dans les zones dites de découvrement ou de recouvrement, c'est-à-dire des zones correspondant à des objets qui objets disparaissent ou apparaissent dans la séquence d'images. La demande de brevet US20070160144 propose une amélioration de l'extrapolation de mouvement. Cette demande de brevet expose le fait que l'extrapolation de mouvement ne fournit pas une relation de un pixel de l'image courante à un pixel de l'image de référence. En effet, comme illustré schématiquement sur la figure 1, lorsque les blocs de l'image de référence alignés sur une grille de blocs sont projetés sur l'image courante selon les vecteurs de mouvement extrapolés, certains pixels de l'image courante sont atteints plusieurs fois (voir par exemple blocs 14 et 16 sur la figure 1), et d'autres ne sont pas du tout couverts. La demande de brevet US20070160144 propose une méthode pour prédire les vecteurs de mouvement des blocs perdus, à partir de l'image courante restaurée par extrapolation de mouvement de l'image de référence. Ensuite, ces vecteurs prédits sont utilisés pour la reconstruction par compensation de mouvement par rapport à l'image de référence. Néanmoins, cette méthode risque de donner de faibles résultats sur les zones de découvrement et de recouvrement, car il s'agit de zones où il y a une rupture de la cohérence de mouvement, puisqu'elles peuvent contenir des objets qui ne sont pas présents dans l'image de référence, et par conséquent ces zones ne peuvent pas être restaurées correctement par simple compensation de mouvement. De manière générale, les méthodes de masquage d'erreur temporel sont peu adaptées pour le masquage d'erreur dans les zones de recouvrement et de découvrement. On connaît d'autre part, dans l'état de la technique, une deuxième catégorie de méthodes de restauration de données manquantes ou masquage d'erreurs, celle des méthodes de masquage d'erreur de type spatial (en anglais, � spatial error concealment methods �). Dans ces méthodes, les blocs d'une image courante perdus ou corrompus sont restaurés à partir de pixels connus de cette même image courante. La méthode de masquage spatial la plus connue consiste à appliquer une interpolation à partir des valeurs des pixels disponibles du voisinage des pixels à restaurer, chaque valeur étant en général pondérée par la distance entre le pixel à reconstruire et le pixel du voisinage. Cette méthode ne donne pas de résultats visuels très satisfaisants, car elle s'apparente à un filtrage passe-bas isotropique qui apporte du flou sur les zones reconstruites. Afin d'améliorer la restauration par masquage d'erreur spatial, le brevet US5875040 propose d'utiliser seulement une sous-partie des pixels du voisinage d'un pixel perdu pour la reconstruction de ce pixel. Cette sous-partie est déterminée par une analyse des gradients de l'image courante. Une telle approche, appelée également restauration spatiale par diffusion anisotropique, améliore la qualité de la reconstruction par rapport à une méthode d'interpolation isotropique. Cependant, le coût calculatoire d'une telle méthode est élevé, ce qui la rend mal adaptée pour la restauration de vidéos, en particulier quand les données reçues sont décodées à la volée (connu sous le nom de � streaming � en terminologie anglo-saxonne). II serait utile de remédier aux inconvénients de l'état de la technique mentionné ci-dessus, en fournissant une méthode de restauration de données manquantes permettant de restaurer des parties manquantes dans une séquence d'images, suffisamment rapide pour être applicable au traitement des vidéos et permettant d'améliorer la qualité de restauration, notamment sur des zones de découvrement et de recouvrement d'une séquence d'images. A cet effet, la présente invention propose un procédé de décodage d'images d'une séquence d'images encodées selon un format prédictif à compensation de mouvement. Le procédé comporte une étape de restauration d'une partie d'une image courante à restaurer à partir de données disponibles de ladite image courante, et lesdites données disponibles de l'image courante sont déterminées en fonction d'informations de mouvement obtenues à partir d'au moins une image de référence précédant l'image courante dans la séquence d'images. Ainsi, l'invention permet de déterminer des données à utiliser pour une restauration spatiale anisotropique de manière rapide et efficace. Cette détermination est basée sur des informations de mouvement de la séquence d'images, ce qui permet de choisir les pixels à utiliser dans la restauration de manière cohérente avec le mouvement. Cette méthode donne des résultats particulièrement bons sur des zones de découvrement et de recouvrement de la séquence d'images, permettant ainsi d'améliorer la performance de reconstruction par rapport aux méthodes de l'état de la technique citées. Selon une caractéristique particulière, les images de la séquence d'images sont codées par blocs, un vecteur de mouvement étant associé à chaque bloc d'une image codée en mode prédit, et une dite image de référence est une image codée en mode prédit. Selon cette caractéristique, le procédé de décodage comporte, préalablement à l'étape de restauration, les étapes de: - extrapolation des vecteurs de mouvement d'une image de référence, et - obtention de zones de mouvement pour l'image courante à partir des vecteurs extrapolés. Ainsi, le procédé de l'invention permet de caractériser le mouvement relatif à l'image courante de la séquence d'images, en fonction du mouvement relatif à une image de référence codée préalablement à l'image courante. Avantageusement, dans l'étape d'obtention de zones de mouvement on distingue un premier type de zone de mouvement et au moins un second type de zone de mouvement, une zone de mouvement de premier type comprenant des pixels pour lesquels un seul pixel de l'image de référence peut être projeté par extrapolation et une zone de mouvement de second type comprenant des pixels pour lesquels aucun ou une pluralité de pixels de l'image de référence peuvent être projetés par extrapolation. Cette distinction permet de caractériser les zones de mouvement cohérent, ou zones de mouvement de premier type et les zones dites de recouvrement ou de découvrement, qui nécessitent un traitement particulier, qui peuvent être facilement distinguées des zones de mouvement de premier type. En effet, pour les zones de découvrement, un pixel de l'image courante n'a pas de correspondant par extrapolation à partir de l'image de référence. Pour les zones de recouvrement, plusieurs pixels de l'image de référence se projettent par extrapolation dans l'image courante, donc il n'y a pas de correspondance un à un par extrapolation entre l'image courante et l'image de référence. Selon un mode de réalisation privilégié, la restauration est appliquée à une partie de l'image courante à restaurer appartenant à une zone de mouvement prédéterminée. En particulier, la restauration est appliquée à une partie de l'image courante à restaurer formée de pixels appartenant à la zone de mouvement de second type, ce qui permet d'améliorer la restauration des pixels appartenant aux zones de mouvement de type découvrement/recouvrement pour lesquels la restauration par masquage temporel est insuffisante. Selon une caractéristique particulière, la restauration est appliquée à une partie de l'image courante à restaurer dont une dimension est supérieure à une valeur prédéterminée. En effet, sur des zones très fines, notamment sur des zones rectangulaires dont une des dimensions est de largeur très faible (par exemple égale à un pixel), qui ont peu d'impact visuel sur la qualité du résultat final, il suffit d'appliquer une méthode de restauration rapide. Selon une caractéristique avantageuse, les informations de mouvement obtenues à partir d'au moins une image de référence précédant l'image courante dans la séquence d'images sont des informations de mouvement obtenues à partir des vecteurs de mouvement de l'image de référence. Ainsi, les vecteurs de mouvement qui servent à caractériser les zones de découvrement/recouvrement sont également utilisés pour améliorer la qualité de la restauration par diffusion spatiale dans l'image courante. Selon un mode de mise en oeuvre, le procédé de décodage comporte, préalablement à la détermination des données disponibles de l'images courante, une étape d'analyse des vecteurs de mouvement de l'image de référence. Selon une caractéristique, cette étape d'analyse comprend une étape de dérivation desdits vecteurs de mouvement pour obtenir une valeur d'orientation de mouvement associé à chaque bloc de l'image courante. Selon une caractéristique particulière, l'information de mouvement utilisée pour déterminer les données disponibles de l'image courante est une valeur d'orientation de mouvement obtenue. En particulier, dans ladite étape de détermination, pour un pixel de la partie de l'image courante à restaurer, la valeur d'orientation de mouvement associée audit pixel est utilisée pour déterminer lesdites données disponibles de l'image courante. Ainsi, les pixels ou les parties de l'image courante à utiliser pour la restauration sont choisies de manière cohérente avec l'orientation du champ des vecteurs de mouvement, ce qui favorise l'utilisation de pixels qui appartiennent à un même objet en mouvement pour la restauration par diffusion spatiale orientée. Selon un mode de réalisation, l'étape de détermination des données disponibles de l'image courante comporte les étapes de : -utilisation de la valeur d'orientation de mouvement associée audit pixel pour calculer un segment de droite passant par ledit pixel ; - détermination de pixels situés aux extrémités du segment de droite et dont les valeurs décodées sont disponibles. Cette méthode de détermination des pixels disponibles de l'image courante est simple et rapide. Selon une caractéristique, les pixels déterminés dont les valeurs décodées sont disponibles appartiennent à une zone de mouvement de premier type. Ainsi, les pixels déterminés dont les valeurs sont diffusées dans la restauration spatiale sont des pixels appartenant à des zones de mouvement cohérent. Selon une caractéristique particulière de ce mode de réalisation, dans ladite étape de restauration, la valeur reconstruite associée audit pixel est calculée comme une moyenne pondérée des valeurs décodées des pixels déterminés. Ainsi, une diffusion spatiale orientée selon les valeurs d'orientation de mouvement et pondérée par exemple par la distance entre le pixel à restaurer et les pixels déterminés pour la diffusion permet d'améliorer la qualité de la restauration. En effet, une pondération par la distance entre les pixels permet de prendre en compte une corrélation escomptée entre les valeurs de luminance de ces pixels. Corrélativement, selon un deuxième aspect, la présente invention concerne un dispositif de décodage d'images d'une séquence d'images encodées selon un format prédictif comprenant une compensation de mouvement, comportant des moyens de restauration d'une partie d'une image courante à restaurer à partir de données disponibles de l'image courante, le dispositif comportant des moyens de détermination desdites données disponibles de l'image courante en fonction d'informations de mouvement obtenues à partir d'au moins une image de référence précédant l'image courante dans la séquence d'images. Les avantages de ce dispositif sont les mêmes que les avantages du procédé de décodage d'images d'une séquence d'images encodées selon un format prédictif, ils ne sont donc pas rappelés ici. Le dispositif de décodage d'images selon l'invention comporte des moyens adaptés à mettre en oeuvre toutes les caractéristiques du procédé de décodage d'images d'une séquence d'images encodées selon un format prédictif rappelées ci-dessus. Selon un troisième aspect, la présente invention propose également un programme informatique qui, lorsqu'il est exécuté par un ordinateur ou un processeur dans un dispositif de décodage d'images d'une séquence d'images encodées selon un format prédictif, amène le dispositif à réaliser le procédé de décodage d'images d'une séquence d'images encodées selon un format prédictif tel que décrit brièvement ci-dessus. Un tel programme informatique peut être porté par un support physique d'informations. Selon un quatrième aspect, la présente invention propose également un moyen de stockage d'informations, lisible 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 de réalisation, ce moyen de stockage est totalement amovible. Les caractéristiques et avantages particuliers de ce programme informatique et de ce moyen de stockage d'informations étant similaires à ceux 15 du procédé de décodage correspondant, 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, illustrée par les dessins ci-joints, dans lesquels : 20 - la figure 1, déjà décrite, illustre schématiquement la prédiction et l'extrapolation de mouvement dans un schéma de codage prédictif; - la figure 2 représente schématiquement un système de télécommunications dans lequel la présente invention est implémentée ; - la figure 3 est un bloc-diagramme d'une partie de dispositif adapté à 25 mettre en œuvre la présente invention ; - la figure 4 représente un ensemble de modules d'un dispositif apte à mettre en oeuvre l'invention ; -la figure 5 représente l'organigramme des principales étapes du traitement appliqué à une image courante selon un mode de mise en oeuvre de 30 l'invention ; - les figures 6a et 6b représentent schématiquement des cartes d'extrapolation de mouvement selon l'invention; - la figure 7 représente schématiquement une grille de vecteurs mouvement ; -la figure 8 représente schématiquement un champ de vecteurs mouvement et une carte des orientations associée, -la figure 9 représente schématiquement une mise en oeuvre d'une méthode de restauration par diffusion spatiale orientée selon l'invention, et -la figure 10 représente l'organigramme des principales étapes du traitement pour la restauration d'une partie à reconstruire Z d'une image courante selon un mode de mise en oeuvre de l'invention. La figure 2 illustre schématiquement un système de télécommunications dans lequel la présente invention trouve une application. Comme expliqué ci-dessus, la présente invention trouve une application avantageuse dans le cadre de la transmission de séquences d'images, encodées selon un format de codage prédictif à compensation de mouvement dans un dispositif serveur 100, vers un dispositif client 1000, à travers un réseau de communication à pertes 50. En particulier, dans un mode de réalisation préféré, une méthode mettant en oeuvre la présente invention peut être avantageusement mise en oeuvre par le dispositif client 1000, lors du décodage à la volée des données reçues, dans le cas où le flux vidéo subit des pertes sur le réseau de communication. Néanmoins, l'application de la présente invention n'est nullement limitée à ce scénario de mise en oeuvre. Elle s'applique en effet dans toute situation où des données vidéos encodées selon un format prédictif subissent une perte ou une corruption et où une restauration des données est nécessaire. L'utilisation des vecteurs de mouvement dans la restauration spatiale permet d'améliorer la qualité visuelle obtenue et d'alléger la charge calculatoire. La figure 3 est un bloc-diagramme d'une partie de dispositif 1000 de traitement adapté à mettre en oeuvre un mode de réalisation de la présente invention. L'appareil 1000 est par exemple un micro-ordinateur, un téléviseur, une station de travail ou un dispositif portable léger. L'appareil 1000 comporte un bus 1113 de communication auquel sont connectés : - une unité centrale 1111 de traitement, comme un microprocesseur, notée CPU ; - une mémoire morte 1107 capable de contenir des programmes informatiques afin de mettre en oeuvre l'invention, notée ROM ; - une mémoire vive 1112, notée RAM, qui, lorsque le dispositif est activé, est capable de contenir le code exécutable du procédé selon l'invention ainsi que les registres prévus pour enregistrer les variables et paramètres nécessaires à la mise en oeuvre de l'invention ; et - une interface 1102 de communication reliée au réseau 50 de communication sur lequel des données numériques sont transmises. Eventuellement, l'appareil 1000 peut également comprendre les composants suivants, inclus dans le mode de réalisation représenté sur la figure 3 : - un disque dur non-amovible 1104, capable de contenir les programmes mettant en oeuvre l'invention et les données utilisées ou produites au cours de la mise en oeuvre de l'invention ; - un lecteur 1105 de disque pour lire des données à partir d'un disque amovible 1106 ou pour écrire des données sur ledit disque ; - un écran 1109 destiné à afficher des données et / ou servant d'interface graphique, au moyen d'un clavier 1110 ou d'un autre moyen quelconque de pointage. Le bus 1113 de communication permet la communication et l'interopérabilité entre les divers éléments compris dans l'appareil 1000 ou reliés à celui-ci. La représentation du bus n'est pas limitative et, en particulier, l'unité centrale de traitement est capable de communiquer des instructions à un élément quelconque de l'appareil 1000 directement ou au moyen d'un autre élément de l'appareil 1000. Le disque amovible 1106 peut être remplacé par un support quelconque d'information approprié comme par exemple un disque compact (CD-ROM) qui pourrait être en mode lecture seule (� read-only �), un disque ZIP ou une carte mémoire et, en termes généraux, par un moyen de stockage d'informations qui peut être lu par un micro-ordinateur ou par un microprocesseur, incorporé ou non à l'appareil, éventuellement amovible et prévu pour stocker un ou plusieurs programmes dont l'exécution permet la mise en oeuvre du procédé de décodage d'images d'une séquence d'images encodée selon un format prédictif avec restauration de données manquantes. Le code exécutable permettant à l'appareil de mettre en oeuvre l'invention peut être stocké soit dans la mémoire morte 1107, soit sur le disque dur 1104, soit sur un support numérique amovible comme par exemple un disque 1106 décrit précédemment. Selon une variante, le code exécutable des programmes peut être reçu au moyen du réseau de télécommunication 50, via l'interface 1102, afin d'être stocké dans le disque dur 1104 ou un autre des moyens de stockage de l'appareil 1000 avant d'être exécuté. L'unité centrale 1111 de traitement est prévue pour contrôler et diriger l'exécution des instructions ou des parties de code logiciel du ou des programmes selon l'invention, lesdites instructions étant stockées dans l'un des moyens de stockage adaptés susmentionnés. A la mise sous tension, le ou les programmes stockés dans une mémoire non volatile, par exemple sur le disque dur 1104 ou dans la mémoire morte 1107, sont transférés dans la mémoire vive 1112, qui contient alors le code exécutable du ou des programmes selon l'invention ainsi que des registres destinés à stocker les variables et paramètres nécessaires à la mise en oeuvre de l'invention. Dans ce mode de réalisation, le dispositif est un dispositif programmable qui utilise du code exécutable pour implémenter l'invention. Alternativement, la présente invention pourrait être implémentée en hardware dans un circuit intégré spécifique à l'application (Application Specific lntegrated Circuit ou ASIC). La figure 4 représente de manière schématique un ensemble de modules implémentés par des codes exécutables dans un dispositif 1000 dans 30 un mode de réalisation de l'invention. Dans ce mode de réalisation, un flux vidéo encodé selon un format de type MPEG (par exemple H264 ou MPEG-4) est reçu dans le dispositif client 1000. Comme déjà expliqué ci-dessus, les données vidéo codées sont encapsulées dans des paquets réseau par le dispositif serveur, selon un format adapté au transport des ces données, comme par exemple le format RTP. Le dispositif 1000 comprend un module 40 qui reçoit des paquets réseau, et un module 41 qui desencapsule ces paquets, c'est à dire d'extrait les paquets contenant des données vidéo codées à partir des paquets réseau. Un module 42 détecte si des pertes sont survenues lors de la transmission sur le réseau, par exemple à partir de données contenues dans les en-têtes des paquets réseau reçus. Les données vidéo qui sont entièrement reçues sans pertes sont décodées par le module 43, de manière classique selon le format d'encodage utilisé. Il faut noter que selon les normes de codage de type MPEG, les images sont divisées en groupes de macroblocs, qui sont codés de manière indépendante et qui peuvent être encapsulés dans des paquets réseau différents. Ainsi, la perte d'un paquet réseau compromet le décodage d'une partie d'image seulement. Un module 44 de stockage mémorise des vecteurs de mouvement dans une mémoire de stockage 45 de la RAM 1112. Par exemple, si les données codées correspondant à une image lt codée en mode prédictif (P) sont entièrement reçues sans perte, elles sont décodées par le module 43. Pour chaque macrobloc de l'image It, le module de décodage extrait un vecteur de mouvement et un résidu de codage, qui sont utilisés pour reconstruire le macrobloc. Chaque vecteur de mouvement ainsi décodé est alors stocké dans la mémoire de stockage 45. En cas de détection de pertes sur une image de la séquence, dans ce mode de mise en oeuvre, un module 46 d'extrapolation de vecteurs de mouvement utilise les vecteurs de mouvement stockés dans la mémoire 45 associés à au moins une image de référence préalablement reçue. Si une image de référence en mode prédit a été entièrement reçue, alors tous les vecteurs de mouvement relatifs à cette image de référence sont stockés et peuvent être utilisés. Si une partie d'une image de référence en mode prédit a été perdue, on ne dispose pas des vecteurs de mouvement relatifs à cette partie. On peut néanmoins dans ce cas, pour la partie perdue, utiliser des vecteurs de mouvement provenant d'une autre image en mode prédit de la séquence d'images, utilisée comme seconde image de référence. Le résultat de l'extrapolation est utilisé par un module 47 d'obtention de zones de mouvement, qui fournit une carte de zones de mouvement. Un module 48 d'analyse des vecteurs de mouvement effectue le calcul d'une carte d'orientation de mouvement pour l'ensemble des macroblocs ou blocs de l'image, comme détaillé ci-après en référence aux figures 7 et 8, selon un mode de mise en oeuvre. Cette carte d'orientation de mouvement est ensuite utilisée dans un module 49 de restauration des données manquantes. Dans ce mode de mise en oeuvre, le module 49 de restauration des données manquantes applique une diffusion spatiale orientée en fonction de la carte d'orientation de mouvement, sur certaines parties de l'image qui sont à restaurer, i.e. contenant des macroblocs perdus. La figure 5 représente l'organigramme des principales étapes du traitement appliqué à une image courante faisant partie d'une séquence d'images encodée selon un format prédictif. Dans ce mode de réalisation, toutes les étapes du traitement représentées sur la figure 5 peuvent être mises en oeuvre sous forme logicielle et exécutées par l'unité centrale de traitement 1111 du dispositif 1000. Initialement, une image de la séquence d'images à décoder est reçue par le dispositif client 1000. lI est supposé ici que l'image courante d'indice temporel t=T+1, n'est pas la première image de la séquence d'images. Dans une phase antérieure d'initialisation qui n'est pas décrite en détail ici, plusieurs images de la séquence d'images sont reçues et décodées de manière classique, en supposant que ces images n'ont pas subi de pertes. En particulier, la première image de la séquence d'images reçue est nécessairement une image encodée sans référence à une autre image, qu'on appelle également mode de codage Infra. Pour mieux illustrer l'invention, le traitement est décrit pour une image courante IT+1 dans laquelle plusieurs macroblocs ont été perdus et nécessitent une restauration, une image précédente IT+1_;, codée en mode prédictif, ayant été reçue sans perte. L'image lT+1-i peut être utilisée comme image de référence pour l'extrapolation pour l'image courante. En pratique, i=1, par conséquent l'image de référence est l'image IT. Lors d'une première étape de détection de perte E500, les macroblocs perdus sont positionnés dans la grille de blocs de l'image courante, permettant de déterminer une zone spatiale à restaurer. L'étape E500 est suivie de l'étape E501 d'extrapolation de vecteurs de mouvement de l'image de référence h- vers l'image courante IT+1. Comme déjà expliqué ci-dessus en référence à la figure 1, l'extrapolation de mouvement peut être réalisée , à partir d'un vecteur de mouvement V(vx,vy) de coordonnées (vx,vy), représentant la translation entre un macrobloc d'une image en mode prédit (IT) et une image de référence pour la compensation de mouvement du passé (IT_m), pour obtenir un vecteur V' de translation entre ce macrobloc et un macrobloc d'une image suivante(IT+1). En pratique, le changement de direction est effectué par un changement de signe. La magnitude du changement dépend de la distance, en nombre d'images, entre l'image h- et l'image de référence pour la compensation de mouvement IT_ m et de la distance, en nombre d'images, entre IT et l'image courante 1T+1. Le vecteur extrapolé de V(vx,vy) est le vecteur V'(û vx x i / m,-v x i / m ). Un vecteur de mouvement peut avoir des coordonnées non entières. Dans ce cas, il convient de prendre l'arrondi fractionnaire le plus proche, selon le standard MPEG utilisé (par exemple 1/2 pixel ou 1/4 de pixel). Chaque macrobloc de l'image de référence pour l'extrapolation peut alors être projeté dans l'image IT+1, ce qui permet de construire une approximation pixels appartenant aux macroblocs perdus de l'image courante h-+1. En pratique, ces pixels peuvent être approximés une fois, plusieurs fois ou pas du tout, en fonction des recouvrements et découvrements, comme illustré déjà schématiquement dans la figure 1. La figure 6 illustre plus en détail le résultat de l'extrapolation de mouvement. La figure 6a illustre schématiquement une image IT+1 600 contenant une zone de macroblocs perdus 60, sur laquelle des macroblocs d'une image de référence h- sont projetés selon l'extrapolation de mouvement. La figure 6a illustre le fait que sur certaines zones de l'image 1-po, 61, 62, aucun pixel de l'image IT n'est projeté. Sur d'autres zones, 63, 64, 65 les pixels de l'image h sont projetés plusieurs fois. Dans cet exemple, pour la zone à restaurer 60, certains pixels, c'est- à-dire ceux appartenant aux zones 61, 62, 63, 64, 65 ne peuvent pas être reconstruits avec une bonne qualité de reconstruction par extrapolation de mouvement. Notons que dans cet exemple, l'extrapolation de mouvement a été expliquée par rapport à des macroblocs d'image. Elle s'applique de la même manière, si un macrobloc est divisé en sous-blocs, comme par exemple dans le format H264. D'une manière générale, la méthode s'applique à des blocs d'image, quelque soit leur taille. Lorsque les images d'une séquence d'images sont codées en trois plans Y, U, V, l'extrapolation s'applique indépendamment à chacun des plans. De retour à la figure 5, l'étape E510 est suivie de l'étape E520 d'obtention de zones de mouvement, mise en oeuvre par le module 47. Lors de cette étape, une image de la même résolution que l'image courante, dite � carte des zones de mouvement �, est obtenue, à partir de l'information donnée par l'extrapolation de vecteurs de mouvement. Cette carte permet de distinguer les zones de recouvrement (deux ou plus projections par extrapolation) et de découvrement (aucune projection par extrapolation) du reste de l'image. Lors de l'étape E520 on distingue entre un premier type de zone de mouvement comprenant des pixels pour lesquels un et un seul pixel de l'image de référence peut être projeté par extrapolation et au moins un second type de zone de mouvement correspondant aux zones de recouvrement et/ou de découvrement. En pratique, chaque valeur de la carte des zones de mouvement est initialisée à O. Puis, une extrapolation selon les vecteurs de mouvement, similaire à l'étape E510 est appliquée. Chaque fois qu'un pixel p' de l'image de référence pour l'extrapolation h- se projette sur un pixel p de l'image courante 1T-F1 selon un vecteur de mouvement extrapolé, la valeur de la carte de zones de mouvement à la même position que p est augmentée de 1. Au final, les pixels de la carte des zones de mouvement qui sont égaux à 1 appartiennent à un premier type de zone, qui est une zone de cohérence de mouvement, où l'extrapolation de mouvement fournit une bonne reconstruction. Les autres pixels de la carte des zones de mouvement (c'est-à-dire pixels de valeur égale à 0 ou de valeur strictement supérieure à 1) sont associés à un second type de zone, et mis à une autre valeur prédéterminée (par exemple 0, 2, 3 etc). La figure 6b illustre la carte des zones de mouvement obtenue à partir de l'exemple de la figure 6a. Les pixels non grisés appartiennent au premier type de zone de mouvement 66 et les pixels grisés appartiennent aux zones de second type (68, 680). Selon une variante, la carte de mouvement n'est calculée que pour les pixels de la zone 60 de macroblocs perdus à restaurer. De retour à la figure 5, l'étape E520 est suivie de l'étape E530 15 d'analyse de vecteurs de mouvement préalablement stockés. Les vecteurs de mouvement de l'image de référence IT, stockés dans la mémoire 45, sont analysés pour fournir une carte d'orientation de mouvement, qui contient les frontières des objets en mouvement dans la séquence. 20 Dans ce mode de mise en oeuvre, l'étape d'analyse E520 comprend une dérivation des vecteurs de mouvement associés à l'image IT. Un vecteur de mouvement étant associé soit à un macrobloc, soit à un sous-bloc, on choisit le sous-bloc de la plus petite taille (4x4 pixels ou 8x8 pixels en pratique) pour définir le pas d'échantillonnage d'une grille de vecteurs de mouvement 70 25 (illustrée à la figure 7), également appelée champ de mouvement. Il est possible que dans l'image IT, seulement certains macroblocs contiennent des sous-blocs auxquels sont associés des vecteurs de mouvement distincts. Dans ce cas, pour former une grille de vecteurs de mouvement complète, le vecteur de mouvement associé à un macrobloc 701 30 est recopié dans tous les sous-blocs 702 de ce macrobloc (par exemple vecteur Vo de la figure 7). La dérivation des vecteurs de mouvement est ensuite effectuée de la manière suivante. Pour un point V(x,y) de la grille de vecteurs de mouvement, représenté en hachuré sur la figure 7, on calcule la valeur de sa dérivée, qui est en fonction des valeurs des vecteurs de mouvement voisins, Vup de coordonnées (x-1,y), Vr;ght de coordonnées (x,y+1), Vdoyvn de coordonnées (x+1,y) et V,eft de coordonnées (x,y-1). L'orientation de la dérivée au point (x,y) de la grille de vecteurs de mouvement, notée cp(x,y), est donnée par : çp(x, y) = arctan/dVy\ (1) dVx Avec dVy = IYu, ùVdo,,II et dVx = 11V;gh, où le IIaj désigne la norme du vecteur a. En pratique, on utilise de préférence la norme L2, où si le vecteur a est défini par (ax,ay), IIa = JaT + a? L'amplitude de la dérivée au point (x,y) de la grille de vecteurs de mouvement, notée A(x,y) est donnée par : A(x, y) = dVx + dVy (2) L'amplitude traduit l'intensité de la variation du champ de mouvement. La valeur de l'amplitude est quasi nulle lorsque les vecteurs de mouvement voisins sont très proches. Si les vecteurs de mouvement Vright et Vleft sont identiques, le calcul de l'orientation selon la formule (1) est rendu impossible, car l'amplitude dVx a une valeur égale à 0. Pour considérer seulement les orientations de mouvement pertinentes, on peut comparer la valeur calculée de l'amplitude à un seuil prédéterminé. Si l'amplitude calculée est inférieure au seuil, on attribue à l'orientation une valeur prédéterminée, par exemple 90°. Alternativement, pour simplifier les calculs, seule l'orientation de la dérivée des vecteurs de mouvement est calculée et mise à une valeur prédéterminée lorsque dVx est égale à 0 Selon un mode de réalisation, on forme une carte des orientations de mouvement à partir des orientations de la dérivée de mouvement calculée en 30 chaque point de la grille de vecteurs de mouvement. La figure 8 illustre schématiquement une carte d'orientation de mouvement 82 (figure 8, partie de droite) obtenue à partir d'une grille de vecteurs de mouvement ou champ de mouvement 80 (figure 8, partie de gauche). Le champ de mouvement 80 illustre un objet avec un mouvement de translation oblique (vecteurs 800) sur un fond en mouvement horizontal (vecteurs 801). On constate que lorsque les vecteurs de mouvement voisins sont similaires ou identiques, les valeurs d'orientations sont mises à une valeur prédéterminée (820, 822), par exemple 90°, comme expliqué ci-dessus en référence à la figure 7. La carte des orientations contient des valeurs d'orientation différentes sur une zone 824, en grisé sur la figure, qu'on peut assimiler à une frontière de mouvement au niveau de laquelle les objets ont des mouvements non homogènes. De retour à la figure 5, l'étape E530 d'analyse des vecteurs de mouvement est suivie de l'étape E540 de restauration des données 15 manquantes par masquage d'erreur. Dans ce mode de réalisation, lors de l'étape de masquage d'erreur E540, les pixels qui sont situées à l'intérieur de la zone de pixels perdus 60, et pour lesquels la carte de mouvement a une valeur différente de 1, sont reconstruits par masquage spatial. La restauration spatiale est donc appliquée 20 aux pixels qui appartiennent à une zone de mouvement de second type de la carte des zones de mouvement. Pour ces pixels, une diffusion spatiale orientée est appliquée, les pixels utilisés pour cette diffusion étant déterminés en fonction d'informations de mouvement d'images de la séquence précédemment décodées, en particulier 25 la carte des orientations calculée lors de l'étape E530. Les pixels utilisés pour la diffusion sont ceux pour lesquels la carte des zones de mouvement a une valeur égale à 1, donc qui appartiennent à des zones de mouvement de premier type. La figure 10 représente l'organigramme des principales étapes du 30 traitement pour la restauration d'une partie à reconstruire Z d'une image courante IT+1 selon un mode de mise en oeuvre de l'invention. Dans ce mode de réalisation, toutes les étapes du traitement représentées sur la figure 10 peuvent être mises en oeuvre sous forme logicielle et exécutées par l'unité centrale de traitement 1111 du dispositif 1000. Le traitement prend en entrée une partie ou zone à reconstruire 5 préalablement déterminée Z, ainsi que la cartes des zones de mouvement et la carte des valeurs d'orientation préalablement calculées. Lors d'une première étape E100 d'initialisation, un premier pixel P(x,y) à reconstruire, situé aux coordonnées (x,y) de la zone à reconstruire, est sélectionné. 10 A l'étape suivante E110, on vérifie si la valeur de la carte des zones de mouvement correspondant au pixel de courant, de coordonnées (x,y), vaut 1, c'est-à-dire si le pixel se situe dans une zone de mouvement cohérent. En cas de réponse positive à l'étape E110, cette étape est suivie de l'étape E120, à laquelle un masquage d'erreur par extrapolation temporelle est 15 effectué. La valeur donnée au pixel P(x,y) est égale à la valeur de luminance associée au pixel qui se projette aux coordonnées (x,y) selon le vecteur de mouvement extrapolé de l'image précédente IT utilisée comme image de référence pour l'extrapolation. L'étape E120 est suivie de l'étape E160 décrite plus loin. 20 En cas de réponse négative à l'étape E110, on peut déduire que le pixel considéré se situe dans une zone de mouvement qui correspond à un recouvrement ou à un découvrement, ou zone de mouvement de second type. Une méthode de masquage spatial, appelée également diffusion spatiale orientée, est alors appliquée. 25 Un schéma illustrant une telle méthode pour un pixel 900 à reconstruire est représentée en figure 9. Sur cette figure, les pixels représentés en grisé sont ceux pour lesquels la carte de mouvement à une valeur différente de 1. Les pixels non grisés de l'image IT+i représentée sur la figure 9 sont des pixels disponibles et pour lesquels la carte de mouvement a une valeur égale à 30 1. Il s'agit soit de pixels dont les valeurs ont été reconstruites par décodage, soit de pixels manquants reconstruits par extrapolation temporelle. L'étape E110 est suivie dans ce cas de l'étape E130, dans laquelle une valeur d'orientation associée au pixel courant à reconstruire est obtenue. L'orientation de mouvement associée à chaque pixel est obtenue par sur-échantillonnage de la carte des orientations de mouvement obtenues par bloc de pixels lors de l'étape E530. En pratique, une valeur d'orientation est recopiée pour tous les pixels contenus dans le bloc auquel est associé le vecteur de mouvement correspondant. L'étape E130 est suivie d'une étape E140 de détermination de l'ensemble E de pixels à utiliser pour la diffusion spatiale orientée. Ces pixels sont choisis parmi les pixels disponibles, soit uniquement les pixels décodés à partir des données reçues, soit les pixels décodés à partir des données reçues et les pixels déjà reconstruits et pour lesquels la carte de mouvement a une valeur égale à 1, et en fonction de l'information de mouvement obtenue à partir d'une image de référence, en particulier de la valeur d'orientation de mouvement obtenue à partir des vecteurs de mouvement associés à l'image de référence dans ce mode de réalisation. En pratique, dans un mode de réalisation, deux pixels disponibles sont sélectionnés de la manière suivante, illustrée schématiquement en référence à la figure 9. Il est possible de calculer un segment de droite 910, à partir du pixel de départ 900 et de l'orientation de mouvement 901 associée à ce pixel. Par exemple, l'algorithme de Bresenham, bien connu de l'homme du métier, peut être utilisé. En pratique, ce segment est en fait partagé en deux sous-segments 912 et 914, chaque sous-segment ayant pour point de départ le pixel à reconstruire 900 et pour point d'arrivée le premier pixel rencontré dont la valeur est disponible, respectivement les pixels 902 et 904. Ces deux pixels 902 et 904 forment ici l'ensemble E de pixels à utiliser pour la diffusion spatiale. De retour à la figure 10, l'étape E140 est suivie de l'étape E150 de calcul de la valeur à affecter au pixel à reconstruire, à partir des valeurs des pixels de E. La valeur du pixel est sa valeur de luminance ou de chrominance. Notons P la valeur à affecter au pixel à reconstruire 900, PI la valeur du pixel 902, P2 la valeur du pixel 904, di la distance entre le pixel 900 et le pixel 902, et d2 la distance entre le pixel 900 et le pixel 904. Par exemple, le pixel à reconstruire 900 ayant les coordonnées (x,y) et le pixel 902 les coordonnées (x,, y1), la distance dl est égale à : d, = .\/(x, - x)2 +(y, - y)2 . Selon un mode de réalisation, la valeur reconstruite P du pixel à reconstruire est calculée de la manière suivante, partir des valeurs décodées des pixels déterminés : d,P,+d2P P- 2 (3) d, +d2 Alternativement, on peut utiliser des méthodes plus sophistiquées d'estimation de la valeur P, utilisant les valeurs d'orientation de mouvement fournies par l'étape d'analyse de mouvement d'une image précédemment décodée. Selon une variante, la diffusion spatiale orientée n'est pas appliquée sur les pixels qui se situent dans des zones à restaurer détectées comme zones de découvrement ou de recouvrement de largeur très fine, par exemple de largeur égale à 1 pixel, comme par exemple les zones 680 de la figure 6b. Dans ces zones, on peut par exemple appliquer une méthode de masquage d'erreur par extrapolation temporelle. Cela permet notamment d'accélérer le traitement, en appliquant une méthode plus rapide sur des zones de faible taille dont l'impact visuel peut être considéré comme négligeable. En pratique, les zones dont la largeur est inférieure à un seuil prédéterminé, par exemple égal à 2 pixels, sont assimilées à des zones de mouvement de premier type. La méthode de restauration améliorée n'est avantageusement appliquée que sur les zones dont une dimension (e.g. la largeur) est strictement supérieure à un seuil prédéterminé. L'étape E150 est ensuite suivie d'une étape E160, pour déterminer si le pixel courant est le dernier pixel à reconstruire. En cas de réponse négative, l'étape E160 est suivie de l'étape E170 à laquelle les coordonnées (x,y) sont mises à jour avec les coordonnées du pixel suivant à reconstruire. Puis les étapes E110 à E160 sont répétées. En cas de réponse positive, le traitement prend fin.5 REVENDICATIONS, 1. Procédé de décodage d'images d'une séquence d'images encodées selon un format prédictif comprenant une compensation de 5 mouvement, ledit procédé comportant une étape de restauration (E540,E150) d'une partie d'une image courante à restaurer à partir de données disponibles de ladite image courante, caractérisé en ce que lesdites données disponibles de l'image courante sont déterminées (E140) en 10 fonction d'informations de mouvement obtenues à partir d'au moins une image de référence précédant l'image courante dans la séquence d'images. 2. Procédé de décodage selon la revendication 1, dans lequel les 15 images sont codées par blocs, un vecteur de mouvement étant associé à chaque bloc d'une image codée en mode prédit, et dans lequel une dite image de référence est une image codée en mode prédit, ledit procédé comportant, préalablement à l'étape de restauration, les étapes de: -extrapolation (E510) des vecteurs de mouvement d'une dite image de 20 référence, et -obtention (E520) de zones de mouvement pour l'image courante à partir des vecteurs extrapolés. 25 3. Procédé de décodage selon la revendication 2, dans lequel dans l'étape d'obtention de zones de mouvement (E520) on distingue un premier type de zone de mouvement (66) et au moins un second type de zone de mouvement (68, 680), une zone de mouvement de premier type comprenant des pixels pour lesquels un seul pixel de l'image de référence peut être projeté 30 par extrapolation et une zone de mouvement de second type comprenant des pixels pour lesquels aucun ou une pluralité de pixels de l'image de référence peuvent être projetés par extrapolation. 4. Procédé de décodage selon la revendication 3, dans lequel ladite étape de restauration est appliquée à une partie de l'image courante à restaurer appartenant à une zone de mouvement prédéterminée. 5. Procédé de décodage selon la revendication 4, dans lequel ladite étape de restauration est appliquée à une partie de l'image courante à restaurer appartenant à une zone de mouvement de second type. 10 6. Procédé de décodage selon la revendication 5, dans lequel ladite étape de restauration est appliquée à une partie de l'image courante à restaurer dont une dimension est supérieure à une valeur prédéterminée. 7. Procédé de décodage selon l'une quelconque des revendications 2 15 à 6, dans lequel lesdites informations de mouvement obtenues à partir d'au moins une image de référence précédant l'image courante dans la séquence d'images sont des informations de mouvement obtenues à partir des vecteurs de mouvement de ladite image de référence. 20 8. Procédé de décodage selon l'une quelconques des revendications 2 à 7, comportant, préalablement à la détermination desdites données disponibles de l'image courante, une étape d'analyse (E530) des vecteurs de mouvement de ladite image de référence. 25 9. Procédé de décodage selon la revendication 8, dans lequel ladite étape d'analyse comprend une étape de dérivation desdits vecteurs de mouvement pour obtenir une valeur d'orientation de mouvement associé à chaque bloc de l'image courante. 30 10. Procédé de décodage selon la revendication 9, dans lequel une dite information de mouvement utilisée dans la détermination desdites données5 disponibles de l'image courante est une valeur d'orientation de mouvement obtenue. 11. Procédé de décodage selon la revendication 10, dans lequel , pour un pixel de la partie de l'image courante à restaurer, la valeur d'orientation de mouvement associée audit pixel est utilisée pour déterminer lesdites données disponibles de l'image courante. 12. Procédé de décodage selon la revendication 11, dans lequel ladite étape de détermination desdites données disponibles de l'image courante comporte les étapes de : -utilisation (E130) de la valeur d'orientation de mouvement associée audit pixel pour calculer un segment de droite passant par ledit pixel ; - détermination (E140) de pixels situés aux extrémités du segment de droite et dont les valeurs décodées sont disponibles. 13. Procédé de décodage selon l'une des revendications 11 ou 12 dépendant de la revendication 3, dans lequel lesdits pixels déterminés dont les valeurs décodées sont disponibles appartiennent à une zone de mouvement de premier type (66). 14. Procédé de décodage selon la revendication 12 ou 13, dans lequel dans ladite étape de restauration, la valeur reconstruite associée audit pixel est calculée (E150) comme une moyenne pondérée des valeurs décodées des pixels déterminés. 15. Dispositif de décodage d'images d'une séquence d'images encodées selon un format prédictif comprenant une compensation de mouvement, ledit dispositif comportant des moyens de restauration (49) d'une partie d'une image courante à restaurer à partir de données disponibles de l'image courante, le dispositif comportant des moyens de détermination (46, 47, 48, 49) desdites données disponibles de l'image courante en fonction d'informations de mouvement obtenues à partir d'au moins une image de référence précédant l'image courante dans la séquence d'images. 16. Programme d'ordinateur qui, lorsqu'il est exécuté par un ordinateur ou un processeur dans un dispositif de décodage d'images d'une séquence d'images, amène le dispositif à réaliser un procédé selon l'une quelconque des revendications 1 à 14. 10 17. Support d'informations, tel qu'un moyen de stockage d'informations, pouvant être lu par un ordinateur, mémorisant des instructions d'un programme informatique, caractérisé en ce qu'il est adapté à la mise en oeuvre d'un procédé de décodage d'une séquence d'images selon l'une quelconque des 15 revendications 1 à 14, lorsque lesdites instructions sont lues par ledit ordinateur.5