PROCEDE DE CALCUL D ' AU MOINS UNE IMAGE INTERPOLEE ENTRE DEUX IMAGES D ' UNE SEQUE NCE VIDEO
Le domaine de l'invention est celui du codage et/ou du décodage de 5 séquences animées d'images. Plus précisément, l'invention concerne la construction d'une ou plusieurs image(s) interpolée(s) entre deux images données d'une séquence animée.
L'invention trouve des applications dans tous les domaines de l'imagerie et du traitement de l'image. On peut citer, à titre d'exemples, et de manière non 10 restrictive : le codage et/ou le décodage vidéo, notamment en vue d'améliorer les performances d'un codeur/décodeur du type MPEG4 ou H263+ par exemple, ou de tout autre codeur/décodeur vidéo ; l'imagerie médicale ; 15 - le suivi d'objets en mouvement ; la conversion de standards, telle que la conversion PAL/NTSC par exemple.
L'invention s'applique notamment, mais non exclusivement, à l'interpolation temporelle de trames et/ou au codage bidirectionnel de séquences 20 vidéo, en vue de pallier notamment les problèmes de saturation de bande passante et d'adaptabilité à des terminaux de natures variées.
En effet, un des objectifs principaux des opérateurs du domaine de la vidéo est désormais de permettre à un utilisateur de visualiser des séquences animées de qualité satisfaisante, et notamment dans lesquelles les images successives 25 s'enchaînent de manière fluide. Or, le problème de la fluidité des séquences vidéo est fortement dépendant de celui de la saturation des réseaux de transmission et de la capacité (notamment de stockage) des terminaux de visualisation dont dispose l'utilisateur.
Afin de satisfaire les requêtes des utilisateurs, et de pallier les problèmes 30 de saturation de bande passante, il est donc nécessaire de produire des flux vidéos
couvrant une large gamme de débits. Cependant, les séquences vidéo transmises à bas ou à moyen débit apparaissent généralement saccadées au moment de leur visualisation.
On a donc envisagé de mettre en œuvre une interpolation de fréquence trame lors du décodage des trains binaires transmis, et/ou un stockage d'informations supplémentaires lors du codage en mode bidirectionnel, afin de générer des séquences vidéo plus fluides, en fonction du terminal de visualisation, du réseau de transmission et/ou d'une requête d'un utilisateur.
Différentes techniques d'interpolation de fréquence, reposant sur l'estimation d'un champ de mouvement, ont été envisagées, mais aucune à ce jour ne présente de performances satisfaisantes.
On rappelle que le mouvement entre deux images d'une séquence se définit comme un vecteur à deux dimensions caractérisant la différence de positions entre un point d'une image et le point homologue de l'autre image, sous l'hypothèse que ces points correspondent au même point physique dans chacune des deux images. L'attribution d'un vecteur déplacement à chaque point de l'image, ou pixel, définit donc un champ dense de mouvement sur l'image, encore appelé flot optique.
Les méthodes d'estimation de champ de mouvement utilisées pour l'interpolation de fréquence trame sont de deux types : - les méthodes énumératives, dites encore de mise en correspondance ; les méthodes différentielles.
Les méthodes énumératives reposent sur un découpage du domaine d'une image en régions de taille finie, par partitionnement régulier ou adapté. On définit ensuite un modèle de mouvement, qui peut être, par exemple, affine, translationnel, polynomial, etc. et on procède par itérations successives, en appliquant un ensemble de valeurs distinctes, comprises dans un intervalle prédéterminé, aux paramètres de ce modèle.
Les méthodes différentielles consistent, quant à elles, à estimer un champ dense de mouvement, en attribuant un vecteur de mouvement à chaque pixel de l'image considérée. Elles mettent en œuvre, d'une part, des méthodes de calcul
différentiel, et d'autre part, des techniques d'optimisation, reposant par exemple sur les descentes de gradient. Parmi ces méthodes, on peut notamment citer les méthodes fondées sur l'équation du flot optique, les méthodes pel-récursives (en anglais, "Physical Picture Elément", élément d'image physique), les méthodes paramétriques ou les estimateurs robustes par exemple.
De nombreux travaux ont été entrepris pour améliorer les techniques d'interpolation d'images existantes. Parmi ceux-ci, on peut citer la méthode proposée par Ciro CAFFORIO et Fabio ROCCA ("Motion Compensation Image Interpolation", "Interpolation d'image par compensation de mouvement", IEEE Transactions on communications, Vol. 38, 2, Feb. 90), consistant à utiliser un estimateur pel-récursif pour la compensation de mouvement.
On rappelle que les méthodes pel-récursives procèdent par prédiction- correction des vecteurs de mouvement associés à chacun des pixels choisis d'une image, selon un sens de parcours prédéterminé. La prédiction peut reposer sur la valeur du vecteur de mouvement du pixel précédent, ou sur une combinaison linéaire des vecteurs de mouvement des pixels voisins du pixel considéré. La correction est ensuite fondée sur une minimisation de la DFD (Displacement Frame Différence, en français "Différence inter images") par une méthode de descente du gradient. Un inconvénient de cette technique de l'art antérieur est que l'algorithme mis en œuvre par CAFFORIO et ROCCA souffre d'une forte interaction entre les directions récursives et la direction du déplacement à estimer.
Pour pallier cet effet, on a envisagé d'utiliser 4 directions récursives distinctes. On a ainsi obtenu une minimisation des effets perturbateurs, mais cette technique reste cependant insuffisamment performante.
Jack NIEWEGLOWSKI a proposé une méthode reposant sur l'utilisation d'une transformation géométrique, combinée à une technique dite de "block matching" (en français, compression par répétition de zones) améliorée ("Motion Compensated Video Interpolation Using Digital Image arping", (en français
"Interpolation vidéo à compensation de mouvement mettant en œuvre une déformation d'image numérique"), IEEE ICASSP'94).
Une telle méthode permet de prendre en compte les changements d'échelle mais présente l'inconvénient d'être peu robuste, en raison d'une décorrélation de la transformation géométrique et de la compression par répétition de zones.
Q. WANG et L.J. CLARK ont ensuite envisagé de mettre en œuvre un algorithme paramétrique, reposant sur la modélisation du mouvement d'une région quelconque d'une image par un modèle défini a priori ("Motion Estimation and Compensation for Image Séquence Coding", en français "Estimation et compensation de mouvement pour le codage de séquences d'images", Signal Processing : Image Communication, Vol.4, No. 2, April 92, pp. 161-174).
Un inconvénient de cette technique de l'art antérieur est qu'elle n'est pas adaptée à l'estimation des régions de fort mouvement.
Pour pallier les différents problèmes rencontrés par ces techniques d'estimation de mouvement, on a également proposé de mettre en œuvre des algorithmes d'estimation de mouvement hiérarchiques, tels que ceux décrits par L. Bόrocsky et P. Csillag ("Multiresolution Motion Field Estimation for Wavelet Video Coding and Frame Interpolation", en français "Estimation de champ de mouvement multiresolution pour le codage d'ondelettes vidéo et l'interpolation de trames", Final Workshop, Vigo, Spain, Oct. 94, pp. 163-166).
De tels algorithmes d'estimation de mouvement hiérarchique, comme les méthodes d'estimation de mouvement de l'art antérieur décrites ci-dessus, se heurtent au problème de la détection des zones d'occlusion (zones de tassement, d'occultation, ou de découvrement du maillage) au sein des images de la séquence vidéo considérée. En effet, lorsque différents plans et objets se recouvrent dans une scène, des zones d'occlusion apparaissent, générant des lignes de discontinuité au sein du maillage associé à l'image.
La technique la plus couramment utilisée pour gérer l'apparition et ou la disparition de zones d'occlusion au sein d'une image est l'utilisation du lancer de
rayon. Une telle technique consiste à associer, à chacun des pixels constitutifs de l'image, une étiquette relative au vecteur de mouvement associé à ce pixel.
Ainsi, un pixel recevant au moins deux vecteurs de mouvement porte l'étiquette "occlusion", ce qui signifie qu'il couvre au moins deux pixels présents dans l'image précédente de la séquence. Un pixel recevant un unique vecteur de mouvement porte l'étiquette "normal", indiquant ainsi qu'il est présent dans l'image précédente et dans l'image courante. Enfin, un pixel ne recevant aucun vecteur de mouvement porte l'étiquette "trou", de manière à indiquer qu'il appartient à une zone de découvrement de l'image. Une telle technique est notamment décrite dans "Interframe Interpolation of Cinematic Séquences" (en français "Interpolation inter-trames de séquences animées"), par J. Ribas-Corbera et J. Sklansky, Journal of Visual Communication and Image Représentation, Vol. 4, No. 4, Dec. 93, pp. 392-406 et dans "Motion
Compensating Interpolation for Improved Slow Motion" (en français "Interpolation compensatrice de mouvement pour un mouvement lent amélioré") par B. Chupeau et P. Salmon, Thomson-CSF/Laboratoires électroniques de
Rennes, France.
Toutefois, cette technique de l'art antérieur n'exploite ces informations d'étiquette que pour effectuer une correction a posteriori des images interpolées, mais ne les prend pas en compte lors de l'estimation de mouvement permettant de construire de telles images.
L'invention a notamment pour objectif de pallier ces inconvénients de l'art antérieur.
Plus précisément, un objectif de l'invention est de fournir une technique de construction d'une image interpolée entre une image précédente et une image suivante d'une séquence animée, permettant d'améliorer l'impression de fluidité lors de la visualisation de la séquence.
Un autre objectif de l'invention est de mettre en œuvre une technique de construction d'une image interpolée qui soit simple et peu coûteuse à mettre en œuvre.
L'invention a encore pour objectif de fournir une technique de construction d'une image interpolée robuste et adaptée aux régions de fort mouvement.
L'invention a également pour objectif de mettre en œuvre une technique de construction d'une image interpolée au sein d'une séquence vidéo permettant de gérer l'apparition et/ou la disparition d'objets qui correspondent à des zones d'occlusion (zones de retournement, zones de découvrement, zones de tassement) au sein d'un maillage associé aux images de la séquence.
Encore un autre objectif de l'invention est de fournir une technique de construction d'une image interpolée, permettant à un utilisateur disposant d'un terminal de capacité de stockage réduite de visualiser une séquence vidéo fluide.
L'invention a encore pour objectif de mettre en œuvre une technique de construction d'une image interpolée, permettant à un utilisateur de visualiser une séquence vidéo fluide, malgré une saturation de la bande passante du réseau par lequel elle est transmise.
L'invention a également pour objectif de fournir une technique de construction d'une image interpolée pouvant être intégrée à tout codeur/décodeur vidéo afin d'en améliorer les performances, notamment en termes de fluidité visuelle. Ces objectifs, ainsi que d'autres qui apparaîtront par la suite, sont atteints à l'aide d'un procédé de construction d'au moins une image interpolée entre une image précédente et une image suivante d'une séquence animée.
Selon l'invention, un tel procédé tient compte d'informations relatives à la présence d'au moins une zone d'occlusion dans ladite image précédente et/ou dans ladite image suivante, dites informations d'occlusion.
Ainsi, l'invention repose sur une approche tout à fait nouvelle et inventive de l'interpolation d'images au sein d'une séquence animée. En effet, l'invention repose notamment sur la gestion des zones d'occlusion (c'est-à-dire des zones de retournement ou de découvrement) apparaissant au sein d'un maillage associé à une image de la séquence.
L'invention permet donc d'améliorer sensiblement la fluidité visuelle d'une séquence animée, en mettant en œuvre une génération d'images intermédiaires intercalées entre deux images données de la séquence, et en estompant les artefacts et les lignes de discontinuité introduits par l'existence d'une ou plusieurs zone(s) d'occlusion au sein de telles images.
Avantageusement, une image de ladite séquence est associée à un maillage.
En effet, les maillages constituent de plus en plus fréquemment le support de représentation des objets, notamment dans une scène de réalité virtuelle. Ils représentent ainsi la majeure partie de la quantité d'informations décrivant une telle scène. Classiquement, un maillage est défini par un ensemble de sommets et de faces (ou un ensemble de sommets, d'arêtes et d'orientations) définissant une topologie.
Un tel maillage peut par exemple être un maillage à plat, ou tout autre type de maillage permettant de mettre en œuvre une estimation de mouvement à partir de l'image à laquelle il est associé.
Selon une caractéristique avantageuse de l'invention, ledit maillage est un maillage hiérarchique présentant au moins deux niveaux de maillage emboîtés au sein d'une pyramide de maillage. Ainsi, en référence à l'exemple de la figure 1, l'utilisation d'un maillage hiérarchique emboîté 11 permet d'obtenir un codage robuste, et réduit le coût de transmission et/ou de stockage de l'information. En effet, il existe une forte corrélation entre les informations portées par un nœud père et celles portées par ses nœuds fils au sein du maillage. De ce fait, on quantifie les valeurs des nœuds 12, 13 appartenant au niveau le plus haut de la pyramide de maillage (correspondant à un maillage grossier de l'image), en vue de leur transmission, par exemple vers un codeur, et/ou de leur stockage sur un support de données 15. En revanche, pour les niveaux inférieurs de la pyramide de maillage (correspondant à un maillage plus fin de l'image), on ne quantifie que les valeurs différentielles des
nœuds fils 14, en vu de leur transmission et/ou de leur stockage, ainsi qu'illustré en figure 1.
Selon une technique avantageuse, lesdites informations d'occlusion sont déterminées par la mise en œuvre d'une étape d'estimation de mouvement avant et ou arrière entre lesdites images précédente et suivante.
La mise en œuvre d'une étape d'estimation de mouvement avant consiste à déterminer un ensemble de vecteurs de mouvement associés aux sommets d'un maillage représentatif d'une première image à un instant t,, et permettant de construire le maillage associé à une deuxième image à un instant ultérieur X^. Une telle étape permet donc notamment de déceler la disparition au moins partielle d'un objet entre les images aux instants t, et t^.
De même, la mise en œuvre d'une étape d'estimation arrière permet de déterminer les vecteurs de mouvement à appliquer aux sommets du maillage associé à l'image de l'instant tj pour obtenir l'image à l'instant précédent t,, et permet également de déceler une éventuelle apparition d'objets entre les images aux instants tx et tj.
On peut donc envisager de mettre en œuvre une étape d'estimation avant, de manière à déceler une éventuelle disparition d'objets, ou une étape d'estimation arrière, de manière à déceler une éventuelle apparition d'objets. La mise en œuvre conjointe d'une étape d'estimation avant et d'une étape d'estimation arrière permet donc de détecter la présence de toute zone d'occlusion, correspondant à un retournement ou à un découvrement de mailles, associé à une disparition ou à une apparition d'objet.
Préférentiellement, en présence d'au moins une zone d'occlusion dans ladite image précédente (respectivement dans ladite image suivante), un tel procédé met en œuvre les étapes suivantes : pour chaque zone d'occlusion, une étape d'exclusion, dans ladite image précédente (respectivement dans ladite image suivante), d'une région dudit maillage englobant au moins une maille correspondant à ladite zone
d'occlusion, dite région englobante, de manière à obtenir une image précédente approchée (respectivement une image suivante approchée) ; une étape d'estimation avant (respectivement arrière), de manière à déterminer des vecteurs de mouvement permettant d'obtenir une image suivante (respectivement précédente) approchée à partir de ladite image précédente (respectivement suivante) approchée, appelés vecteurs de mouvement avant (respectivement arrière) ; une étape de construction d'une image intermédiaire à partir de ladite image précédente (respectivement suivante) approchée et desdits vecteurs de mouvement avant (respectivement arrière).
En effet, la présence d'une zone d'occlusion peut entacher d'erreur le calcul de l'estimation de mouvement entre deux images données de la séquence. On construit donc une image approchée, obtenue en excluant d'une image donnée au moins une région du maillage correspondant à au moins une zone d'occlusion. Le procédé consiste alors à réaliser une nouvelle estimation du mouvement entre les instants tt et ,, après avoir exclu les zones en défaut (c'est-à-dire les zones contenant au moins un retournement de maille), afin de minimiser l'erreur de prédiction entre les deux images correspondant aux instants t, et ^ considérés.
Cette nouvelle estimation, mise en œuvre à partir de l'image approchée, permet de déterminer les vecteurs de mouvement optimaux pour la zone continue de l'image (c'est-à-dire admettant une bijection entre t,et tj) et d'éviter ainsi que les valeurs des vecteurs de mouvement obtenus au cours de l'estimation de mouvement ne soient perturbées par l'existence de zones de discontinuités.
Selon une caractéristique avantageuse de l'invention, ladite région englobante est un k-disque de ladite zone d'occlusion où k≥l.
On rappelle la définition d'un k-disque de la zone d'occlusion : le 1 -disque d'une zone d'occlusion est la zone d'occlusion elle-même ; pour tout k>l, le k- disque d'une zone d'occlusion correspond à une région qui contient la zone d'occlusion et dont la frontière se situe à une distance maximale de k-1 arêtes de la limite de la zone d'occlusion considérée.
De façon préférentielle, ladite étape de construction consiste à appliquer lesdits vecteurs de mouvement avant (respectivement arrière), pondérés par un scalaire inférieur à 1, à ladite image précédente (respectivement suivante) approchée. En effet, l'étape d'estimation de mouvement avant et/ou arrière permet de déterminer l'ensemble des vecteurs de mouvement permettant de passer de l'image précédente à l'image suivante. Selon la position temporelle de l'image intermédiaire que l'on souhaite construire entre les images précédente et suivante, on pondère ces vecteurs avec un scalaire compris entre 0 et 1. Selon une première variante avantageuse de l'invention, un tel procédé comprend une étape de reconstruction d'un maillage associé à ladite image intermédiaire, consistant, pour chaque zone d'occlusion, à mettre en œuvre une étape de détermination d'informations colorimétriques et/ou photométriques associées à une partie dudit maillage correspondant à ladite région englobante, de manière à obtenir ladite image interpolée.
On reconstruit ainsi une image interpolée à partir de l'image intermédiaire obtenue précédemment, en déterminant des informations de luminance et/ou de chrominance associées à la région englobante.
Une telle étape de détermination peut être mise en œuvre selon l'approche proposée dans le document de brevet FR-98 12525 ayant pour titre « procédé de codage d'images fixes ou animées avec réduction et adaptation du débit ».
Ce document de brevet a pour objet un procédé de codage d'une image numérique, visant à produire un train binaire représentatif de cette image, la longueur du train binaire étant fonction de la représentation voulue. Ce procédé comprend les étapes suivantes : définir, sur un domaine de l'image à coder, un maillage hiérarchique comportant une pluralité de maillages emboîtés dont les sommets de mailles peuvent être des pixels de ladite image ; réaliser les optimisations de luminance, chrominance, et positions sur chaque niveau de maillage ;
déterminer, pour chaque maille dudit maillage hiérarchique, un écart de luminance entre l'image à coder et une image interpolée obtenue à partir des sommets du maillage emboîté auquel appartient la maille considérée, et - introduire dans le train binaire les valeurs (avantageusement codées en différentiel par rapport au niveau hiérarchique précédent) de positions, de luminance et de chrominance des sommets des mailles dont l'écart de luminance est supérieur à un écart seuil.
Selon cette technique, on construit au terme de l'étape de maillage, une structure en arbre quaternaire, associée au maillage hiérarchique, pour manipuler les valeurs (couleurs et positions) des sommets des mailles. L'arbre présente un nombre de nœuds égal au nombre de triangles dans le niveau de maillage triangulaire correspondant. Chaque nœud de l'arbre se rapporte à un unique triangle du maillage hiérarchique. Une fois cet arbre construit, on sélectionne les données de l'arbre à introduire dans le train binaire représentatif de l'image qui sera transmise et/ou stockée. Cette sélection dépend de la qualité voulue.
Pour réaliser cette sélection, on calcule, pour chaque triangle, un écart de luminance entre l'image à coder et l'image interpolée à partir des sommets du maillage emboîté auquel appartient la maille considérée. Cet écart est ensuite comparé à un écart seuil pour chaque triangle. La valeur de l'écart seuil est fonction de la qualité de représentation voulue.
On introduit ensuite dans le train binaire la partie de l'arbre se rapportant aux triangles dont l'écart de luminance est supérieur à l'écart seuil, qui permet donc de transmettre les données relatives à l'image en fonction de la qualité locale de ces différentes partitions triangulaires.
Avantageusement, ladite étape de détermination met en œuvre d'une part un modèle de codage par éléments finis, et d'autre part un modèle de codage alternatif.
En effet, lorsqu'on met en œuvre un codage hiérarchique, par exemple tel que décrit dans le document de brevet français FR 98 12525, et lorsqu'une portion de l'image est très texturée, il est alors nécessaire de prévoir un nombre de niveaux de maillage important pour obtenir des informations photométriques et/ou colorimétriques de qualité suffisante. Dans ce cas, le rendement du codage hiérarchique est faible. En d'autres termes, le codage hiérarchique est bien adapté aux images relativement lisses, mais non aux images présentant des parties fortement texturées.
On a donc envisagé une nouvelle approche, décrite par exemple dans le document de brevet français FR 99 06815 intitulé "Procédé de codage hiérarchique et mise en œuvre sélective d'un codage à base de transformation réversible, et procédé de décodage correspondant". Un tel procédé de codage d'une image à coder, comprend les étapes suivantes : définition d'un maillage hiérarchique présentant au moins deux niveaux de maillage emboîtés formés de mailles définies par des sommets (qui peuvent être des pixels de ladite image à coder) ; détermination, pour chacune desdites mailles, d'une information d'erreur entre ladite image à coder et une image interpolée obtenue à partir des sommets des mailles appartenant au niveau de maillage de la maille considérée ; arrêt du raffinement des mailles présentant une information d'erreur inférieure à un premier seuil prédéterminé ; mise en œuvre d'un codage spécifique pour les mailles présentant une information d'erreur supérieure à un second seuil prédéterminé ; - continuation du raffinement des mailles présentant une information d'erreur supérieure audit premier seuil prédéterminé et inférieure audit second seuil prédéterminé.
Ainsi, selon ce procédé, qui s'avère particulièrement avantageux dans le cadre de l'invention, on utilise sélectivement deux modes de codage distincts. Le codage hiérarchique, ou à maillages emboîtés, est le codage principal, ou codage
de base, mais il n'est pas utilisé systématiquement : pour les portions d'image qui le nécessite (ici, pour les portions de la région englobante qui le nécessitent), un autre codage plus efficace est utilisé.
La décision d'utiliser ce codage spécifique est prise par comparaison à un seuil. Plus précisément, à chaque nœud considéré de l'arbre représentatif du maillage hiérarchique, trois possibilités sont offertes : arrêter le raffinement, ou la division, des mailles (la qualité atteinte pour la portion d'image ou de la région englobante correspondante étant suffisante), passer au niveau hiérarchique suivant, en conservant le même codage hiérarchique, ou utiliser un autre codage (en particulier un codage mieux adapté aux portions très texturées).
On notera qu'il est envisageable d'utiliser plusieurs types différents de codages spécifiques (ou un même codage avec des paramètres différents), pour adapter plus précisément encore le choix du codage aux caractéristiques de la portion d'image ou de la portion de région englobante. Selon une deuxième variante avantageuse de l'invention, un tel procédé comprend une étape de reconstruction d'un maillage associé à ladite image intermédiaire, consistant, pour chaque zone d'occlusion, à insérer dans ledit maillage une partie d'un maillage associé à ladite image suivante ou à ladite image précédente correspondant à ladite région englobante, de manière à obtenir ladite image interpolée.
On remplace donc, dans l'image intermédiaire, le contenu des zones d'occlusion par les zones correspondantes de l'image précédente ou suivante. L'image interpolée ainsi obtenue est alors constituée d'une partie obtenue par interpolation, et correspondant au déplacement du maillage associé à l'image précédente (respectivement suivante), et des zones d'occlusion contenant des informations de l'image suivante ou précédente.
Selon une caractéristique avantageuse, un tel procédé comprend en outre, pour chaque zone d'occlusion, une étape d'estimation de mouvement locale entre ladite image interpolée et une image exacte correspondante, consistant à optimiser la position d'au moins un nœud d'une partie dudit maillage correspondant à ladite
région englobante dans ladite image interpolée, de manière à générer une première image interpolée améliorée.
Au niveau du codage, un tel mouvement n'est pris en compte et codé que si l'estimation de mouvement détermine l'absence de zones de discontinuité, et notamment l'absence de retournements de mailles, entre l'image interpolée et l'image exacte correspondante.
Avantageusement, un tel procédé comprend en outre une étape de calcul d'une image d'erreur, de manière à évaluer une erreur entre ladite première image interpolée améliorée et ladite image exacte correspondante. Ainsi, l'estimation de mouvement entre l'image interpolée et l'image exacte correspondante ayant déterminé la présence de zones d'occlusion, on met en œuvre un calcul d'erreur.
Selon une technique avantageuse, ladite erreur étant supérieure à un seuil prédéterminé pour au moins une région de ladite image d'erreur, un tel procédé met en œuvre une étape de détermination d'informations colorimétriques et/ou photométriques associées à chacune desdites régions, de manière à générer une deuxième image interpolée améliorée.
Avantageusement, ladite étape de détermination met en œuvre, d'une part, un modèle de codage par éléments finis, et d'autre part, un modèle de codage alternatif.
Comme décrit précédemment, une telle étape de détermination peut être mise en œuvre selon la technique exposée dans le document de brevet français FR
99 06815 intitulé "Procédé de codage hiérarchique et mise en œuvre sélective d'un codage à base de transformation réversible, et procédé de décodage correspondant".
Selon une caractéristique avantageuse de l'invention, ladite étape de détermination est mise en œuvre à partir de ladite image d'erreur ou de ladite image exacte correspondante, en fonction d'un critère de coût prédéterminé.
En effet, préalablement à la mise en œuvre de l'étape de détermination des informations colorimétriques et/ou photométriques, on évalue le coût d'une telle
étape à partir de l'image d'erreur d'une part, et à partir de l'image exacte correspondant à l'image interpolée d'autre part. On privilégie alors la solution la moins coûteuse.
Préférentiellement, ledit maillage est de taille supérieure à ladite image qu'il représente.
Une telle technique est par exemple décrite dans le document de brevet français n° FR 00 09273 du 13 juillet 2000, intitulé "Estimateur de mouvement pour le codage et le décodage de séquences d'images", au nom des mêmes déposants que la présente demande. Selon la technique exposée dans cette demande de brevet, l'utilisation d'un maillage de taille supérieure à l'image à laquelle il est associé permet la mise en œuvre d'une technique d'estimation et de compensation de mouvement pour le codage et le décodage de séquences d'images, permettant la gestion des découvrements et des tassements de mailles lors du déplacement d'objets. L'utilisation d'un maillage de taille supérieure à la taille de l'image permet, selon la présente invention, d'améliorer l'interpolation temporelle de trames au moment du décodage.
L'invention concerne encore un procédé de codage et un procédé de décodage d'une séquence animée, du type mettant en œuvre une étape d'interpolation d'au moins une image interpolée entre une image précédente et une image suivante.
Selon de tels procédés de codage et de décodage, ladite étape d'interpolation tient compte d'informations relatives à la présence d'au moins une zone d'occlusion dans ladite image précédente et/ou dans ladite image suivante, dites informations d'occlusion.
L'invention concerne également un terminal de visualisation d'une séquence animée d'images du type comprenant des moyens d'interpolation d'au moins une image interpolée entre une image précédente et une image suivante, lesdits moyens d'interpolation tenant compte de la présence d'au moins une zone d'occlusion dans ladite image précédente et/ou dans ladite image suivante.
L'invention concerne encore un signal vidéo et un support de données comprenant des informations permettant de reconstruire au moins une image interpolée entre une image précédente et une image suivante d'une séquence animée d'images, lesdites informations tenant compte de la présence d'au moins une zone d'occlusion dans ladite image précédente et/ou dans ladite image suivante.
D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation préférentiel, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels : la figure 1, décrite ci-dessus, présente un exemple de mise en œuvre d'un maillage hiérarchique triangulaire emboîté ; la figure 2 présente un synoptique de l'ensemble des étapes mises en œuvre selon l'invention pour construire une image interpolée entre une image précédente et une image suivante d'une séquence animée ; la figure 3 illustre plus en détails les étapes 11, 14 et 15, présentées en figure 2 ; la figure 4 illustre un exemple d'application de l'invention à l'interpolation temporelle de trames. Le principe général de l'invention repose sur la gestion des zones d'occlusion lors de la construction d'images interpolées au sein d'une séquence animée, en vue d'un codage bidirectionnel et/ou d'une interpolation temporelle de trames au décodage.
On présente, en relation avec la figure 2, un mode de réalisation de la construction d'une image interpolée entre une image précédente et une image suivante d'une séquence animée, sous la forme d'un synoptique présentant l'ensemble des étapes à mettre en œuvre, selon l'invention.
On considère deux images d'une séquence animée, appelées respectivement I, et I2, à deux instants t, et t^ successifs. On cherche à construire une image interpolée l' entre I, et I2, à un instant t' intermédiaire entre t, et t^.
Au cours d'une étape référencée 21, on réalise une estimation de mouvement avant à partir de l'image I , de manière à déterminer les vecteurs de mouvement à appliquer aux sommets du maillage (par exemple un maillage hiérarchique tel qu'illustré en figure 1) associé à Ix pour obtenir l'image I2. Une telle étape 21 peut bien sûr également consister à réaliser une estimation de mouvement arrière à partir de I2, mais, par souci de simplicité de lecture, on ne s'attachera à décrire qu'un exemple de mode de réalisation mettant en œuvre une étape d'estimation avant au cours de l'étape référencée 21.
Une telle étape référencée 21 permet de détecter la présence d'éventuelles zones d'occlusion, correspondant ici à la disparition au moins partielle d'un ou plusieurs objets dans l'image I,. Elle permet également de déterminer le mouvement d à appliquer au maillage associé à I, pour obtenir I2.
En l'absence de zones d'occlusion, on applique au maillage associé à I,, au cours d'une étape référencée 22, un déplacement d', défini de la manière suivante :
On pondère ainsi le déplacement d, à appliquer au maillage associé à lx pour obtenir I2, par un scalaire compris entre 0 et 1, et dont la valeur dépend de la position de l'image I' par rapport aux images I, et I2. Ainsi, si l'on souhaite obtenir une image interpolée proche de l'image I,, on pondère le déplacement d par un scalaire proche de 0. Si, en revanche, on souhaite obtenir une image inteφolée temporellement proche de I2, on pondère le déplacement d par un scalaire proche de l.
A l'issue de l'étape référencée 22, on obtient donc l'image interpolée I' souhaitée, au cours d'une étape référencée 23. Si, au cours de l'étape référencée 21, on détecte la présence d'au moins une zone d'occlusion, on exclut de I1; au cours d'une étape référencée 24, la ou les régions englobantes correspondant à la ou les zones d'occlusion détectées, de manière à éviter une erreur de l'estimation de mouvement qui serait introduite par la présence de cette ou de ces zones d'occlusion. On obtient ainsi une image Ij
approchée, correspondant à l'image I, de laquelle a été exclue au moins une zone d'occlusion.
On met alors en œuvre une estimation de mouvement avant à partir de Ij approchée au cours d'une étape référencée 25, afin de déterminer les vecteurs de mouvement optimaux pour la zone continue de l'image (c'est-à-dire admettant une bijection entre ttet tj).
Les étapes 21, 24 et 25 sont désormais décrites plus en détails en relation avec la figure 3.
Au cours de l'étape référencée 21 d'estimation de mouvement avant à partir de l'image Il5 on détecte la présence d'une zone de retournement 31. Au cours de l'étape référencée 24, on exclut donc la zone de retournement 31 de l'image Il5 de manière à obtenir une image L, approchée. On réalise alors une estimation de mouvement avant 25 à partir de Ix approchée, de manière à obtenir les vecteurs de mouvement optimaux à appliquer aux sommets du maillage associé à I, approchée pour obtenir I2.
Au cours d'une étape référencée 26, on applique un déplacement d' au maillage associé à I, approchée, de manière à obtenir au cours d'une étape référencée 27 une image intermédiaire Iinteπnédiaire- Un tel déplacement d' est obtenu par pondération du déplacement optimal d, déterminé au cours de l'étape référencée 25, par un scalaire compris entre 0 et 1, selon une technique similaire à celle mise en œuvre au cours de l'étape référencée 22.
Dans le cas où l'invention s'applique à l'interpolation de fréquence trame, on met alors en œuvre une étape référencée 291, consistant à insérer dans Iintermédiaire la ou les zones de I2 ou de Ix correspondant à la ou aux régions englobantes exclues de I, au cours de l'étape référencée 24. On remplace ainsi le contenu des zones d'occlusion par les zones correspondantes de l'instant t^ ou de l'instant t,.
On obtient ainsi, au cours d'une étape référencée 292, une image I' constituée, d'une part, d'une partie interpolée correspondant au déplacement d' du maillage associé à , et d'autre part de la ou des zones, correspondant à la ou aux zones d'occlusion, et contenant des informations de l'image I2 ou de l'image I,.
Dans le cas où l'invention s'applique au codage bidirectionnel, on peut envisager deux variantes au mode de réalisation permettant, à partir de Iintermédiaire d'obtenir l'image interpolée I'.
Une première variante de réalisation consiste, au cours d'une étape référencée 281, à déterminer des informations colorimétriques et/ou photométriques associées à la ou aux régions de Iintermédiaire correspondant à la ou aux régions englobantes exclues de I, au cours de l'étape référencée 24. On reconstruit ainsi l'intégralité du maillage associé à Ijntermédiaire> de façon à obtenir une image interpolée I' au cours d'une étape référencée 282. Une telle étape 281 peut par exemple être mise en œuvre selon la technique décrite dans le document de brevet FR-98 12525 ayant pour titre « procédé de codage d'images fixes ou animées avec réduction et adaptation du débit ».
Une deuxième variante de réalisation consiste, au cours d'une étape référencée 291, à insérer dans Iintermédiaire la ou les zones de I2 ou de I, correspondant à la ou aux régions englobantes exclues de Ix au cours de l'étape référencée 24. On remplace ainsi le contenu des zones d'occlusion par les zones correspondantes de l'instant t^ ou de l'instant t,.
De manière générale, l'image I' est obtenue par insertion du contenu de l'image I2 lors de la mise en œuvre d'une estimation avant, et par insertion du contenu de l'image ï lors de la mise en œuvre d'une estimation de mouvement arrière, afin de permettre un recouvrement global de l'image interpolée V. Cependant, dans certains cas, on peut préférer construire l'image l' par insertion du contenu de l'image I2 (respectivement L lors de la mise en œuvre d'une estimation arrière (respectivement avant), par exemple pour obtenir une image l' de meilleure qualité et/ou conférer à la séquence vidéo une plus grande fluidité visuelle.
On obtient ainsi, au cours d'une étape référencée 292, une image F constituée, d'une part, d'une partie interpolée correspondant au déplacement d' du maillage associé à Ix, et d'autre part de la ou des zones, correspondant à la ou aux zones d'occlusion, et contenant des informations de l'image I2 ou de l'image I,.
Afin d'obtenir une meilleure approximation de l'image I', on réalise alors une estimation de mouvement 293 entre I' et l'image interpolée exacte correspondante.
On obtient ainsi, au cours d'une étape référencée 294, une première image interpolée améliorée I,'. Lors d'une étape référencée 295, on calcule alors une image d'erreur entre I,' améliorée et l'image interpolée exacte correspondante.
Si l'erreur est faible (par exemple inférieure à un seuil d'erreur prédéterminé), l'image I est alors intercalée entre les images I, et I2 de la séquence animée, au cours d'une étape référencée 298. Dans le cas contraire, si l'erreur est supérieure à un seuil prédéterminé pour au moins certaines parties de l'image d'erreur, on met en œuvre une étape 296 de détermination d'informations colorimétriques et/ou photométriques associées à la ou aux zones de l'image sur lesquelles l'erreur est importante.
A nouveau, une telle étape 296 peut, par exemple, être mise en œuvre selon la technique décrite dans le document de brevet FR-98 12525 ayant pour titre « procédé de codage d'images fixes ou animées avec réduction et adaptation du débit ».
On obtient alors, lors de l'étape référencée 297, une deuxième image interpolée améliorée I2' à intercaler entre les images lx et I2 de la séquence d'images.
Au niveau du codage, les informations nécessaires au codeur correspondent alors aux vecteurs de mouvement d*, correspondant à l'estimation de mouvement entre I' et l'image exacte correspondante, et les informations de chrominance et de luminance associées à la correction locale d'erreur, si nécessaires.
L'image interpolée I', I'j améliorée ou I'2 améliorée obtenue à l'issue de l'une des étapes référencées 23, 282, 294 ou 297 peut ensuite être intercalée entre deux images successives d'une séquence animée, ainsi qu'illustré en figure 4.
Ainsi, au décodage de la séquence 40 par exemple, le décodeur construit une image interpolée 43, éventuellement à partir d'informations transmises par le
codeur, qu'il insère entre deux images référencées 41 et 42, afin d'accroître la fluidité visuelle de la séquence 40.