Brevet FR2951346A1 — publié le 20110415

PROCEDE DE CODAGE MULTIVUES ET PROCEDE DE DECODAGE CORRESPONDANT 1. Domaine de l'invention L'invention se rapporte au domaine général du codage d'image. L'invention concerne un procédé de codage multivues d'une séquence d'images et un procédé de décodage correspondant. 2. Etat de l'art Le codage multivues comprend le codage de séquences d'images représentant une même scène capturée avec différents angles de vue. Plus généralement, le codage multivues comprend le codage de séquences d'images représentant une même scène capturée dans différentes conditions, p.ex. angle de prise de vue, exposition, etc. Chaque séquence d'images représente donc une vue particulière de la scène. Il est connu pour coder de telles vues d'utiliser l'information redondante qui existe entre elles. A cet effet, une des vues est généralement codée indépendamment des autres vues selon un procédé de codage monovue connu. Un procédé de codage conforme à la norme de codage H.264/AVC est un exemple d'un tel procédé de codage monovue. Sur la figure 1, les images de la vue j sont donc codées indépendamment des images de la vue i, p.ex. conformément à la norme H.264/AVC ou encore la norme MPEG-2 Video. Les images de la vue i sont ensuite codées notamment à partir des images de la vue j. Plus précisément, un bloc X de la vue i est codé soit classiquement selon un procédé de codage monovue (p.ex. conforme à H.264/AVC ou MPEG-2 Video) à partir de blocs de la même vue i préalablement codés et reconstruits (flèches en trait plein sur la figure 1), soit selon un procédé de codage inter-vues (p.ex. conforme à l'Annexe H û l'extension multivue dite MVC û de la norme ITU-T Rec. H.264 / ISO/IEC 14496-10) à partir d'un bloc Z non nécessairement colocalisé de l'image de la vue j qui coïncide temporellement avec l'image T de la vue i à laquelle appartient le bloc X (flèche en traits pointillés sur la figure 1). Selon une variante connue illustrée par la figure 2, le bloc X de la vue i est codé selon un procédé de codage inter-couche également connu sous le nom de codage scalable à partir du bloc X colocalisé et des éventuellement de blocs voisins (e.g. A, B, C, etc) de l'image T de la vue j qui coïncide temporellement avec l'image T de la vue i à laquelle appartient le bloc X (flèche en pointillés sur la figure 2). Un procédé de codage conforme à la norme de codage SVC (acronyme anglais de « Scalable Video Coding ») est un exemple d'un tel procédé de codage inter-couche. Un tel procédé de codage, de type SVC, comprend la prédiction du bloc X de la vue i selon l'un des modes de prédiction définis dans l'Annexe G de la norme ITU-T Rec. H.264 / ISO/IEC 14496-10. La prédiction du bloc X comprend la prédiction de données associées au bloc X à partir de données correspondantes associées au bloc X de la vue j. Ces données sont par exemple des données de texture, des données de mouvement (p.ex. vecteurs de mouvement, indices d'image de référence, partitionnement en sous-blocs) ou encore des données résiduelles. Les procédés de codage SVC et MVC décrits restent limités en termes d'efficacité de codage et ne peuvent pas être utilisés conjointement. 3. Résumé de l'invention L'invention a pour but de pallier au moins un des inconvénients de l'art antérieur. L'invention concerne un procédé de codage multivues d'une séquence d'images se présentant sous la forme d'une première vue et d'au moins une vue additionnelle, chacune des vues comprenant des images de la séquence divisées en blocs. Le procédé de codage comprend les étapes suivantes : - coder les images de la première vue en un flux de données codées ; et - coder, dans le flux de données codées, les images de la vue additionnelle à partir de données de prédiction. Le codage d'au moins un bloc courant d'une image de la vue additionnelle, dite image courante, comprend les étapes suivantes : - déterminer, selon un mode de prédiction scalable SVC, des données de prédiction pour le au moins un bloc courant à partir de données correspondantes associées à au moins un bloc de référence d'une image de la première vue, dite image de référence, non colocalisé ; - coder le au moins un bloc courant à partir des données de prédiction ; - coder pour le bloc courant des données indiquant la position du au moins un bloc référence par rapport au bloc de la image de référence colocalisé au bloc courant. Le procédé de codage selon l'invention permet avantageusement d'augmenter l'efficacité de codage de plusieurs vues d'une même scène. Selon un aspect particulier de l'invention, la image courante et la image de référence ne coïncident pas temporellement et, pour le au moins un bloc courant, une donnée d'identification de la image de référence est codée dans le flux de données codées. Selon une caractéristique particulière, les données de prédiction pour le au moins un bloc courant sont des données de mouvement et/ou des données de texture et/ou des données résiduelles. Selon un autre aspect particulier de l'invention, la vue additionnelle comprend les mêmes images que les images de la première vue avec une exposition différente et, pour le au moins un bloc courant, au moins une donnée représentative d'une variation d'exposition entre le bloc courant et le bloc de référence est codé dans le flux de données codées. L'invention concerne également un procédé de décodage d'un flux de données codées représentatif d'une séquence d'images se présentant sous la forme d'une première vue et d'au moins une vue additionnelle, chacune des vues comprenant des images de la séquence divisées en blocs, le procédé de décodage comprenant les étapes suivantes : - reconstruire les images de la première vue à partir du décodage d'au moins 25 une première partie du flux de données codées; et - reconstruire les images de la vue additionnelle à partir du décodage d'au moins une deuxième partie du flux de données codées et de données de prédiction. La reconstruction d'au moins un bloc courant d'une image de la vue 30 additionnelle, dite image courante, comprend les étapes suivantes : - décoder pour le bloc courant des données indiquant la position d'au moins un bloc référence d'une image de la première vue, dite image de référence, par rapport au bloc de la image de référence, colocalisé au bloc courant. - déterminer, selon un mode de prédiction scalable SVC, des données de prédiction pour le au moins un bloc courant à partir de données correspondantes associées au moins un bloc de référence; et - reconstruire le au moins un bloc courant à partir des données de prédiction. 4. Listes des figures L'invention sera mieux comprise et illustrée au moyen d'exemples de modes de réalisation et de mise en oeuvre avantageux, nullement limitatifs, en référence aux figures annexées sur lesquelles : les figures 1 et 2 illustrent deux vues d'une même scène et les modes de codage selon l'état de l'art; la figure 3 illustre le procédé de codage selon l'invention ; les figures 4 et 5 illustrent deux vues d'une même scène et les modes de codage selon l'invention ; et la figure 6 illustre le procédé de codage selon l'invention. 5. Description détaillée de l'invention L'invention concerne un procédé de codage multivues, p.ex. conforme à MVC, illustré sur les figures 3 et 4. A l'étape 10, les images d'une première vue (vue j) sont codés classiquement selon un procédé de codage monovue. A titre d'exemple, un bloc X de la première vue est codé par prédiction temporelle (mode INTER) ou par prédiction spatiale (mode INTRA) à partir de blocs de la même vue préalablement codés et reconstruits. Les données résiduelles obtenues en extrayant, généralement en soustrayant, du bloc X des données de prédiction sont transformées, p.ex. avec une DCT (acronyme anglais de « Discrete Cosine Transform »), quantifiées et codées par codage entropique de type VLC (acronyme anglais de « Variable Length Coding ») en un flux de données codées. A l'étape 12, des données de prédiction sont déterminées, selon un mode de prédiction scalable de type SVC, pour le bloc X de l'image T de la vue i, appelée vue additionnelle, à partir de données correspondantes associées à au moins un bloc K non colocalisé d'une image T de la première vue j. Le bloc X est appelé bloc courant et le bloc K bloc de référence. Comme décrit en référence à la figure 2, les données de prédiction sont par exemple des données de texture, des données de mouvement ou encore des données résiduelles. A l'étape 14, le bloc X de l'image T de la vue i est codé à partir des données prédites à l'étape 12. A l'étape 16, des données additionnelles (dx, dy) indiquant la position du bloc de référence K de la première vue par rapport au bloc colocalisé au bloc X courant sont également codées. Le bloc de la première vue (vue j) colocalisé au bloc au bloc X de la vue additionnelle (vue i) est également noté X sur la figure 4. Selon une variante représentée sur la figure 5, le bloc K appartient à une image préalablement codée et reconstruite (e.g. image T-1 ou image T+1) qui ne coïncide pas temporellement avec l'image à laquelle appartient le bloc X de la vue i. Dans ce cas, le procédé de codage selon l'invention comprend le codage pour le bloc X de la vue i d'une donnée d'identification de l'image à laquelle appartient le bloc K. Selon une caractéristique particulière de l'invention, les images de la vue additionnelle sont les mêmes images que les images de la première vue avec une exposition différente, i.e. plus forte ou plus faible. Dans ce cas, le procédé de codage selon l'invention comprend le codage, pour le bloc X de la vue i, d'au moins une donnée représentative de la variation d'exposition entre le bloc X de la vue i et le bloc K. A titre d'exemple, deux données représentatives de la différence d'exposition sont codées : une valeur de poids a et une valeur de seuil 3. A titre d'exemple, la texture intra T(X, i) ou respectivement le résidu R(X, i) du bloc X de la vue i peuvent être prédits à partir de la texture intra T(K, j) ou respectivement du résidu R(K, j) du bloc K de la vue j selon la formule T(K, j) = a * T(X, i) + 3, respectivement R(K, j) = a *R(X,i)+(3.. Selon une autre caractéristique particulière, deux vues additionnelles sont codées, l'une des deux vues additionnelles comprenant les mêmes images que les images de la première vue avec une exposition plus faible et l'autre vue additionnelle comprenant les mêmes images que les images de la première vue avec une exposition plus forte. L'invention concerne également un procédé de décodage illustré sur la figure 6. A l'étape 20, les images d'une première vue (vue j) sont reconstruites classiquement selon un procédé de décodage monovue. A titre d'exemple, un bloc X de la première vue est reconstruit par prédiction temporelle (mode INTER) ou par prédiction spatiale (mode INTRA) à partir de blocs de la même vue préalablement reconstruits. Cette étape met en oeuvre les étapes inverses de celles décrites pour l'étape 10 notamment décodage entropique, quantification inverse, transformation inverse. A l'étape 22, des données (dx, dy) indiquant la position d'un bloc de référence K de la première vue par rapport au bloc colocalisé au bloc X courant sont décodées. Le bloc de la première vue (vue j) colocalisé au bloc au bloc X de la vue additionnelle (vue i) est également noté X sur la figure 4. A l'étape 24, des données de prédiction sont déterminées, selon un mode de prédiction scalable de type SVC, pour le bloc X de l'image T de la vue i à partir de données correspondantes associées à au moins un bloc K non colocalisé de l'image T de la première vue j. Comme décrit en référence à la figure 2, les données de prédiction sont par exemple des données de texture, des données de mouvement ou encore des données résiduelles. A l'étape 26, le bloc X de l'image T de la vue i est reconstruit à partir des données prédites à l'étape 12.30 Revendications1. Procédé de codage multivues d'une séquence d'images se présentant sous la forme d'une première vue et d'au moins une vue additionnelle, chacune desdites vues comprenant des images de ladite séquence divisées en blocs, ledit procédé de codage comprenant les étapes suivantes : - coder (10) les images de la première vue en un flux de données codées ; - coder (12, 14, 16), dans ledit flux de données codées, les images de la vue additionnelle à partir de données de prédiction; caractérisé en ce que le codage (12, 14, 16) d'au moins un bloc courant d'une image de la vue additionnelle, dite image courante, comprend les étapes suivantes : - déterminer (12), selon un mode de prédiction scalable SVC, des données de prédiction pour ledit au moins un bloc courant à partir de données correspondantes associées à au moins un bloc de référence d'une image de ladite première vue, dite image de référence, non colocalisé ; - coder (14) ledit au moins un bloc courant à partir desdites données de prédiction ; - coder (16) pour ledit bloc courant des données indiquant la position dudit au moins un bloc référence par rapport au bloc de ladite image de référence colocalisé audit bloc courant. 2. Procédé de codage selon la revendication 1, dans lequel ladite image courante et ladite image de référence ne coïncident pas temporellement et dans lequel, pour ledit au moins un bloc courant, une donnée d'identification de ladite image de référence est codée dans ledit flux de données codées. 3. Procédé de codage selon la revendication 1 ou 2, dans lequel lesdites données de prédiction pour ledit au moins un bloc courant sont des données de mouvement et/ou des données de texture et/ou des données résiduelles. 4. Procédé de codage selon la revendication 1 à 3, dans lequel ladite vue additionnelle comprend les mêmes images que les images de ladite première vue avec une exposition différente et dans lequel, pour ledit au moins un bloc courant, au moins une donnée représentative d'une variation d'exposition entre ledit bloc courant et ledit bloc de référence est codé dans ledit flux de données codées. 5. Procédé de décodage d'un flux de données codées représentatif d'une séquence d'images se présentant sous la forme d'une première vue et d'au moins une vue additionnelle, chacune desdites vues comprenant des images de ladite séquence divisées en blocs, ledit procédé de décodage comprenant les étapes suivantes : - reconstruire (20) les images de la première vue à partir du décodage d'au moins une première partie dudit flux de données codées; - reconstruire (22, 24, 26) les images de la vue additionnelle à partir du décodage d'au moins une deuxième partie dudit flux de données codées et de données de prédiction; caractérisé en ce que la reconstruction (22, 24, 26) d'au moins un bloc courant d'une image de la vue additionnelle, dite image courante, comprend les étapes suivantes : - décoder (22) pour ledit bloc courant des données indiquant la position d'au moins un bloc référence d'une image de ladite première vue, dite image de référence, par rapport au bloc de ladite image de référence, colocalisé audit bloc courant. - déterminer (24), selon un mode de prédiction scalable SVC, des données de prédiction pour ledit au moins un bloc courant à partir de données correspondantes associées audit moins un bloc de référence; et - reconstruire (26) ledit au moins un bloc courant à partir desdites données de prédiction.30