Brevet FR2905785A1 — publié le 20080314

L'invention concerne un procédé et un dispositif de codage et de décodage d'images d'une séquence d'images, plus particulièrement un codage en mode inter image d'un élément d'image par rapport à un élément d'une image de référence. Il s'agit par exemple de la prédiction de macroblocs constituant l'image ou de sous-partitions composant le macrobloc de l'image. Le domaine est celui de la compression vidéo. Les images à coder sont soit de type inter P (prédictive) soit de type inter B (prédictive 10 bidirectionnelle). Les estimateurs de mouvement basés sur l'appariement par blocs ou block matching selon l'appellation anglaise, donnent d'excellents résultats lorsque le mouvement est purement translationnel. Cependant, dans des 15 conditions plus complexes où le mouvement fait intervenir des opérateurs de déformation tels que zoom, homothétie..., ce type d'estimateur de mouvement ne délivre pas un champ de mouvement de résolution suffisamment fine pour permettre ensuite une compensation pour chaque pixel de l'image ou zone de l'image. Par exemple, les rotations de zones peuvent difficilement être traduites 20 par des translations que représentent les vecteurs mouvement. La norme MPEG4-AVC propose l'exploitation de plusieurs images de référence pour le codage d'une image en mode inter qui font l'objet de listes d'images de référence, liste zéro et liste un par exemple. Un facteur de 25 pondération peut être utilisé pour le traitement des fondus-enchaînés ou fading . La figure 1 décrit de manière schématique le principe de la compensation dans le cas d'un fading, selon l'art antérieur. Une étape de préanalyse calcule un facteur de pondération entre l'image source src, référencée 1 sur la figure et l'image de référence ref, référencée 2. Avant d'effectuer 30 l'estimation de mouvement, le codeur compense l'image de référence ref à l'aide de ce facteur de pondération, obtenant ainsi une image ref, référencée 3 sur la figure, plus proche de l'image source, assurant ainsi une meilleure estimation de mouvement et corrélation. Ce facteur de pondération étant transmis via le flux de données, le décodeur, de son côté, peut effectuer l'opération inverse. 35 Cependant, cette technique ne permet pas de traiter de manière optimale les cas de fading locaux, c'est à dire ne concernant pas l'image complète. 2905785 2 Un des buts de l'invention est de pallier les inconvénients précités. L'invention a pour objet un procédé de codage d'images d'une séquence d'images, un mode de codage étant le codage inter image codant, pour un élément d'image, une différence entre cet élément d'image et un élément de 5 prédiction dans une image de référence calculé par estimation de mouvement, caractérisé en ce qu'il comporte une étape de calcul d'une image de référence, pour une image courante, par compensation en mouvement d'une image précédente de la séquence, en considérant l'ordre de codage, appelée image de référence originale, compensation en fonction de paramètres de mouvement globaux calculés entre l'image courante et cette image précédente, pour fournir une image de référence compensée en mouvement. Selon un mode particulier de mise en oeuvre, l'élément de prédiction appartient à une image de référence choisie parmi un ensemble d'images comportant au moins une ou plusieurs images de référence originales et une ou plusieurs images de référence compensées en mouvement. Selon un mode particulier de mise en oeuvre, les paramètres de mouvement sont calculés lors d'une phase de préanalyse comportant : - une étape de segmentation d'une image de la séquence, pour définir des zones dans l'image, - une étape de calcul d'un mouvement global, pour chacune de ces zones, entre cette image de la séquence et une image de référence originale, pour fournir un jeu de paramètres de mouvement pour chacune des zones, - une étape de calcul d'au moins une image de référence compensée en mouvement, par compensation en mouvement de l'image de référence originale, à partir d'au moins un jeu de paramètres. Selon un mode particulier de mise en oeuvre, il comporte, pour une image de la séquence, plusieurs images de référence originales et la phase de préanalyse calcule des images compensées en mouvement pour chacune des images de référence originales. Selon un mode particulier de mise en oeuvre, les paramètres de mouvement globaux sont calculés par modélisation du mouvement exploitant un modèle affine. L'invention concerne également un dispositif de codage d'images d'une séquence d'images, un mode de codage étant le codage inter image codant, pour un élément d'image, une différence entre cet élément d'image et un élément de prédiction dans une image de référence calculé par estimation de mouvement, caractérisé en ce qu'il comporte des moyens de calcul d'une image de référence, pour une image courante, par compensation en mouvement d'une 2905785 3 image précédente de la séquence, en considérant l'ordre de codage, appelée image de référence originale, compensation en fonction de paramètres de mouvement globaux calculés entre l'image courante et cette image précédente, pour fournir une image de référence compensée en mouvement. 5 L'invention concerne également un procédé de décodage d'une image d'une séquence d'images codée selon le procédé précédent, caractérisé en ce qu'il comporte une étape de calcul d'une image de référence à partir d'une compensation en mouvement d'une image décodée de la séquence d'images, compensation effectuée à partir d'un jeu de paramètres de mouvement annexés à 10 l'image courante à décoder. L'invention concerne également un dispositif de décodage d'une image d'une séquence d'images codée selon le procédé précédent, caractérisé en ce qu'il comporte des moyens de calcul d'une image de référence à partir d'une compensation en mouvement d'une image décodée de la séquence d'images, 15 compensation effectuée à partir d'un jeu de paramètres de mouvement annexés à l'image courante à décoder. L'invention concerne également un flux de données de codage pour le codage d'images d'une séquence d'images selon le procédé précédent, caractérisé en ce qu'il comporte au moins un champ de données comprenant des 20 données relatives à un jeu de paramètres. L'invention a pour principal avantage d'améliorer le codage des images de types inter (P ou B) en enrichissant les techniques de prédiction temporelle : il s'agit pour le codeur de tenir compte des paramètres qui décrivent 25 le mouvement dominant dans l'image, translation, zoom, rotation..., obtenus grâce à une préanalyse, et de multiplier les images de référence possibles. Grâce à l'invention, en proposant de nouvelles références compensées par des mouvements dominants estimés, l'estimation de ces mouvements étant effectuée sur des zones de l'image, une meilleure prédiction 30 est obtenue, la compression de données et/ou la qualité des images décodées sont ainsi améliorées. En effet, les opérations de rotation, d'homothétie..., que ne peuvent traduire les vecteurs mouvement, sont préalablement effectuées sur l'image courante pour donner une image de référence à partir de laquelle sont calculés ces vecteurs mouvement. 35 D'autres particularités et avantages de l'invention apparaîtront clairement dans la description suivante donnée à titre d'exemple non limitatif, et faite en regard des figures annexées qui représentent : 2905785 4 - la figure 1, le principe de compensation de l'image de référence selon l'art antérieur, - la figure 2, le calcul de mouvements globaux de l'image, - la figure 3, un organigramme relatif au procédé de codage. 5 - la figure 4, un exemple de déplacement complexe d'un objet. La figure 2 montre un exemple de mouvement de différents objets composant une image. L'image source src référencée 4 sur la figure est constituée de 4 objets, une flèche, un triangle, un carré vide et un carré grisé. Selon l'art antérieur, l'image de référence prise en compte est une 10 image précédente de la séquence d'images, image ref référencée 5. Usuellement, entre une image source src et son image de référence ref, plusieurs combinaisons de mouvements interviennent, soit globalement, soit localement, par exemple une translation d'un vecteur V , un zoom avant ou arrière d'un facteur de zoom , une rotation d'un angle O. 15 Le procédé selon l'invention effectue une phase de préanalyse pour fournir une cartographie de régions plus particulièrement concernées par un type de mouvement, translation, zoom, rotation ou tout autre mouvement. Si le nombre de mouvements détectés est important, un choix est effectué et un nombre prédéterminé de mouvements prépondérants est effectué, par exemple en 20 fonction du ratio de la surface des régions concernées. Une fois les mouvements prépondérants déterminés, une ou plusieurs images de référence supplémentaires sont construites. Dans l'exemple de la figure 2, un premier mouvement est détecté sur l'objet flèche référencé 8 et un deuxième mouvement est détecté sur l'objet 25 triangle référencé 9. Le premier mouvement peut être décomposé en une rotation de -10 , un zoom avant d'un rapport 2 et une translation d'un vecteur Vo. Ainsi, les paramètres de mouvement sont V o, `f`o = 2, Oo = -10 . Le deuxième mouvement relatif au triangle se décompose 30 simplement en une translation d'un vecteur VI. Ainsi, les paramètres de mouvement sont VI, 1 = 0, 01 = 0 . Selon l'invention, l'image src de type P, référencée 4, est codée relativement à une image de référence ref référencée 5 et également par rapport à des images de référence construites à partir de cette image de référence et des 35 paramètres de mouvement relatifs à ces mouvements globaux calculés. Ces paramètres sont transmis au décodeur par le train binaire ainsi qu'un indice ou sous-indice indiquant l'image de référence, dite originale, utilisée pour cette 2905785 5 compensation en mouvement. Il est en effet possible d'exploiter plusieurs images de référence originales pour construire des images de référence compensées en mouvement et donc de calculer différents jeux de paramètres à partir de différentes images de référence originales. On a alors au décodeur des images de 5 référence originales, qui sont des images décodées de la séquence d'images et des images de référence compensées en mouvement à partir de ces jeux de paramètres et des images de référence originales auxquelles ils correspondent. Le décodage du macrobloc courant est effectué en fonction d'un indice associé au macrobloc et indiquant l'image de référence à exploiter, les paramètres de 10 mouvement associés à l'image à décoder à laquelle appartient le macrobloc permettant de construire les images de référence compensées en mouvement. Dans l'exemple de la figure 2, 3 images de référence sont exploitées pour le codage : - l'image ref ou image de référence originale qui est une image 15 précédente de la séquence d'images, - l'image appelée refo, référencée 6 et qui est obtenue par compensation en mouvement de l'image de référence originale ref selon les paramètres (V o,q`0,Oo), - l'image appelée ref1, référencée 7 et qui est obtenue par 20 compensation en mouvement de l'image de référence originale ref selon les paramètres (V 1,Y1,01). Une fois le processus de compensation de mouvement effectué, le processus de codage se fait de manière classique, seul le nombre d'images de référence possible est plus important. Ainsi pour chaque bloc ou macrobloc de 25 l'image source, l'estimateur de mouvement, par exemple de type blockmatching fournit une série de vecteurs candidats. Charge alors à un algorithme de décision de faire un choix parmi tous les modes possibles. En moyenne, la probabilitè de sélection, pour un bloc dans une zone donnée, de vecteurs pointant vers l'image référence compensée relativement aux paramètres de mouvement de 30 la dite zone, sera plus grande. Par exemple dans la figure 2, le codage des macroblocs relatifs à la flèche dans l'image source src devraient exploiter des vecteurs mouvement faisant appel à l'image de référence refo alors que les macroblocs relatifs au triangle devraient exploiter des vecteurs mouvement faisant appel à l'image de référence ref1. 35 Le carré à droite de l'image référencée 4, représentant par exemple le macrobloc ou bloc courant à coder de l'image source, va être mieux prédit à partir de l'image de référence refo 6 qu'à partir de l'image de référence ref 5 2905785 6 puisque l'on trouve, dans cette image refo le même macrobloc ou bloc du macrobloc à coder. De même, le carré le plus à gauche dans l'image source 4 va être mieux prédit à partir de l'image de référence ref1 7 qu'à partir de l'image de référence ref puisque l'on trouve, dans cette image, à l'emplacement ou proche du 5 macrobloc à coder, le même macrobloc ou bloc. En règle générale, une modélisation du mouvement prépondérant peut être obtenue via un modèle affine complet utilisant 6 paramètres. Etant donné qu'un schéma de codage, quel qu'il soit, ne modifie pas le mouvement dominant inhérent à la séquence d'images à coder, ces paramètres peuvent, dans 10 certaines circonstances, être recalculés ou affinés au décodeur. Cette opération peut être réalisée, par exemple, sur les images de type bi-prédites, l'estimation des paramètres du/des champs de mouvement dominant se faisant alors soit par déduction et extrapolation des paramètres de l'une des images de référence, future, de type P, soit par une nouvelle estimation, à partir d'une première image 15 bi-prédite reconstruite, puis par déduction et extrapolation pour une deuxième image bi-prédite courante. Dans ce dernier cas, le décodeur doit être doté d'un estimateur de mouvement global, estimateur identique à celui du codeur. Dans tous ces cas, la transmission de paramètres n'étant pas nécessaire, il n'y a pas de données supplémentaires à transmettre et donc pas de surdébit induit. 20 La figure 3 représente un organigramme simplifié du procédé de codage selon l'invention. Une première étape 10 reçoit l'image courante de la séquence d'images. Une deuxième étape 11 effectue une segmentation de cette image pour fournir des zones de l'image correspondant par exemple à des objets. Une 25 sélection est effectuée parmi les zones calculées. Une solution consiste à ne conserver que les zones correspondant à un nombre minimum de pixels, une autre solution consiste à choisir un nombre prédéterminé de zones, celles de plus grande surface, une combinaison de ces solutions est également possible. L'étape 12 effectue un calcul d'un jeu de paramètres de mouvement 30 pour chacune des zones sélectionnées. Le déplacement ou évolution d'une zone entre l'image source et l'image de référence originale est calculé pour fournir un jeu de paramètres comme précédemment expliqué. Les opérations mathématiques ou transformation relatives à ces paramètres sont ensuite appliquées à l'image de référence originale pour fournir une image de référence 35 compensée en mouvement, étape 13. Il y a autant d'images de référence compensées en mouvement, pour une image de référence originale, qu'il y a de zones sélectionnées pour le calcul des jeux de paramètres et donc de jeux de paramètres. 2905785 7 L'étape suivante 14 est un codage d'une entité de l'image source, en général un bloc ou un macrobloc de l'image si l'on exploite la norme MPEG, à partir d'un codage inter ou intra, le codage inter prenant en compte, en plus des images de référence originales, par exemple décrites dans la norme MPEG, les 5 images de référence compensées en mouvement. Ainsi, un calcul de corrélation est effectué entre le macrobloc courant et les blocs d'image dans une fenêtre de recherche d'une image de référence, ceci pour chacune des images de référence, à savoir la ou les images de référence originales et la ou les images de référence compensées en mouvement. L'image de référence donnant la meilleure 10 corrélation ou bien le plus faible rapport coût de codage/distorsion, selon des algorithmes de décision de mode de codage connus, est sélectionnée pour le codage en mode inter de ce macrobloc courant. L'intégration dans un schéma de codage existant, par exemple 15 MPEG 4 part 10, de ce nouveau mode de prédiction inter, qu'on peut appeler intermotion zones , est simple puisqu'il suffit de construire N images de références supplémentaires, une image par jeu de paramètres (V , 0). Les images de référence, dans la norme, sont définies soit par un indice dans une liste LO (prédiction unidirectionnelle) soit par deux indices, un 20 dans chacune des deux listes LO et L1 (prédiction bidirectionnelle). Si dans le cas de la compensation d'un mouvement de translation dans une scène, il est naturel d'exploiter, comme image de référence, celles qui sont les plus proches de l'image courante, c'est à dire l'image indicée 0 dans la liste 0 et l'image indicée 0 dans la liste 1, cette règle ne s'applique cependant plus dans le cas de la compensation 25 de mouvements plus complexes tels qu'une rotation ou un zoom. En effet, ceux-ci entraînent de fortes disparités entre l'image courante et l'image indicée 0 dans la liste 0 et l'image indicée 0 dans la liste 1. Il peut être intéressant d'exploiter d'autres images de référence, pour la compensation en mouvement, que l'image la plus proche. En l'occurrence, les images compensées par l'un des mouvements 30 de la scène se révèlent être de bien meilleures images de référence, et doivent donc être ajoutées aux listes LO et L1. L'insertion de ces nouvelles images obéit à des critères de sélection : -plus une image compensée correspondant à une vaste zone de mouvement dans l'image, plus cette image aura un petit indice dans la liste. 35 - les petits indices correspondront en priorité aux mouvements les plus complexes. En effet, un objet en rotation et en translation sera mieux prédit par une image compensée par ces deux composantes que par une image compensée par l'un ou l'autre. 2905785 8 Dans l'exemple de la figure 4, un mouvement de translation global assorti, pour un objet constitué de deux étoiles dans un cercle, d'un mouvement en rotation, l'objet sera mieux prédit par une compensation en translation et en rotation alors que le fond sera mieux prédit par une compensation en translation 5 seule. Le fond représentant une plus vaste zone, la liste des images de référence compensée en mouvement contiendra l'image de référence compensée en translation à l'indice 0 et l'image de référence comprensée en translation et rotation à l'indice 1. Différentes solutions sont possibles pour la numérotation des images 10 de références. Une première solution consiste à intercaler les images de référence compensées dans la numérotation existante : considérons que le décodeur reçoit un numéro de référence ref nb, si ref nb%N == 0 alors il s'agit d'une prédiction relativement à la référence ref, sinon il s'agit d'une prédiction relativement à la 15 référence ref(ref_nb%N)-1 Une seconde solution consiste à utiliser une numérotation complémentaire pour les images de référence compensées. La syntaxe du flux binaire est donc modifiée en ajoutant le codage d'un numéro correspondant à un jeu de paramètres transmis, par exemple 0 pour ref, 1 pour refo, 2 pour ref1, 20 relativement à l'ordre dans lequel les jeux de paramètres (V , , 0) sont transmis, refo et ref1 correspondant ainsi à l'image ref compensée à l'aide du jeu de paramètres utilisé pour cette compensation. L'invention concerne également un procédé de décodage mettant en 25 oeuvre les opérations inverses du procédé de codage. En particulier, les données relatives aux jeux de paramètres de mouvement, extraites par exemple d'un champ spécifique dans le flux de données reçu par le décodeur, permettent de calculer les images de référence compensées en mouvement, par compensation en mouvement des images décodées de référence originales auxquelles elles 30 correspondent. Les données relatives à un bloc ou macrobloc à décoder sont traitées. Lorsqu'un bloc a été codé en mode inter, lorsque le vecteur mouvement associé au résidu fait référence à une image de référence compensée en mouvement, le bloc de prédiction est extrait de cette image de référence compensée en mouvement, bloc déterminé, de manière connue, à partir de ce 35 vecteur mouvement et de la position du bloc dans l'image courante. Le bloc de prédiction est ajouté au résidu, pour fournir le bloc décodé. 5 2905785 9 Les paramètres géométriques décrits précédemment sont des exemples de mise en oeuvre. Il est bien sur envisageable d'utiliser d'autres paramètres relatifs à des transformations géométriques plus complexes. Les applications de l'invention concernent la compression d'images numériques, pour la transmission ou le stockage, exploitant des modes de codage de type inter-image. REVENDICATIONS 1. Procédé de codage d'images d'une séquence d'images, un mode de codage étant le codage inter image codant, pour un élément d'image, une différence entre cet élément d'image et un élément de prédiction dans une image de référence calculé par estimation de mouvement, caractérisé en ce qu'il comporte une étape de calcul (13) d'une image de référence, pour une image courante, par compensation en mouvement d'une image précédente de la séquence, en considérant l'ordre de codage, appelée image de référence originale, compensation en fonction de paramètres de mouvement globaux (12) calculés entre l'image courante et cette image précédente, pour fournir une image de référence compensée en mouvement. 2. Procédé selon la revendication 1, caractérisé en ce que l'élément de prédiction appartient à une image de référence choisie parmi un ensemble d'images comportant au moins une ou plusieurs images de référence originales et une ou plusieurs images de référence compensées en mouvement. 3. Procédé selon la revendication 1, caractérisé en ce que les 20 paramètres de mouvement sont calculés lors d'une phase de préanalyse comportant : - une étape de segmentation (11) d'une image de la séquence, pour définir des zones dans l'image, - une étape de calcul (12) d'un mouvement global, pour chacune de 25 ces zones, entre cette image de la séquence et une image de référence originale, pour fournir un jeu de paramètres de mouvement pour chacune des zones, - une étape de calcul (13) d'au moins une image de référence compensée en mouvement, par compensation en mouvement de l'image de référence originale, à partir d'au moins un jeu de paramètres. 30 4. Procédé selon la revendication 3, caractérisé en ce qu'il comporte, pour une image de la séquence, plusieurs images de référence originales et en ce que la phase de préanalyse calcule des images compensées en mouvement pour chacune des images de référence originales. 5. Procédé de codage selon la revendication 1, caractérisé en ce que les paramètres de mouvement globaux sont calculés par modélisation du mouvement exploitant un modèle affine. 35 2905785 11 6. Dispositif de codage d'images d'une séquence d'images, un mode de codage étant le codage inter image codant, pour un élément d'image, une différence entre cet élément d'image et un élément de prédiction dans une image 5 de référence calculé par estimation de mouvement, caractérisé en ce qu'il comporte des moyens de calcul (13) d'une image de référence, pour une image courante, par compensation en mouvement d'une image précédente de la séquence, en considérant l'ordre de codage, appelée image de référence originale, compensation en fonction de paramètres de mouvement globaux 10 calculés entre l'image courante et cette image précédente, pour fournir une image de référence compensée en mouvement. 7. Procédé de décodage d'une image d'une séquence d'images, caractérisé en ce qu'il comporte une étape de calcul d'une image de référence à 15 partir d'une compensation en mouvement d'une image décodée de la séquence d'images, compensation effectuée à partir d'un jeu de paramètres de mouvements globaux (12) calculés lors du codage, entre l'image courante et cette image précédente et annexés à l'image courante à décoder. 8. Dispositif de décodage d'une image d'une séquence d'images, caractérisé en ce qu'il comporte des moyens de calcul d'une image de référence à partir d'une compensation en mouvement d'une image décodée de la séquence d'images, compensation effectuée à partir d'un jeu de paramètres de mouvements globaux (12) calculés lors du codage, entre l'image courante et cette image précédente et annexés à l'image courante à décoder.