Brevet FR2876860A1 — publié le 20060421

L'invention concerne un procédé et dispositif de codage et décodage hiérarchique d'images vidéos de différents formats non proportionnels. Elle concerne en particulier des images ayant une partie vidéo commune. Il s'agit par exemple du codage d'un signal de télévision numérique au format SD, acronyme de l'anglais Standard Definition et au format haute définition HD. Les codeurs vidéo à échelonnabilité spatiale sont du domaine connu. Le flux de données généré par le codeur vidéo a une hiérarchie échelonnable, les données codées sont incorporées dans le flux de manière hiérarchique, avec échelonnabilité spatiale. Les formats vidéo concernes par ces codeurs sont ceux pour lesquels les dimensions de la résolution haute correspondent à un multiple de 2 de celles de la résolution basse, permettant une décomposition dyadique. Ainsi, un codage compatible d'un format QCIF, acronyme de l'anglais Quarter Common Intermediate Format et de dimensions 176 x 144 et d'un format CIF, de dimensions 352 x 288, ou bien un codage compatible d'un format CIF et d'un format 4 CIF, de dimensions 704 x 576, s'obtient par sous-échantillonnage et filtrage de l'image haute résolution. Le codage hiérarchique permet d'obtenir une couche de base, relative au format basse résolution, et une couche supérieure qui correspond au format de plus grande résolution. Les données complémentaires relatives à la couche supérieure sont généralement calculées selon le procédé suivant: codage de l'image basse résolution et décodage local de cette image codée pour obtenir une image reconstruite, - mise à l'échelle ou zoom de l'image basse résolution reconstruite, par exemple par interpolation et filtrage, pour obtenir une image au format haute résolution, - différence, pixel à pixel, des valeurs de luminance de l'image source et de l'image reconstruite ou d'une image de prédiction basée sur cette image reconstruite pour obtenir des résidus constituant les données de la couche supérieure. Ainsi, le codage de l'image haute résolution exploite l'image basse résolution mise à l'échelle comme image de prédiction. Ce codage n'est efficace que dans le cas ou les images peuvent être superposées. Le coût de codage de l'image haute résolution n'est pas optimisé si les résolutions ou formats d'images ne sont pas proportionnels. Si le format haute résolution n'est pas lié au format basse résolution par une transformation dyadique, une partie de l'image au format haute résolution correspond à une zone vidéo extérieure à celle codée par l'image basse résolution et ne prend donc pas cette image comme image de prédiction. Ainsi, le codage de l'ensemble de l'image haute résolution, en particulier si elle possède des zones vidéo importantes non communes à l'image basse résolution, peut être d'un coût élevé. D'autre part, les modes de codage classiques utilisés ne permettent pas d'optimiser le coût de codage de l'image haute résolution. L'invention a pour but de pallier les inconvénients précités. Un des objets de l'invention est un procédé de codage hiérarchique d'images vidéo de différents formats non proportionnels pour donner un flux de données codées, une première image (F1) au format F1 et une deuxième image (F2) au format F2 de résolution inférieure au premier format F1, le contenu vidéo des iriages (F1) et (F2) ayant au moins une partie commune, caractérisé en ce qu'il met en oeuvre les étapes suivantes: - codage de l'image (F2) pour fournir des données codées à une couche de base du flux de données codées, - zoom de l'image (F2) pour obtenir une image basse résolution 20 zoomée (Fz) de dimensions celles de l'image (F1) pour la partie vidéo commune, codage de l'image haute résolution (FI) pour fournie des données codées à une couche supérieure du flux de données codées et exploitant au moins un des modes suivants: - codage prédictif inter couche utilisant une image précédente basse résolution zoomée comme image de prédiction dans laquelle est déterminé un bloc prédit et un vecteur mouvement définissant ce bloc, - codage prédictif inter couches exploitant une image courante basse résolution zoomée comme image de prédiction dans laquelle est déterminé un bloc prédit et un vecteur mouvement définissant ce bloc. Selon une mise en oeuvre particulière, le procédé est caractérisé en ce que le codage de l'image haute résolution est réalisé selon les étapes suivantes: - codage de la zone de l'image au contenu vidéo commun pour fournir une image de résidus relatifs à l'image de prédiction (Fz), 30 décodage de cette zone pour donner une zone commune reconstruite, - codage de la partie non commune utilisant au moins le mode de codage inter spatial consistant à exploiter la zone commune reconstruite comme image de prédiction pour la détermination d'un bloc prédit. Selon une mise en oeuvre particulière, l'image (F2) utilisée pour le zoom est une image reconstruite obtenue par décodage local de l'image codée (F2). Selon une mise en oeuvre particulière, le codage prédictif inter couches comporte un sous-mode dans lequel le macrobloc prédit est le macrobloc se trouvant au même emplacement que le macrobloc à coder. Selon une mise en oeuvre particulière, le zoom consiste en un suréchantillonnage et filtrage de l'image. Selon une mise en oeuvre particulière, les images vidéo sont des 15 images de sous-bandes obtenues par décomposition temporelle de type ondelette ou codage sous-bandes des images source. L'invention concerne également un procédé de décodage d'un flux de données numériques structuré en au moins une couche de base comprenant des données relatives à une image basse résolution et en une couche supérieure comprenant des données relatives à une image haute résolution, l'image basse résolution correspondant à au moins une partie vidéo de l'image haute résolution, caractérisé en ce qu'il comporte les étapes suivantes: extraction de données de la couche de base relatives à l'image basse résolution et décodage de l'image basse résolution, - zoom de l'image décodée pour donner une image zoomée (Fz), - extraction et décodage de données de la couche supérieure en mettant en oeuvre au moins un des modes de décodage suivants: - mode prédictif inter couche exploitant un bloc dans l'image précédente basse résolution décodée et zoomée (Fz) désigné par un vecteur mouvement, - mode prédictif inter couches exploitant ur bloc dans l'image courante basse résolution décodée et zoomée, désigné par un vecteur mouvement. Selon une mise en oeuvre particulilère, la couche supérieure étant constituée de données codées correspondant à une image de résidus relatifs à une image de prédiction (Fz) pour la partie commune à l'image basse résolution et de données codées correspondant à une image de bords relative à la partie non commune, lors du décodage de l'image haute résolution, la partie commune à l'image basse résolution est d'abord décodée à partir de l'image de résidus et de l'image zoomée et l'image de bord est ensuite décodée en mettant en oeuvre au moins un mode inter spatial exploitant des blocs dans la dite partie commune décodée déterminés par des vecteurs mouvement. Grâce à ces nouveaux modes de codage de l'image haute résolution, le taux de compression est amélioré. Une meilleure qualité d'image est obtenue pour ces images haute résolution pour un même coût de codage de ces images. 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: - la figure 1, un organigramme du procédé de codage, - la figure 2, une représentation des formats à coder, - la figure 3, une illustration des modes de codages. Le procédé de codage des données est un procédé de codage hiérarchique, c'est à dire que le flux de données codées est structuré de manière hiérarchique, les données relatives au format de plus faible résclution étant intégrées dans une couche de base ou couche inférieure, les données complémentaires relatives au format de résolution supérieure étant intégrées dans une couche supérieure. Il est ainsi facile, au niveau du flux de données, de sélectionner les seules données relatives à un standard ou un format, en sélectionnant les seules couches correspondant au niveau de résolution souhaité. II s'agit ici d'échelonnabilité spatiale, compatible de toute échelonnabilité temporelle exigée par le standard relatif au format de résolution. L'invention concerne le codage de contenus vidéo à différents formats non proportionnels en largeur et/ou hauteur d'image et ayant une partie vidéo commune. Un des formats est de résolution inférieure à l'autre forrnat. II est soit de plus faible définition avec le nombre de pixels par ligne ou le nombre de lignes définissant par exemple la partie vidéo commune inférieur, soit. pour une même définition, de taille inférieure. La figure 1 représente un organigramme du procédé de codage selon l'invention. Une première étape 1 prend en compte les différents formats vidéo à coder. Le flux de données codées obtenu en sortie du codeur permet d'alimenter des décodeurs compatibles d'un de ces formats, la sélection du format, fonction du dispositif d'affichage, du décodeur ou de paramètres tels que le débit de transmission se faisant par filtrage des données au niveau de ce flux de données codées, en amont ou au niveau du décodeur. Dans l'exemple décrit, un premier format haute résolution F1 et un deuxième format basse résolution F2 sont exploités. Chacun de ces formats est défini par sa largeur LEI, LF2 ou nombre de pixels sur une ligne et sa hauteur HF1, HF2 ou nombre de lignes. On considère que les sources vidéo alimentant le codeur sont aux formats F1 et F2. Elles correspondent, pour une partie seulement, à un même contenu vidéo. Pour une partie seulement signifie que le contenu vidéo de ces deux sources est supposé différent, c'est à dire que l'on ne peut pas passer d'un format à l'autre par simple homothétie ou, d'une autre manière, que les formats ne sont pas proportionnels.. Des paramètres géométriques sont également transmis au codeur permettant de définir la partie vidéo commune aux deux formats. La création de ces images source et le calcul des paramètres 20 géométriques peuvent être effectués de la manière suivante: A partir des formats choisis, une première et une deuxième fenêtre vidéo sont dimensionnées et positionnées dans une image d'origine pour définir les contenus vidéo de cette image à coder dans chacun des formats. Par hypothèse, ces deux fenêtres se recouvrent au moins partiellement. Elles définissent les contenus vidéo à coder au format F1 et au format F2. Les dimensions de ces premières et deuxièmes fenêtres sont choisies homothétiques respectivement aux formats F1 et F2. Les images source haute et basse résolution transmises au codeur peuvent avoir la même définition que l'image d'origine ou des définitions différentes de celle de l'image d'origine ou entre elles, selon qu'elles subissent ou non des opérations d'échantillonnage et filtrage. Le terme définition signifie ici le nombre de pixels par ligne ou le nombre de lignes pour un contenu vidéo donné. L'image haute résolution, appelée (F1) , est choisie comme image de référence pour définir les paramètres géométriques. Il s'agit par exemple de la position de l'image (F2) de format F2 dans l'image (F1) et du rapport de définition qui correspond au zoom à faire subir à l'image (F2) pour metire en correspondance le contenu vidéo de (F2) au contenu vidéo de (F1) pour la partie commune. L'étape 2 effectue un codage de l'image vidéo au format F2. L'étape 3 réalise le décodage de cette image codée pour fournir une image décodée locale ou image reconstruite. Dans une version simplifiée, l'image décodée locale peut consister en l'image d'origine avant codage, c'est à dire en l'image source (F2). Cette image est ensuite mise à l'échelle ou zoomée d'un rapport correspondant au paramètre géométrique relatif au rapport de définition, pour obtenir une image (F2) zoomée, appelée (Fz). L'étape suivante 4 effectue un positionnement de l'image (Fz) sur l'image haute résolution (F1) en fonction du paramètre géométrique relatif à la position, de manière à faire correspondre les contenus vidéos. L'étape suivante 5 effectue le codage de l'image haute résolution. Ce codage prend en compte les différents modes de codage objets de l'invention et explicités plus loin. L'étape 6 insère les données de codage relatives à l'image (F2) dans une couche de base du flux de données et les données de codage spécifiques à l'image haute résolution (FI) dans une couche supérieure. La figure 2 représente un premier contenu vidéo au format de codage haute résolution FI, référence 11 et une fenêtre aux dimensions Lw et Hom,, référence 12. Cette fenêtre est définie et positionnée dans l'image haute résolution à partir des paramètres géométriques. Le contenu vidéo de cette fenêtre est calculé à partir du contenu vidéo au format de codage basse résolution F2 de dimensions LF2 et HF2, référence 13. L'image au format F2 est codée puis décodée pour fournir une image décodée locale qui est ensuite suréchantillonnée pour donner une image mise à l'échelle ou zoomée (Fz) aux dimensions de la fenêtre 12. La figure 3 représente différents modes de codage de l'image haute résolution (FI), selon l'invention. L'image suréchantillonnée (Fz) est référencée 23, la fenêtre positionnée dans l'image haute résolution est référencée 22, l'image (F1) est référencée 21. Dans cet exemple, la fenê':re est positionnée au centre de l'image (F1) générant des bandes verticales droite 24 et gauche 25 comme zones de l'image (F1) non recouvertes ou non communes. L'invention propose d'ajouter de nouveaux modes de codage à des modes déjà connus, pour le codage de l'image haute résolution. Parmi les modes connus, un premier mode de codage appelé codage prédictif intra exploite un des macroblocs précédemment codés. Le macrobloc courant de l'image courante haute définition est codé en prenant en compte un des macroblocs voisins du macrobloc courant, un macrobloc de l'image courante à gauche ou au dessus du macrobloc courant. Cette sélection est faite en fonction du taux de corrélation avec le macrobloc courant à coder. Un autre mode de codage également connu, appelé codage prédictif inter, exploite une image haute résolution précédemment codée. Le macrobloc courant de l'image haute résolution est codé à partir d'un macrobloc prédictif qui est un bloc d'image sélectionné dans une fenêtre de recherche d'une image haute résolution précédente. Cette sélection est effectuée en fonction du taux de corrélation avec le macrobloc courant à coder, le bloc d'image sélectionné est défini par un vecteur mouvement. Les nouveaux modes de codage proposés pour le codage de l'image haute résolution sont décrits ci-après: Un mode de codage appelé codage prédictif inter couches consiste à exploiter l'image basse résolution mise à l'échelle correspondant, au niveau temporel, à l'image haute résolution à coder. Ce mode de codage utilise des informations de codage appartenant à la couche de base pour le codage d'informations appartenant à la couche supérieure. Le bloc prédictif est recherché dans l'image (Fz), c'est à dire dans l'image au format F2 reconstruite et mise à l'échelle ou zoomée. La sélection du bloc dans l'image (F;:) est fonction du taux de corrélation avec le macrobloc courant. Une information de position est calculée pour définir le bloc d'image sélectionné et transmise dans le flux de données sous forme de vecteur mouvement. Un autre mode qui est une variante du mode de codage prédictif inter couches exploite une image précédente basse résolution mise à l'échelle. Le bloc prédictif est recherché dans une image (Fz) précédente, c'est à dire une image (F2) reconstruite précédente mise à l'échelle. La sélection du bloc dans l'image (Fz) est fonction du taux de corrélation avec le macrobloc courant. Le bloc est défini à partir d'un vecteur mouvement. Une variante des modes précédents, mode par défaut , consiste à exploiter le macrobloc de l'image (Fz) se trouvant à la même position que le macrobloc courant à coder. Dans ce cas, qui ne concerne que le codage des macroblocs de la partie de l'image haute résolution commune à l'image basse résolution, aucun vecteur mouvement n'est transmis. Ce mode évite de coder un vecteur mouvement nul et offre donc un coût de codage moindre. Un mode de codage appelé mode inter spatial s'applique à une structuration particulière du codage de l'image haute résolution qui se sait en deux phases successives. Le codage de l'image haute résolution n'est pas réalisé séquentiellement, macrobloc par macrobloc, selon un balayage de type télévision mais se fait en une première phase traitant la zone de l'image haute résolution commune à Fz puis une deuxième phase traitant de la partie vidéo non commune à Fz. Les paramètres géométriques permettent de définir la partie de l'image haute résolution commune, au niveau contenu vidéo, à l'image basse résolution. Cette portion d'image est codée, lors de la première phase, en exploitant l'image (F2) reconstruite ou l'image source (F2) zoomée comme image de prédiction. Une image de résidus ou image des hautes fréquences est alors obtenue. La deuxième phase consiste à coder la partie non commune ou image de bords. L'invention propose, pour ce codage, l'utilisation d'un mode particulier de codage, appelé mode inter spatial, parmi les différents modes de codage. Ce mode de codage consiste à coder un macrobloc de la zone non commune à l'image basse résolution en utilisant la zone commune de l'image comme image de prédiction, en indiquant la position du bloc prédictif dans la zone commune à l'aide d'un vecteur mouvement. L'image de prédiction peut être reconstruite à partir de l'image zoomée et de l'image de résidus ou bien peut être déduite de l'image source haute définition en ne sélectionnant de cette image que la partie commune. A l'étape 4 du procédé de codage, l'image (Fz) est positionnée sur l'image F1. Le procédé code alors cette partie d'image commune par exemple en calculant le résidu prenant en compte l'image (Fz) comme image de prédiction. L'image de résidus est ensuite combinée à l'image reconstruite (F2) zoomée pour fournir une image recombinée qui peut servir de prédiction pour le codage de la partie non commune de l'image haute définition. En se référant à la figure 3, le mode de codage inter spatial exploite, comme image de prédiction pour le codage des bords, la zone centrale commune 22 reconstruite à partir de l'image basse résolution zoomée 23 et de l'image de résidus correspondant à cette zone commune. Le bloc d'image dans cette zone centrale 22, obtenu par calcul de corrélation, esi défini par un vecteur mouvement référencé 26 sur la figure 3. Le mode de codage inter couches exploite l'image zoomée 23 comme image de prédiction. Le bloc d'image dans l'image zoomée 23, obtenu par calcul de corrélation est défini par le vecteur mouvement référencé 27 sur la figure 3. L'invention concerne aussi les procédés de décodage d'images sources codées selon le procédé précédemment décrit. Le décodage consiste alors en l'extraction de données de la couche de base relatives à l'image basse résolution et le décodage de cette image basse résolution, en un zoom de l'image décodée pour donner une image zoomée (Fz), en l'extraction et décodage de données de la couche supérieure en mettant en oeuvre au moins un des modes de décodage suivants. II s'agit du mode prédictif inter couche exploitant un bloc dans l'image précédente basse résolution décodée et zoomée (Fz) comme bloc de prédiction, il s'agit aussi du mode prédictif inter couches exploitant un bloc dans l'image courante basse résolution décodée et zoomée comme bloc de prédiction. Lorsque la couche supérieure est constituée d'une image de résidus relatifs à une image de prédiction (Fz) pour la partie commune à l'image basse résolution et d'une image de bords relative à la partie non commune, le décodage de l'image haute résolution se fait en deux phases. D'abord la partie commune de l'image haute définition est calculée à partir de l'image de résidus et en exploitant l'image basse résolution zoomée comme image de prédiction, c'est la première phase. Ensuite, la partie non commune ou image de bords est décodée en mettant en oeuvre au moins un mode de décodage inter spatial qui consiste à récupérer un bloc d'image dans la partie commune de l'image haute définition, bloc défini par un vecteur mouvement, et à l'utiliser comme bloc de prédiction pour le décodage d'un macrobloc de cette image de bords codé selon le mode inter spatial. Le procédé de codage mis en oeuvre pour le codage de la couche de base et de la couche supérieure peut être de type hybride, exploitant la corrélation spatiale avec la transformée cosinus discrète ou la transformée par ondelettes spatiale et la corrélation temporelle avec le codage inter-images ou bien de type sous-bande exploitant le codage sousbande ou le codage ondelettes. Le procédé de codage est décrit pour des images source vidéo. Il est également possible, sans sortir du domaine de l'invention, de coder des images sources prétraitées, par exemple des images de sous-bandes. Le procédé peut ainsi s'appliquer sur chacune des images de sous-bandes, basse fréquences et hautes fréquences obtenues par filtrage spatial ou spatio-temporel. La même décomposition sous-bandes étant appliquée aux irnages basse et haute résolution, les sous-bandes équivalentes de la basse et de la haute résolution peuvent être codées selon le procédé décrit dans l'invention. Par exemple, la sous-bande basse fréquence de l'image basse résolution et de l'image haute résolution peuvent être codées selon ce procédé. Ceci est aussi vrai pour toutes les autres sousbandes spatiales. 11 REVENDICATIONS 1 Procédé de codage hiérarchique d'images vidéo de différents formats non proportionnels pour donner un flux de données codées, une première image (FI) au format F1 et une deuxième image (F2) au format F2 de résolution inférieure au premier format F1, le contenu vidéo des images (F1) et (F2) ayant au moins une partie commune, caractérisé en ce qu'il met en oeuvre les étapes suivantes: - codage (2) de l'image (F2) pour fournir des données codées à une couche de base du flux de données codées, - zoom (3) de l'image (F2) pour obtenir une image basse résolution zoomée (Fz) de dimensions celles de l'image (F1) pour la partie vidéo commune, - codage (5) de l'image haute résolution (F1) pour fournir des données codées à une couche supérieure du flux de données codées et exploitant au moins un des modes suivants: - codage prédictif inter couche utilisant une image précédente basse résolution zoomée comme image de prédiction dans laquelle est déterminé un bloc prédit et un vecteur mouvement définissant ce bloc, - codage prédictif inter couches exploitant une image courante basse résolution zoomée comme image de prédiction dans laquelle est déterminé un bloc prédit et un vecteur mouvement définissant ce bloc. 2 Procédé selon la revendication 1, caractérisé en ce que le codage (5) de l'image haute résolution est réalisé selon les étapes suivantes: - codage de la zone de l'image au contenu vidéo commun pour fournir une image de résidus relatifs à l'image de prédiction (Fz), - décodage de cette zone pour donner une zone commune reconstruite, - codage de la partie non commune utilisant au moins le mode de codage inter spatial consistant à exploiter la zone commune reconstruite comme image de prédiction pour la détermination d'un bloc prédit. 3 Procédé selon la revendication 1, caractérisé en ce que l'image (F2) utilisée pour le zoom est une image reconstruite obtenue par déc dage local (3) de l'image codée (F2). 4 Procédé selon la revendication 1, caractérisé en ce que le codage prédictif inter couches comporte un sous-mode dans lequel le macrobloc prédit est le macrobloc se trouvant au même emplacement que le macrobloc à coder. 5 Procédé selon la revendication 1, caractérisé en ce que le zoom consiste en un suréchantillonnage et filtrage de l'image. 6 Procédé selon la revendication 1, caractérisé en ce que les images vidéo sont des images de sous-bandes obtenues par décomposition 15 temporelle de type ondelette ou codage sous-bandes des images source. 7 Procédé de décodage d'un flux de données numériques structuré en au moins une couche de base comprenant des données relatives à une image basse résolution et en une couche supérieure comprenant des données relatives à une image haute résolution, l'image basse résclution correspondant à au moins une partie vidéo de l'image haute résolution, caractérisé en ce qu'il comporte les étapes suivantes: - extraction de données de la couche de base relatives à l'image basse résolution et décodage de l'image basse résolution, - zoom de l'image décodée (13) pour donner une image (12) zoomée (Fz), - extraction et décodage de données de la couche supérieure en mettant en oeuvre au moins un des modes de décodage suivants: - mode prédictif inter couche exploitant un bloc dans l'image précédente basse résolution décodée et zoomée (Fz) désigné par un vecteur mouvement, - mode prédictif inter couches exploitant un bloc (27) dans l'image courante basse résolution décodée et zoomée, désigné par un vecteur mouvement. 8 Procédé de décodage selon la revendication 7, la couche supérieure étant constituée de données codées correspondant à une image de résidus relatifs à une image de prédiction (Fz) pour la partie commune à l'image basse résolution et de données codées correspondant à une image de bords relative à la partie non commune, caractérisé en ce que, lors du décodage de l'image haute résolution, la partie commune (22) à l'image basse résolution est d'abord décodée à partir de l'image de résidus et de l'image zoomée et en ce que l'image de bords (24, 25) est ensuite décodée en mettant en oeuvre au moins un mode inter spatial exploitant des blocs dans la dite partie commune décodée (22) déterminés par des vecteurs mouvement.