Brevet FR2917872A1 — publié le 20081226

Procédés et dispositifs de codage et de décodage d'une séquence d'images représentée à l'aide de tubes de mouvement, produits programme d'ordinateur et signal correspondants. 1. Domaine de l'invention Le domaine de l'invention est celui du codage et du décodage de séquences d'images. Plus précisément, l'invention concerne le traitement de séquences d'images vidéo ou de scènes bidimensionnelles ou tridimensionnelles (ou présentant un nombre supérieur de dimensions), représentées à l'aide de tubes de mouvement. 2. Art antérieur Les codeurs vidéo actuels, tels que développés par exemple dans la norme AVC H.264/MPEG-4 ( Advanced Video Coding pour codage vidéo avancé ) de l'Union Internationale des Télécommunications (en anglais ITU pour International Telecommunication Union ) présentée dans le document ISO/IEC 14496-10, permettent de coder une séquence d'images pour délivrer une séquence codée, compressée par rapport à la séquence d'images source. Pour ce faire, ces codeurs utilisent une représentation discontinue de la séquence vidéo. Plus précisément, les images de la séquence sont découpées en blocs de pixels, un bloc de pixels correspondant à un regroupement de pixels adjacents. Ces codeurs sont basés sur un traitement des informations contenues dans ces blocs qui implique une étape de transformation, une étape de quantification et une étape de codage entropique. Ainsi, chaque bloc est codé par prédiction intra-images ou inter-images. Un inconvénient de ces techniques de l'art antérieur est que les blocs dans chaque image sont définis indépendamment des blocs des autres images de la séquence. Ceci entraîne une représentation discontinue du mouvement dans la séquence, et donc une mauvaise représentation du mouvement réel et des surcoûts en termes de débit de compression. Il a alors été proposé des techniques alternatives offrant une représentation continue du mouvement, basées sur des maillages par exemple. Cependant, un inconvénient de ces techniques basées maillage est que les mouvements entre les régions sont contraints, et ne permettent donc pas de représenter les ruptures du champ de mouvement pouvant survenir dans la séquence d'images (par exemple dues aux apparitions ou aux disparitions d'objets), entre deux régions ayant des mouvements différents. De plus, un autre inconvénient de ces techniques provient de l'utilisation de maillages irréguliers, pour lesquelles la structure des mailles au cours du temps doit être transmise. En effet, cette transmission d'informations supplémentaires entraîne des pénalités en termes de performances en compression. Il existe donc un besoin pour de nouvelles techniques de codage/décodage d'images permettant de pallier au moins en partie les inconvénients de l'art antérieur. 3. Exposé de l'invention L'invention propose une solution nouvelle qui ne présente pas l'ensemble de ces inconvénients de l'art antérieur, sous la forme d'un procédé de décodage d'un signal représentatif d'une séquence d'images. Selon l'invention, un tel procédé comprend les étapes suivantes : -extraction dudit signal de tubes de mouvement, un tube comprenant un bloc de pixels pouvant évoluer indépendamment d'au moins un autre tube, deux tubes pouvant, à un instant donné, allouer à un même pixel d'une desdites images des valeurs différentes, chacun desdits tubes étant défini par au moins les informations suivantes : - un bloc de pixels de référence comprenant des informations de 25 texture de référence ; - des instants de début de tube et de fin de tube ; - des informations de transition, permettant de mettre à jour ledit bloc de référence à au moins un instant t de ladite séquence ; - traitement desdites informations de transition, délivrant un bloc courant 30 pour chacun desdits tubes dans une image courante à un instant t ; - combinaison des informations associées aux blocs courants d'au moins deux desdits tubes se chevauchant dans une zone de chevauchement de ladite image courante, de façon à reconstruire des pixels optimisés dans ladite zone de chevauchement. Ainsi, l'invention repose sur une approche nouvelle et inventive du décodage d'une séquence d'images, représentée sous la forme de tubes de mouvement. Plus précisément, un tube de mouvement correspond à un bloc de pixels évoluant au cours du temps. Au cours de cette évolution, le tube peut se déformer, par exemple pour prendre en compte le mouvement apparent, ou bien encore si le nombre de pixels présents dans le bloc augmente ou diminue. Ce tube peut également se raffiner, par exemple en passant au niveau sous-pixellique du bloc. Ainsi, les différents tubes de mouvement peuvent évoluer indépendamment les uns des autres. Une séquence d'images est alors représentée par un ensemble de tubes de mouvement se déplaçant dans l'espace au cours du temps, en suivant les trajectoires de mouvement de la séquence. Cette persistance temporelle des tubes permet de représenter de façon continue la séquence vidéo. De plus, cette représentation permet de représenter efficacement à la fois les zones de continuité et de discontinuité du mouvement d'une séquence. On rappelle qu'au contraire, dans les techniques de codage par prédiction des blocs de l'art antérieur, les blocs dans chaque image sont définis indépendamment des blocs des autres images de la séquence. Il n'y a donc pas de suivi dans ces prédictions. En particulier, côté décodage, on extrait selon l'invention les tubes de mouvement du signal reçu, afin de traiter les informations de transition de ces tubes, et de reconstruire pour chaque tube un bloc courant, potentiellement déformé, dans l'image que l'on cherche à reconstruire. On combine ensuite les informations associées aux blocs courants correspondant à des tubes se chevauchant, pour reconstruire les pixels situés dans la zone de chevauchement. On entend notamment par zone de chevauchement une zone dans laquelle les blocs courants associés aux tubes ont des pixels en commun. En particulier, le bloc de pixels à l'instant de début d'un tube, appelé bloc de départ, peut correspondre directement au bloc de pixels de référence définissant ledit tube, ou bien être obtenu à partir d'une modification dudit bloc de pixels de référence. Une telle modification correspond par exemple à un codage incluant une transformation géométrique (transformation homographique, transformation affine, rotation, ...). Selon un mode de réalisation particulier de l'invention, l'étape de combinaison comprend, pour au moins un pixel de la zone de chevauchement, une opération de calcul d'une moyenne de la valeur de texture attribuée au pixel dans chacun desdits tubes se chevauchant. En particulier, cette moyenne peut être pondérée, en fonction d'au moins un des critères appartenant au groupe comprenant : - une information de profondeur associée à chacun desdits tubes ; - une information de priorité associée à chacun desdits tubes ; - l'instant de création et/ou la durée de chacun desdits tubes ; - une information de position du pixel considéré dans chacun desdits tubes ; - une information relative à un type de tube de chacun desdits tubes. Autrement dit, on détermine des pixels optimisés dans une zone de chevauchement à partir d'une combinaison (linéaire, géométrique, ...) des valeurs de texture attribuées aux pixels dans chacun desdits tubes se chevauchant. Selon un aspect spécifique de l'invention, l'étape d'extraction délivre des tubes de différents types, comprenant notamment des tubes de base et des tubes de raffinement destinés à améliorer la restitution d'au moins un tube de base. Les évolutions des tubes de raffinement peuvent être libres par rapport à l'évolution des tubes de base. En particulier, les tubes de raffinement comprennent : des tubes additifs, un tube additif comprenant des informations de résidu 30 destinées à être ajoutées aux informations d'un tube de base ; et des tubes de description, un tube de description comprenant des informations de description délivrant une deuxième description complémentaire et/ou redondante d'une première description fournie par des informations d'un tube de base. Par exemple, la première description permet de décrire les pixels pairs d'un bloc et la deuxième description permet de décrire les pixels impairs. L'invention trouve ainsi selon ce mode de réalisation des applications dans le codage et le décodage de données échelonnable (ou scalable ), présentant une qualité adaptable et une résolution spatio-temporelle variable. Selon une variante d'implémentation visant à réaliser une représentation scalable exploitant les corrélations entre les tubes de base et les tubes de raffinement de type additif, on considère qu'un tube de raffinement de type additif est lié au tube de base qu'il détaille. Par conséquent, l'évolution temporelle du tube de raffinement de type additif est dépendante de l'évolution temporelle du tube de base. Selon une caractéristique particulière de l'invention, les informations de transition définissant un tube de mouvement comprennent : - des informations de modification de position et/ou de déplacement du bloc dans ladite image courante ; et - des informations de modification de ladite texture. Ces informations de transition permettent notamment de reconstruire le bloc courant dans l'image courante, en tenant compte des modifications qu'il a subies par rapport à une image précédemment décodée. Par exemple, ces modifications correspondent à une mise à jour d'image en image, à un codage par transformation spatiale et/ou temporelle, etc. Par exemple, les informations de transition comprennent des informations de déformation du bloc mettant en oeuvre au moins une des opérations appartenant au groupe comprenant : - une transformation homographique ; -une transformation affine ; - une rotation ; cette opération étant effectuée lors de l'étape de traitement en tenant compte des informations de déformation. Selon un mode de réalisation particulier de l'invention, le procédé de décodage comprend une étape de création et de mise à jour d'une liste de tubes de référence. Cette étape de création de la liste peut être effectuée pour la première image de la séquence. Selon une caractéristique particulière de l'invention, l'étape d'extraction comprend une étape de lecture, à un instant t, pour chacun des tubes d'au moins une des informations suivantes : - une indication d'utilisation ou non dudit tube ; - une indication d'utilisation ou non d'une prédiction pour ledit tube ; - une information de position dudit tube dans l'image ; - une information relative à un type de tube ; - des données de texture. Par exemple, le procédé de décodage comprend les étapes suivantes : -lecture des informations définissant les tubes de référence (bloc de pixels de références, instant de début et de fin de tube, informations de transition) ; - pour chaque tube de référence : ^ lecture d'une indication d'utilisation ou non dudit tube de référence pour la reconstruction d'une image courante, ^ lecture d'une information de modification de la texture et de modification de position et/ou de déplacement dudit tube de référence, et ^ mise à jour de ladite liste de tubes de référence ; - pour chaque bloc de l'image courante : ^ lecture d'une indication d'utilisation ou non d'une prédiction par tubes de mouvement ; ^ lecture d'une indication de création ou non d'un nouveau tube, et 25 30 ^ si nécessaire, lecture des informations définissant ledit nouveau tube ; - lecture des informations de mise à jour de la liste de référence des tubes ; -reconstruction de l'image courante. Dans un autre mode de réalisation, l'invention concerne un dispositif de décodage d'un signal représentatif d'une séquence d'images. Selon l'invention, un tel dispositif comprend : - des moyens d'extraction dudit signal de tubes de mouvement, un tube comprenant un bloc de pixels pouvant évoluer indépendamment d'au moins un autre tube, - des moyens de traitement desdites informations de transition, délivrant un bloc courant pour chacun desdits tubes dans une image courante à un instant t ; - des moyens de combinaison des informations associées aux blocs courants d'au moins deux desdits tubes se chevauchant dans une zone de chevauchement de ladite image courante, de façon à reconstruire des pixels optimisés dans ladite zone de chevauchement. Un tel dispositif de décodage est notamment adapté à mettre en oeuvre le procédé de décodage décrit précédemment. Il s'agit par exemple d'un décodeur 20 vidéo de type H.264 ou H.264 amendé. Un autre aspect de l'invention concerne également un produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, comprenant des instructions de code de programme pour la mise en oeuvre du 25 procédé de décodage décrit précédemment. Un autre mode de réalisation de l'invention concerne un procédé de codage d'une séquence d'images. Selon l'invention, un tel procédé de codage comprend les étapes suivantes : - insertion, dans un signal représentatif de ladite séquence, de tubes de mouvement, un tube comprenant un bloc de pixels pouvant évoluer indépendamment d'au moins un autre tube, deux tubes pouvant, à un instant donné, allouer à un même pixel d'une desdites images des valeurs différentes, chacun desdits tubes étant défini par au moins les informations suivantes : - un bloc de pixels de référence comprenant des informations de texture de référence ; - des instants de début de tube et de fin de tube ; - des informations de transition, permettant de mettre à jour ledit bloc de référence à au moins un instant t de ladite séquence ; - génération des informations de transition définissant lesdits tubes de mouvement ; de façon à permettre, au décodage, une combinaison des informations associées aux blocs courants d'au moins deux desdits tubes se chevauchant dans une zone de chevauchement d'une image courante, pour reconstruire des pixels optimisés dans la zone de chevauchement. Un tel procédé de codage est notamment adapté à coder une séquence d'images destinée à être décodée selon le procédé de décodage décrit 20 précédemment. En particulier, un tel procédé de codage comprend deux principales phases : une phase d'établissement des tubes de mouvement, permettant de construire lesdits tubes à partir desdites informations, et 25 une phase de codage desdits tubes de mouvement. Selon un mode de réalisation particulier de l'invention : la phase d'établissement comprend les étapes suivantes : o obtention d'une liste de tubes de mouvement de référence ; o pour chaque tube de référence : ^ détermination d'une information de position dudit tube de référence dans une image à coder de ladite séquence, ^ détermination d'une indication d'utilisation ou non dudit tube de référence ; et ^ mise à jour des informations de texture ; o pour chaque bloc de l'image à coder : ^ détermination d'une indication d'utilisation ou non d'une prédiction par tubes de mouvement pour la reconstruction dudit bloc ; et la phase de codage comprend les étapes suivantes : o codage de ladite liste de tubes de mouvement de référence ; o pour chaque tube de référence : ^ codage de ladite indication d'utilisation ou non dudit tube de référence ; ^ codage des informations de modification de texture et de modification de position et/ou de déplacement si ce tube de référence est utilisé ; o pour chaque bloc de l'image à coder : ^ codage de l'indication d'utilisation ou non d'une prédiction à l'aide d'au moins un tube de mouvement ; ^ codage de la création ou non d'un nouveau tube à partir de ce bloc ; o codage des informations de mise à jour de ladite liste de référence. Un autre mode de réalisation concerne un dispositif de codage d'une séquence d'images. Un tel dispositif comprend : - des moyens d'insertion, dans un signal représentatif de ladite séquence, de tubes de mouvement, un tube comprenant un bloc de pixels pouvant évoluer indépendamment d'au moins un autre tube, - des moyens de génération des informations de transition définissant lesdits tubes de mouvement ; de façon à permettre, au décodage, une combinaison des informations associées aux blocs courants d'au moins deux desdits tubes se chevauchant dans une zone de chevauchement d'une image courante, pour reconstruire des pixels optimisés dans la zone de chevauchement. Un tel dispositif de codage est notamment adapté à mettre en oeuvre le procédé de codage décrit précédemment. Il s'agit par exemple d'un codeur vidéo de type H.264 ou H.264 amendé. Un autre aspect de l'invention concerne également un produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, comprenant des instructions de code de programme pour la mise en oeuvre du procédé de codage décrit précédemment. Encore un autre aspect de l'invention concerne un signal représentatif d'une séquence d'images. Un tel signal comprend des tubes de mouvement, un tube comprenant un bloc de pixels pouvant évoluer indépendamment d'au moins un autre tube, deux tubes pouvant, à un instant donné, allouer à un même pixel d'une desdites images des valeurs différentes, chacun desdits tubes étant défini par au moins les informations suivantes : - un bloc de pixels de référence comprenant des informations de texture de référence ; - des instants de début de tube et de fin de tube ; - des informations de transition, permettant de mettre à jour ledit bloc de référence à au moins un instant t de ladite séquence ; ledit signal comprenant des informations de transition associées à chacun desdits tubes de mouvement, de façon à permettre, au décodage, une combinaison des informations associées 30 aux blocs courants d'au moins deux desdits tubes se chevauchant dans une zone de chevauchement d'une image courante, pour reconstruire des pixels optimisés dans la zone de chevauchement. Un tel signal peut notamment représenter un flux de données codé selon le procédé de codage décrit ci-dessus. Ce signal pourra bien sûr comporter les différentes caractéristiques relatives au procédé de codage selon l'invention. 4. Liste des figures 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 particulier, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels : -la figure 1 illustre un exemple de représentation d'une séquence d'images à l'aide de tubes de mouvement ; - la figure 2 présente les évolutions d'un bloc dans un tube de mouvement au cours du temps ; - la figure 3 présente les principales étapes du procédé de décodage selon un mode de réalisation de l'invention ; - la figure 4 illustre le mécanisme de gestion des chevauchements ; - la figure 5 présente les principales étapes du procédé de codage selon un mode de réalisation de l'invention ; - les figures 6A et 6B présentent la structure d'un dispositif de codage et d'un dispositif de décodage selon un mode de réalisation particulier de l'invention. 5. Description d'un mode de réalisation de l'invention 5.1 Principe général Le principe général de l'invention repose sur le codage et le décodage d'une séquence d'images 2D ou 3D représentée à l'aide de tubes de mouvement. On présente en relation avec la figure 1 un exemple de représentation d'une séquence vidéo par des tubes de mouvement. On considère selon cet exemple quatre tubes de mouvement Tul, Tu2, Tu3 et Tu4, s'étendant entre les images I0, Il, I2 et I3, correspondant respectivement aux instants t0, tl, t2 et t3 de la séquence vidéo. Plus précisément, un tube de mouvement est défini comme un ensemble de pixels (bloc carré, rectangulaire, ou cube en 3D par exemple) et a pour caractéristiques : - un instant de création, ou instant de début de tube, - un instant de disparition, ou instant de fin de tube, - un ensemble de positions (xt,yt) ou de déplacements (dxt,dyt) dépendant du temps t, t étant compris entre l'instant de création et l'instant de disparition du tube, - une texture variant optionnellement dans le temps. Par exemple, le tube Tul est créé à l'instant t0, et disparaît à l'instant t2. Cela signifie qu'avant l'instant t0, le tube Tul n'existe pas, et qu'après l'instant t2, le tube Tul n'existe plus. De même le tube Tu2 est créé à l'instant t0, et disparaît à l'instant tl, le tube Tu3 est créé à l'instant tl, et disparaît à l'instant t3, et le tube Tu4 est créé à l'instant tl, et disparaît à l'instant t2. De plus, chaque tube comporte ses propres valeurs de texture. Autrement dit, si l'on considère par exemple l'image I0, le tube Tul correspond au bloc 1 de pixels de l'image I0, auquel on applique une extension temporelle t, pour t variant de t0 à t2. Ainsi, les tubes ne sont donc pas réinitialisés à chaque instant, mais survivent à travers les images. En particulier, un tube de mouvement peut être défini pour des images non consécutives d'une séquence d'images. Par exemple, si un tube disparaît d'une image à un instant t, il reste en mémoire et peut réapparaître à l'instant t+l. Ces tubes sont utilisés côté décodage pour reconstruire les images de la séquence. Par exemple, le tube Tul permet de réaliser les prédictions sur les images Il et I2. On peut également noter que les blocs de pixels associés aux différents tubes peuvent évoluer indépendamment les uns des autres. Ainsi, les tubes peuvent se chevaucher, comme par exemple les tubes Tu3 et Tu4 à l'instant t2 sur la figure 1, ce qui n'est pas possible avec les techniques basées maillage. On peut également noter que l'évolution temporelle des tubes n'est pas cantonnée à une translation. Les blocs de pixels peuvent subir des transformations géométriques pour chaque image, y compris la première image, comme par exemple une rotation, une transformation affine, ou bien encore une transformation homographique. La figure 2 illustre plus précisément le chevauchement de différents tubes. Par exemple, les tubes Tut et Tuk sont initialisés dans l'image It au temps t. Au temps t+l, les tubes Tut et Tuk peuvent se chevaucher entièrement dans l'image It+1. Autrement dit, les tubes Tut et Tuk correspondent alors au même bloc de pixels. Ceci survient par exemple lorsqu'une partie d'un objet, associée au bloc de pixels du tube Tuf, est occultée par un autre objet, associé au bloc Tuk. Ensuite, du fait de l'indépendance d'évolution des tubes, chaque tube Tut ou Tuk peut partir dans une direction différente, selon le déplacement de l'objet associé à chacun des tubes. Un tube de mouvement peut également se déformer au cours du temps (extension des mouvements de translation à des mouvements de rotation, déformation affine, homographique, etc). Par exemple, pour la figure 2, on considère le tube Tui initié dans l'image It+1 à l'instant t+l, et disparaissant dans l'image It+2 à l'instant t+2. Le bloc de pixels correspondant au tube Tui dans l'image It+2 peut être différent du bloc de pixels correspondant au même tube Tui dans l'image It+1 Par exemple, le tube Tui correspond à un bloc de 8x8 pixels dans l'image It+1, et à un bloc de 12x8 pixels dans l'image It+2. Dans ce cas, l'ensemble des pixels que comprend le tube varie au cours du temps. Afin de représenter les pixels du bloc correspondant au tube Tui dans l'image It+2, une déformation du bloc contenant les valeurs des pixels modifiés définis initialement pour l'image It+1 peut être mise en oeuvre. Une telle déformation met par exemple en oeuvre une opération de type transformation homographique, transformation affine, rotation, etc. Ainsi, une séquence vidéo est représentée par un ensemble de tubes de mouvement se déplaçant dans l'espace au cours du temps en suivant les trajectoires de mouvement de la séquence. 5.2 Décodage On présente plus précisément en relation avec la figure 3 les principales 5 étapes du procédé de décodage selon l'invention. On considère pour ce faire un signal 30 représentatif d'une séquence d'images reçue par un décodeur. Le procédé de décodage comprend tout d'abord une étape 31 d'extraction, à partir du signal 30, de tubes de mouvement associés chacun à un bloc de pixels. 10 On considère selon l'invention que les tubes peuvent évoluer indépendamment les uns des autres. On considère également que deux tubes peuvent, à un instant donné, allouer à un même pixel d'une image des valeurs de texture différentes. Chacun des tubes est alors défini par au moins les informations suivantes : - un bloc de pixels de référence comprenant des informations de 15 texture de référence ; - des instants de début de tube et de fin de tube ; - des informations de transition, permettant de mettre à jour ledit bloc de référence à au moins un instant t de ladite séquence ; Le bloc de pixels à l'instant de début d'un tube, appelé bloc de départ, peut 20 correspondre au bloc de pixels de référence définissant ledit tube, ou peut être obtenu à partir d'une modification dudit bloc de pixels de référence. Ce bloc de départ n'appartient donc pas nécessairement à une image de la séquence, mais peut provenir d'une mémoire de stockage, d'une base de données, ... On précise également que le bloc de pixels de référence (ou le bloc de 25 pixels à l'instant de début d'un tube) peut être différent d'un tube de mouvement à un autre. Par exemple, dans l'image Il de la figure 1, le bloc de pixels à l'instant de début du tube Tu3 est le bloc 3, et le bloc de pixels à l'instant de début du tube Tu4 est le bloc 4. 30 On précise également que l'instant de début d'un tube peut être différent d'un tube de mouvement à un autre. Par exemple, le tube Tul a un instant de début t0 et le tube Tu3 a un instant de début tl. Ces informations de transition comprennent notamment des informations de modification de position et/ou déplacement du bloc dans l'image courante, et 5 des informations de modification de la texture. Au cours d'une étape 32 de traitement des informations de transition, le procédé de décodage délivre un bloc courant pour chacun des tubes dans une image courante à un instant t. Par exemple, si l'on cherche à reconstruire l'image I2 (notée image courante), on met à jour le bloc 3 du tube Tu3 dans l'image I2 à 10 l'instant t2 en tenant compte du bloc 3 dans l'image Il à l'instant tl et des informations de transition associées à ce tube Tu3. Autrement dit, le bloc de départ peut évoluer au cours du temps en tenant compte des informations de transition. On parle alors de bloc courant. Le procédé de décodage comprend ensuite une étape 33 de combinaison 15 des informations associées aux blocs courants d'au moins deux desdits tubes se chevauchant dans une zone de chevauchement d'une image courante, de façon à reconstruire des pixels optimisés dans ladite zone de chevauchement. Si on considère de nouveau la figure 1, on constate par exemple que les tubes Tu3 et Tu4 se chevauchent dans l'image I2. Un mécanisme de gestion des 20 chevauchements est alors mis en place, basé sur une combinaison des informations associées aux tubes Tu3 et Tu4 (informations de texture notamment). Le mécanisme de gestion des chevauchements permet alors de définir quelle est la valeur reconstruite pour les pixels de l'image situés dans la zone de chevauchement. 25 Le procédé de décodage délivre alors une séquence d'images 34 reconstruites. On illustre plus précisément en relation avec la figure 4 l'étape 33 de combinaison des informations à différents tubes de mouvement. On considère par exemple une image I à un instant donné, comprenant 30 trois tubes de mouvement associés chacun à un bloc de pixels. Par souci de simplification, on utilise la même notation pour le bloc et le tubecorrespondant. Sur la figure 4, les trois tubes 41, 42 et 43 se chevauchent dans la zone de chevauchement hachurée notée H. Différentes techniques peuvent être mises en oeuvre pour la gestion de 5 cette zone de chevauchement H. Par exemple, l'étape de combinaison 33 met oeuvre une opération de calcul d'une moyenne de la valeur de texture attribuée à chaque pixel de la zone de chevauchement H, dans chacun des tubes se chevauchant, pour reconstruire les pixels de la zone de chevauchement. Ainsi, si un pixel P de la zone H porte la 10 valeur 210 dans le bloc 41, 230 dans le bloc 42, et 240 dans le bloc 43, le pixel reconstruit portera la valeur 226 (avec 226 = 210 + 230 + 240 ) 3 Il est également envisageable de pondérer cette moyenne, en pondérant les différents tubes de mouvement. Par exemple, une information de priorité peut être associée à chacun des tubes. Cette information de priorité peut correspondre à une 15 information de qualité. Dans ce cas, seule la valeur de texture associée au tube portant l'information de priorité la plus grande sera prise en compte. L'information de priorité peut également correspondre à une information de profondeur. Dans ce cas, il est possible de tenir compte uniquement de la valeur de texture associée au tube portant l'information de profondeur la plus 20 grande. Il est aussi possible de combiner les valeurs de texture associées à tous les tubes se chevauchant en pondérant ces valeurs par la profondeur associée à chaque tube. Selon une autre variante, il est également possible de tenir compte de la valeur de texture associée à un seul des tubes se chevauchant : par exemple, on 25 considère uniquement le tube le plus long (en durée), c'est-à-dire le tube défini sur le plus grand nombre d'images consécutives ou non consécutives, ou bien le tube le plus récent, c'est-à-dire le tube dont l'instant de création est le plus proche temporellement. Il est également possible de combiner les valeurs de texture associées à tous les tubes se chevauchant en pondérant ces valeurs par la durée 30 temporelle (différence entre l'instant de fin et l'instant de création) de chaque tube ou bien par une fonction monotone décroissante (ou inverse) de la distance temporelle par rapport à l'instant de création de chaque tube (différence entre l'instant courant et l'instant de création). Encore une autre technique repose sur la prise en compte de la position du pixel considéré dans chacun des tubes. Par exemple, un pixel P de la zone de chevauchement H est situé à la distance dl du centre du tube 41, à la distance d2 du centre du tube 42, et à la distance d3 du centre du tube 43. On peut alors tenir compte uniquement de la valeur de texture associée au tube le plus proche du pixel à reconstruire, par exemple le tube 42 si l'on considère d2 On considère dans ce cas qu'un tube de base et le (ou les) tube(s) de raffinement qui le détaille sont liés, et que leurs évolutions temporelles sont dépendantes. On décrit ci-après un exemple d'algorithme pour la mise en oeuvre du procédé de décodage pour le décodage d'un signal représentatif d'une séquence d'images : lecture d'information définissant une liste de tubes de référence, ou de bloc de pixels de référence, notamment si cette phase est mise en oeuvre côté codeur ; pour chaque tube de référence : lecture d'une indication d'utilisation ou non de ce tube de référence pour la reconstruction d'une image courante ; si ce tube est utilisé : o lecture des informations de transition associées le tube utilisé, c'est-à-dire des informations de modification de la texture et de modification de position et/ou déplacement du bloc, o mise à jour des informations de transition associées aux tubes (i.e. mise à jour de la texture et de la position et/ou déplacement) ; - pour chaque bloc de l'image courante : lecture d'une indication d'utilisation ou non d'une prédiction par tubes de mouvement ; lecture d'une indication de création ou non d'un nouveau tube ; si un nouveau tube doit être créé, lecture des informations définissant le nouveau tube de mouvement. ù lecture des informations de mise à jour de la liste de référence des tubes ; ù reconstruction de l'image courante. La reconstruction de l'image courante est ainsi réalisée par la combinaison des prédictions issues des différents tubes de mouvement. Chaque tube définit ainsi une prédiction Bt (x, y, t) , obtenue par compensation en mouvement et éventuellement interpolation de la texture de ce tube au point (x,y) et à l'instant t. Par exemple, et comme illustré en relation avec la figure 4, on combine ces différentes prédictions comme suit : I (x, y, t) _ wi È (x, y, t) + w É1(x, y, t) iEtube de base iEtube de raffinement Les poids wi et wj sont introduits afin de prendre en compte les pondérations à appliquer lors de prédictions multiples. Ainsi, selon une première variante, on peut définir ces poids par : w = 1/{nombre de prédiction en ce point} Selon une deuxième variante, chaque tube définit un poids wt lié à la position du point par rapport au tube (par exemple poids inversement proportionnel à la distance au centre de ce tube) puis wi est défini comme wt divisé par la somme des différents wt. Selon une troisième variante, la combinaison des prédictions des tubes pour obtenir la prédiction finale peut faire appel à des opérations différentes d'opérations de pondération, en utilisant par exemple des techniques issues du codage par description multiple. 5.3 Codage On présente désormais en relation avec la figure 5 les principales étapes du procédé de codage selon l'invention. Plus précisément, on considère côté codage une séquence d'images 51, que l'on souhaite coder. Au cours d'une première étape d'insertion 52, on insert dans un signal représentatif de la séquence, des tubes de mouvement, tels que définis précédemment. Plus précisément, chacun des tubes de mouvement est défini par au moins les informations suivantes : - un bloc de pixels de référence comprenant des informations de texture de référence ; - des instants de début de tube et de fin de tube ; - des informations de transition, permettant de mettre à jour ledit bloc de référence à au moins un instant t de ladite séquence. Au cours d'une étape suivante de génération 53, les informations de transition définissant les tubes de mouvement sont générées. Autrement dit, on définit pour chaque tube de mouvement les évolutions du bloc de pixels de référence au cours du temps. On génère ainsi un signal 54 représentatif de la séquence d'images 51, comprenant des tubes de mouvement, et permettant, au décodage, une combinaison des informations associées aux blocs courants d'au moins deux des tubes se chevauchant dans une zone de chevauchement d'une image courante, pour reconstruire des pixels optimisés dans la zone de chevauchement. On décrit ci-après un exemple d'algorithme pour la mise en oeuvre du procédé de codage pour le codage d'une séquence vidéo d'images. Un tel algorithme comprend deux phases principales : une phase d'établissement des tubes, et une phase de codage des tubes. A) Phase d'établissement des tubes : Dans un premier temps, une séquence vidéo est décomposée en un 25 ensemble de tubes de mouvement. Pour la première image d'une séquence, on initialise un tube de mouvement pour chaque bloc d'un ensemble de blocs recouvrant la première image. Cet ensemble de blocs recouvrant la première image peut comprendre uniquement des blocs disjoints, c'est-à-dire qui n'ont pas de pixels en commun, ou 30 bien des blocs se superposant en partie, c'est-à-dire qu'au moins deux blocs comprennent un même pixel. Le découpage considéré est alors redondant, ce qui permet par exemple de faire des descriptions multiples pour un même contenu, ou encore de mieux estimer le mouvement dans les zones de frontières d'objets. Ces tubes de mouvement permettent de définir une liste de tubes de référence. On considère alors le codage d'une image à coder, étant donné au préalable une liste d'images ou de blocs de pixels de référence connus (par exemple déjà codés/décodés et stockés en mémoire cache), ainsi qu'une liste de tubes de référence. La phase d'établissement des tubes d'algorithme pour la mise en oeuvre du procédé de codage comprend les étapes suivantes : - pour chaque tube dans la liste des tubes de référence : o détermination d'une information de position du tube dans l'image à coder de la séquence. Autrement dit, on cherche quelle serait la position de ce tube dans l'image à coder, par exemple en recherchant quelle translation de position mènerait à la meilleure prédiction pour l'image à coder ; o détermination d'une indication d'utilisation ou non du tube de référence, en utilisant par exemple une technique de seuillage sur la prédiction du tube ; o mise à jour des informations de texture, en définissant par exemple un résidu à ajouter aux valeurs de texture définies dans le tube à un instant de référence ; - pour chaque bloc de l'image à coder : 25 o détermination d'une indication d'utilisation ou non d'une prédiction par tube de mouvement pour la reconstruction du bloc : ^ si un bloc de l'image à coder n'est pas codé à l'aide des prédiction issues des tubes de référence, alors on code les valeurs de texture de ce bloc dans l'image à coder et on 30 l'associe à un nouveau tube qui viendra compléter la liste 20 de tubes de référence à l'issue du codage de l'image courante ; ^ si un bloc de l'image est reconstruit à partir des prédictions des tubes de référence, soit on décide de ne rien coder de plus, soit on décide d'initier un tube de raffinement sur ce bloc (c'est-à-dire un tube additif comprenant des valeurs de résidus à ajouter, ou un tube de description comprenant des valeurs représentatives du bloc). B) Phase de codage des tubes : Afin de coder les différents tubes, un schéma de type intra-résidu est utilisé selon cet algorithme de mise en oeuvre du codage : - lors de la création d'un tube, on code les valeurs des pixels du bloc considéré dans l'image par une technique classique de codage par bloc, par exemple en réutilisant un mode de codage intra défini dans le schéma de codage H.264 pour un bloc de taille 4x4, 8x8 ou 16x16 ; - lors de la mise à jour de la texture d'un tube de référence, un résidu à ajouter aux valeurs du bloc de pixels de référence est codé, par exemple en réutilisant un mode de codage des résidus défini dans le schéma de codage H.264 pour un bloc de taille 4x4, 8x8 ou 16x16 ; - les informations de transition (position des tubes de référence notamment) sont codées pour chaque nouvelle image à coder, par exemple en utilisant une technique de codage d'une information de mouvement de bloc comme utilisé dans le schéma de codage H.264. On obtient donc le déroulement suivant pour le codage d'une image : - codage de la liste de tubes de référence utilisée, si une telle liste a été créée. Cette étape peut être omise par utilisation de la liste pré-établie dans les codages d'images précédentes ; - pour chaque tube de référence : o codage de l'indication d'utilisation ou non du tube de référence pour l'image courante ; o si ce tube est utilisé : codage des informations de modification de la texture et de modification de position et/ou de déplacement ; - pour chaque bloc de l'image à coder : o codage de l'indication d'utilisation ou non d'une prédiction à l'aide d'au moins un tube de mouvement ; o codage de la création ou non d'un nouveau tube à partir de ce bloc ; o si un nouveau tube est créé, codage du type du nouveau tube, codage de ses valeurs de texture, si le nouveau tube est un tube de description, ou de résidu, si le nouveau tube est un tube additif). - codage des informations de mise à jour de la liste de référence de tube, par exemple en supprimant les tubes pour lesquels on a atteint l'instant de disparition. 5.4 Structures du codeur et du décodeur On présente finalement, en relation avec les figures 6A et 6B, les structures simplifiées d'un dispositif de codage et d'un dispositif de décodage mettant respectivement en oeuvre une technique de codage et une technique de décodage telles que décrites ci-dessus. Un dispositif de codage tel qu'illustré en figure 6A comprend une mémoire 61 constituée d'une mémoire tampon, une unité de traitement 62, équipée par exemple d'un microprocesseur P, et pilotée par le programme d'ordinateur 63, mettant en oeuvre le procédé de codage selon l'invention. A l'initialisation, les instructions de code du programme d'ordinateur 63 sont par exemple chargées dans une mémoire RAM avant d'être exécutées par le processeur de l'unité de traitement 62. L'unité de traitement 62 reçoit en entrée une séquence d'images 51 à coder. Le microprocesseur de l'unité de traitement 62 met en oeuvre les étapes du procédé de codage décrit précédemment, selon les instructions du programme d'ordinateur 63, pour coder la séquence d'images représentées par des tubes de mouvement. Pour cela, le dispositif de codage comprend, outre la mémoire tampon 61, des moyens d'insertion de tubes de mouvement, et des moyens de génération des informations de transition définissant les tubes de mouvement. Ces moyens sont pilotés par le microprocesseur de l'unité de traitement 62. L'unité de traitement 62 délivre en sortie un signal 54 représentatif de la 10 séquence d'images, comprenant des tubes de mouvement. Un dispositif de décodage tel qu'illustré en figure 6B comprend une mémoire 66 constituée d'une mémoire tampon, une unité de traitement 67, équipée par exemple d'un microprocesseur P, et pilotée par le programme d'ordinateur 68, mettant en oeuvre le procédé de décodage selon l'invention. 15 A l'initialisation, les instructions de code du programme d'ordinateur 68 sont par exemple chargées dans une mémoire RAM avant d'être exécutées par le processeur de l'unité de traitement 67. L'unité de traitement 67 reçoit en entrée un signal 30 représentatif d'une séquence d'images comprenant des tubes de mouvement. Le microprocesseur de l'unité de traitement 67 met en oeuvre les 20 étapes du procédé de décodage décrit précédemment, selon les instructions du programme d'ordinateur 68, pour reconstruire les images de la séquence. Pour cela, le dispositif de décodage comprend, outre la mémoire tampon 66, des moyens d'extraction du signal 30 de tubes de mouvement, des moyens de traitement de informations de transition, et des moyens de combinaison des 25 informations associées aux blocs courants d'au moins deux desdits tubes se chevauchant. Ces moyens sont pilotés par le microprocesseur de l'unité de traitement 67. L'unité de traitement 67 délivre une séquence d'images reconstruites 34. REVENDICATIONS 1. Procédé de décodage d'un signal représentatif d'une séquence d'images, caractérisé en ce qu'il comprend les étapes suivantes : - extraction (31) dudit signal de tubes de mouvement, un tube comprenant 5 un bloc de pixels pouvant évoluer indépendamment d'au moins un autre tube, deux tubes pouvant, à un instant donné, allouer à un même pixel d'une desdites images des valeurs différentes, chacun desdits tubes étant défini par au moins les informations suivantes : 10 - un bloc de pixels de référence comprenant des informations de texture de référence ; - des instants de début de tube et de fin de tube ; - des informations de transition, permettant de mettre à jour ledit bloc de référence à au moins un instant t de ladite séquence ; 15 - traitement (32) desdites informations de transition, délivrant un bloc courant pour chacun desdits tubes dans une image courante à un instant t ; - combinaison (33) des informations associées aux blocs courants d'au moins deux desdits tubes se chevauchant dans une zone de chevauchement de ladite image courante, de façon à reconstruire des pixels optimisés dans 20 ladite zone de chevauchement. 2. Procédé de décodage selon la revendication 1, caractérisé en ce que ladite étape de combinaison (33) comprend, pour au moins un pixel de ladite zone de chevauchement, une opération de calcul d'une moyenne de la valeur de texture attribuée audit pixel dans chacun desdits tubes se chevauchant. 25 3. Procédé de décodage selon la revendication 2, caractérisé en ce que ladite moyenne est une moyenne pondérée, en fonction d'au moins un des critères appartenant au groupe comprenant : - une information de profondeur associée à chacun desdits tubes ; - une information de priorité associée à chacun desdits tubes ; 30 - l'instant de création et/ou la durée de chacun desdits tubes ;- une information de position du pixel considéré dans chacun desdits tubes ; - une information relative à un type de tube de chacun desdits tubes. 4. Procédé de décodage selon l'une quelconque des revendications 1 à 3, caractérisé en ce que le bloc de pixels à l'instant de début d'un tube, appelé bloc de départ, correspond au bloc de pixels de référence définissant ledit tube, ou est obtenu à partir d'une modification dudit bloc de pixels de référence. 5. Procédé de décodage selon l'une quelconque des revendications 1 à 4, caractérisé en ce que ladite étape d'extraction (31) délivre des tubes de base et des tubes de raffinement destinés à améliorer la restitution d'au moins un tube de base. 6. Procédé de décodage selon la revendication 5, caractérisé en ce que lesdits tubes de raffinement comprennent des tubes additifs et des tubes de description, un tube additif comprenant des informations de résidu destinées à être ajoutées aux informations d'un tube de base, et un tube de description comprenant des informations de description délivrant une deuxième description complémentaire et/ou redondante d'une première description fournie par des informations d'un tube de base. 7. Procédé de décodage selon l'une quelconque des revendications 1 à 6, caractérisé en ce que lesdites informations de transition comprennent : -des informations de modification de position et/ou de déplacement dudit bloc dans ladite image courante ; et - des informations de modification de ladite texture. 8. Procédé de décodage selon la revendication 7, caractérisé en ce que lesdites informations de transition comprennent des informations de déformation dudit bloc mettant en oeuvre au moins une des opérations appartenant au groupe comprenant : - une transformation homographique ; -une transformation affine ; - une rotation ;et en ce que ladite étape de traitement (32) effectue ladite opération en fonction desdites informations de déformation. 9. Procédé de décodage selon l'une quelconque des revendications 1 à 8, caractérisé en ce que ladite étape d'extraction (31) comprend une étape de lecture, à un instant t, pour chacun desdits tubes d'au moins une des informations suivantes : - une indication d'utilisation ou non dudit tube ; - une indication d'utilisation ou non d'une prédiction pour ledit tube ; - une information de position dudit tube dans l'image ; - une information relative à un type de tube ; - des données de texture. 10. Dispositif de décodage d'un signal représentatif d'une séquence d'images, caractérisé en ce qu'il comprend : - des moyens d'extraction (31) dudit signal de tubes de mouvement, un tube 15 comprenant un bloc de pixels pouvant évoluer indépendamment d'au moins un autre tube, deux tubes pouvant, à un instant donné, allouer à un même pixel d'une desdites images des valeurs différentes, chacun desdits tubes étant défini par au moins les informations suivantes : 20 - un bloc de pixels de référence comprenant des informations de texture de référence ; - des instants de début de tube et de fin de tube ; - des informations de transition, permettant de mettre à jour ledit bloc de référence à au moins un instant t de ladite séquence ; 25 - des moyens de traitement (32) desdites informations de transition, délivrant un bloc courant pour chacun desdits tubes dans une image courante à un instant t ; - des moyens de combinaison (33) des informations associées aux blocs courants d'au moins deux desdits tubes se chevauchant dans une zone dechevauchement de ladite image courante, de façon à reconstruire des pixels optimisés dans ladite zone de chevauchement. 11. Produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, caractérisé en ce qu'il comprend des instructions de code de programme pour la mise en oeuvre du procédé de décodage selon l'une au moins des revendications 1 à 9. 12. Procédé de codage d'une séquence d'images, caractérisé en ce qu'il comprend les étapes suivantes : - insertion (52), dans un signal représentatif de ladite séquence, de tubes de mouvement, un tube comprenant un bloc de pixels pouvant évoluer indépendamment d'au moins un autre tube, deux tubes pouvant, à un instant donné, allouer à un même pixel d'une desdites images des valeurs différentes, chacun desdits tubes étant défini par au moins les informations suivantes : - un bloc de pixels de référence comprenant des informations de texture de référence ; - des instants de début de tube et de fin de tube ; - des informations de transition, permettant de mettre à jour ledit bloc de référence à au moins un instant t de ladite séquence ; - génération (53) des informations de transition définissant lesdits tubes de mouvement ; de façon à permettre, au décodage, une combinaison des informations associées aux blocs courants d'au moins deux desdits tubes se chevauchant dans une zone de chevauchement d'une image courante, pour reconstruire des pixels optimisés dans la zone de chevauchement. 13. Dispositif de codage d'une séquence d'images, caractérisé en ce qu'il comprend :- des moyens d'insertion (52), dans un signal représentatif de ladite séquence, de tubes de mouvement, un tube comprenant un bloc de pixels pouvant évoluer indépendamment d'au moins un autre tube, deux tubes pouvant, à un instant donné, allouer à un même pixel d'une desdites images des valeurs différentes, chacun desdits tubes étant défini par au moins les informations suivantes : - un bloc de pixels de référence comprenant des informations de texture de référence ; - des instants de début de tube et de fin de tube ; - des informations de transition, permettant de mettre à jour ledit bloc de référence à au moins un instant t de ladite séquence ; - des moyens de génération (53) des informations de transition définissant lesdits tubes de mouvement ; de façon à permettre, au décodage, une combinaison des informations associées aux blocs courants d'au moins deux desdits tubes se chevauchant dans une zone de chevauchement d'une image courante, pour reconstruire des pixels optimisés dans la zone de chevauchement. 14. Produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, caractérisé en ce qu'il comprend des instructions de code de programme pour la mise en oeuvre du procédé de codage selon la revendication 12. 15. Signal représentatif d'une séquence d'images, caractérisé en ce qu'il comprend des tubes de mouvement, un tube comprenant un bloc de pixels 25 pouvant évoluer indépendamment d'au moins un autre tube, deux tubes pouvant, à un instant donné, allouer à un même pixel d'une desdites images des valeurs différentes, chacun desdits tubes étant défini par au moins les informations suivantes : - un bloc de pixels de référence comprenant des informations de texture de 30 référence ;- des instants de début de tube et de fin de tube ; - des informations de transition, permettant de mettre à jour ledit bloc de référence à au moins un instant t de ladite séquence ; ledit signal comprenant des informations de transition associées à chacun desdits 5 tubes de mouvement, de façon à permettre, au décodage, une combinaison des informations associées aux blocs courants d'au moins deux desdits tubes se chevauchant dans une zone de chevauchement d'une image courante, pour reconstruire des pixels optimisés dans la zone de chevauchement. 10