Brevet FR3012935A1 — publié le 20150508

Procédé et dispositif de codage d'images vidéo, procédé et dispositif de décodage d'un flux de données, programme d'ordinateur et support de stockage correspondants. 1. Domaine de l'invention Le domaine de l'invention est celui du codage et du décodage d'images vidéo. Plus précisément, l'invention concerne le codage et le décodage d'un flux de données scalable, et propose une nouvelle technique de codage des couches d'amélioration (« enhancement layer ») à partir des couches de base (« base layer »). L'invention trouve notamment des applications dans tout domaine mettant en oeuvre une compression vidéo. En particulier, l'invention peut être mise en oeuvre dans les codeurs/décodeurs vidéos actuels ou à venir. Par exemple, l'invention peut être mise en oeuvre : dans des codeurs homologues, utilisés à la fois pour le codage des couches de base et d'amélioration (MPEG4 SVC, SHEVC, etc), dans des codeurs hybrides de même « famille », utilisant des techniques différentes pour le codage des couches de base et d'amélioration (par exemple couche de base codée en AVC et couche d'amélioration en HEVC), dans des codeurs hybrides de familles différentes (par exemple couche de base codée en JPEG et couche d'amélioration en AVC ou HEVC), etc. L'invention trouve également des applications dans le domaine de l'imagerie à grande gamme dynamique (HDR pour « High Dynamic Range »), pour le codage d'images HDR à partir d'images à plus faible dynamique (LDR pour « Low Dynamic Range »). 2. Art antérieur Le principe de la « scalabilité », visant à fournir différents niveaux de reconstruction à partir d'un flux unique reçu par un décodeur, est bien connu. Un contenu ainsi encodé peut être adapté en fonction d'un débit disponible et/ou d'une résolution spatio-temporelle cible. Ainsi, un seul encodage est nécessaire pour servir des clients avec des ressources différentes. Par exemple, un flux de données de type SVC est organisé en couches de données, comprenant une couche de base, compatible avec la norme H.264/MPEG-4 AVC, qui fournit une qualité et une résolution minimales, et une ou plusieurs couches d'amélioration. Ces couches d'amélioration sont ajoutées successivement pour améliorer : soit la qualité, en ajoutant une couche d'amélioration en qualité ou SNR : dans ce cas, des images de même résolution spatiale sont encodées par prédiction par rapport aux images de la couche précédente au même instant ; soit la résolution spatiale, en ajoutant une couche d'amélioration spatiale : dans ce cas, des images de résolution spatiale supérieure sont codées par prédiction par rapport aux images de la couche précédente au même instant ; soit la résolution temporelle, en ajoutant une couche d'amélioration temporelle : dans ce cas, des images de même résolution spatiale que la couche précédente sont insérées entre les images de la couche précédente et sont codées par prédiction temporelle par rapport à ces images. Ainsi, dans les schémas de codage classiques de type SVC, en scalibilité SNR ou spatiale, si un bloc courant de la couche de base a été codé en intra image, on dispose du mode de codage intra de cette couche de base au niveau du bloc courant homologue de la couche d'amélioration. Le bloc courant homologue de la couche d'amélioration hérite donc et utilise le mode de codage de la couche de base, encore appelé « base mode ». De telles techniques d'héritage sont notamment décrites dans les documents "Overview of the Scalable Video Coding Extension of the H.264/AVC Standard" (Heiko Schwarz, Detlev Marpe, and Thomas Wiegand, IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 17, NO. 9, SEPTEMBRE 2007, pp. 1103-1120) ou US 7,847,861 B2 (J.Zhai, Y.Chen "Method and apparatus for encoding video pictures, and method and apparatus for decoding video pictures'). A titre d'exemple, les figures 1A et 1B illustrent respectivement un bloc courant BBL d'une couche de base, et le bloc courant homologue BEL d'une couche d'amélioration, en scalabilité spatiale. Selon la technique d'héritage, chacun des sous-blocs BELO, BEL1, BEL2, BELS du bloc courant homologue BEL de la couche d'amélioration hérite du mode de codage du bloc courant BBL de la couche de base, par exemple le mode 6 (horizontal décalé vers le bas) si l'on considère les modes de codage disponibles pour la prédiction intra de blocs 4x4 ou 8x8 selon la norme AVC/H.264. En d'autres termes, quelle que soit la qualité de reconstruction d'un bloc BL de la couche de base, l'approche classique propose d'utiliser pour un bloc EL homologue de la couche d'amélioration le mode intra issu de la couche de base, en tant que mode implicite. Or si la couche de base est de mauvaise qualité, le mode hérité n'est pas nécessairement le plus approprié pour la prédiction du bloc EL de la couche d'amélioration, surtout si ce bloc EL est encodé en haute qualité. Ce problème est d'autant plus important en scalabilité SNR, lorsque tous les sous-blocs du bloc EL héritent d'un mode d'un bloc de dimensions supérieures (par exemple si le bloc courant BL de la couche de base est de taille 16x16, et que le bloc homologue EL de la couche d'amélioration est de taille 16x16 et suréchantillonné sous la forme de quatre sous-blocs de taille 8x8 ou de seize sous-blocs de taille 4x4), ou en scalabilité spatiale, lorsque tous les sous-blocs du bloc EL héritent d'un mode d'un bloc de dimensions interpolées (par exemple si le bloc courant BL de la couche de base est de taille 8x8, et que le bloc homologue EL de la couche d'amélioration est de taille 16x16 et interpolé sous la forme de quatre sous-blocs de taille 8x8 ou seize sous-blocs de taille 4x4). Il existe donc un besoin pour une nouvelle technique permettant d'optimiser la détermination du mode de codage d'au moins un bloc de la couche d'amélioration. 3. Exposé de l'invention L'invention propose une nouvelle solution sous la forme d'un procédé de codage d'images vidéo, délivrant un flux de données, selon lequel une image vidéo est associée à une première image et une deuxième image, chaque bloc de la première image étant associé à au moins un bloc correspondant dans la deuxième image. Selon l'invention, un tel procédé met en oeuvre les étapes suivantes, pour au moins un bloc à coder de la deuxième image, dit bloc courant, et pour au moins deux modes de codage basés prédiction, appartenant à un ensemble de modes de codage candidats disponibles au niveau d'un codeur : prédiction du bloc courant de la deuxième image, à partir du voisinage causal du bloc courant de la deuxième image, délivrant un bloc de prédiction associé à un des modes de codage ; comparaison du bloc de prédiction à une version du bloc courant obtenue à partir de la première image, délivrant une erreur de prédiction associée au mode de codage ; sélection d'un des modes de codage, tenant compte des erreurs de prédiction, dit mode de codage implicite. Ainsi, l'invention repose sur une approche nouvelle et inventive du codage d'images, permettant de sélectionner un ou plusieurs modes de codage basés prédiction intra au niveau d'un bloc courant d'une deuxième image, qui ne soit pas nécessairement le mode de codage hérité du bloc homologue de la première image. En particulier, il est possible selon l'invention de sélectionner des modes de codage distincts pour les différents blocs de la deuxième image associés à un même bloc de la première image. De cette façon, il est possible de sélectionner un mode de codage optimal pour le codage d'un bloc courant de la deuxième image, notamment lorsque le mode de codage hérité du bloc homologue de la première image est sous-optimal pour la prédiction du bloc courant de la deuxième image. Le mode de codage utilisé pour le codage d'un bloc de la première image n'impacte donc pas le mode de codage sélectionné pour le codage d'un bloc correspondant de la deuxième image. Le mode de codage utilisé pour le codage d'un bloc de la première image peut donc être de type inter, intra, etc. On note que le voisinage causal du bloc courant est la zone de l'image comprenant les blocs situés avant le bloc courant, selon le sens de parcours de codage et de décodage des blocs dans l'image. En particulier, si le codeur choisit d'utiliser le mode de codage implicite pour coder le bloc courant, le procédé de codage met également en oeuvre des étapes de : détermination d'un résidu de prédiction, par comparaison du bloc courant de la deuxième image et du bloc de prédiction associé au mode de codage sélectionné, et - codage du résidu de prédiction selon le mode de codage. On note que le mode de codage basé prédiction intra sélectionné (mode de codage implicite) peut être mis en concurrence avec d'autres modes de codage, comme des modes de codage intra ou inter. Le codeur peut alors choisir de mettre en oeuvre un codage inter, selon un critère donné, par exemple si un résidu de prédiction obtenu en comparant le bloc courant de la deuxième image et un bloc de prédiction associé au mode de codage inter est inférieur au résidu de prédiction obtenu en comparant le bloc courant de la deuxième image et le bloc de prédiction associé au mode de codage sélectionné. En particulier, le flux de données présente une organisation en couches, et la première image appartient à une couche de base et la deuxième image appartient à au moins une couche d'amélioration scalable, où la scalabilité fait référence à une scalabilité SNR, une scalabilité spatiale, et/ou une scalabilité en profondeur de bits (en anglais « bit depth »). Ainsi, si l'on se place dans le contexte d'une scalabilité SNR, selon laquelle la première image et la deuxième image font la même taille, mais présentent un pas de quantification différent, la « version du bloc courant obtenue à partir de la première image » correspond à une version co-localisée du bloc courant dans la première image. Si l'on se place dans le contexte d'une scalabilité spatiale, selon laquelle la première image et la deuxième image présentent des tailles différentes, et des niveaux de résolution différents, la « version du bloc courant obtenue à partir de la première image » correspond à une version co-localisée du bloc courant dans une image interpolée obtenue à partir d'une interpolation spatiale d'un sous-bloc de la première image (selon un rapport d'échantillonnage défini entre le niveau de résolution de la première image et le niveau de résolution de la deuxième image). Si l'on se place dans le contexte d'une scalabilité en profondeur de bits, selon laquelle la première image et la deuxième image présentent des dynamiques différentes, la « version du bloc courant obtenue à partir de la première image » correspond à une version co-localisée du bloc courant dans une image à plus grande dynamique obtenue à partir d'une augmentation en profondeur de bits d'un bloc de la première image (selon un rapport défini entre la dynamique de la première image et la dynamique de la deuxième image). Si l'on se place dans le contexte de scalabilités spatiale et en profondeur de bits, selon lesquelles la première image et la deuxième image présentent des dynamiques différentes et des tailles différentes, la « version du bloc courant obtenue à partir de la première image » correspond à une version co-localisée du bloc courant : dans une image intermédiaire obtenue à partir d'une augmentation en profondeur de bits d'un sous-bloc de la première image (selon un rapport défini entre la dynamique de la première image et la dynamique de la deuxième image) et d'une interpolation spatiale du sous-bloc obtenu (selon un rapport d'échantillonnage défini entre le niveau de résolution de la première image et le niveau de résolution de la deuxième image), si l'augmentation de dynamique est mise en oeuvre avant l'interpolation spatiale, ou bien dans une image intermédiaire obtenue à partir d'une interpolation spatiale d'un sous-bloc de la première image (selon un rapport d'échantillonnage défini entre le niveau de résolution de la première image et le niveau de résolution de la deuxième image) et d'une augmentation en profondeur de bits du bloc obtenu (selon un rapport défini entre la dynamique de la première image et la dynamique de la deuxième image), si l'interpolation spatiale est mise en oeuvre avant l'augmentation de dynamique. Selon une caractéristique particulière de l'invention, le procédé de codage comprend une étape d'insertion d'un indicateur dans le flux de données, spécifiant que le mode de codage est implicite. De cette façon, il n'est pas nécessaire de transmettre au décodeur des informations relatives au(x) mode(s) de codage utilisé(s), ce qui évite la transmission d'informations complémentaires et la perte de débit utile. Le décodeur pourra retrouver le(s) mode(s) de codage utilisé(s) en mettant en oeuvre les mêmes étapes qu'au codage. Le mode de codage ainsi mis en oeuvre est un mode implicite, qui ne nécessite aucune information de signalisation. Ce mode de codage, testé côté codeur, est aussi testé côté décodeur. Le décodeur est alors lui-même capable, sans information de signalisation, de retrouver le mode de codage utilisé côté codeur pour coder un bloc courant. En variante, le procédé de codage comprend une étape d'insertion d'un indicateur dans le flux de données, spécifiant le mode de codage sélectionné pour le codage d'un bloc courant de la deuxième image. De cette façon, le décodeur n'a pas besoin de réitérer les étapes de prédiction, comparaison et sélection, ce qui permet de simplifier sa mise en oeuvre. Selon une autre caractéristique de l'invention, l'étape de comparaison détermine une distance entre les pixels du bloc de prédiction et les pixels de la version du bloc courant obtenue à partir de la première image, en utilisant une métrique appartenant au groupe comprenant : une métrique de type « somme du carré des erreurs », une métrique de type « somme des différences absolues » une métrique de type « somme des différences absolues transformées ». On utilise ainsi une telle métrique pour sélectionner le meilleur mode de codage basé prédiction, parmi les modes de codage disponibles au niveau du codeur. Cette sélection permet notamment d'optimiser le codage du résidu de prédiction. Dans un autre mode de réalisation, l'invention concerne un dispositif de codage d'images vidéo, délivrant un flux de données, selon lequel une image vidéo est associée à une première image et une deuxième image, chaque bloc de la première image étant associé à au moins un bloc correspondant dans la deuxième image. Selon l'invention, un tel dispositif de codage comprend les modules suivants, activés pour au moins un bloc à coder de la deuxième image, dit bloc courant, et pour au moins deux modes de codage basés prédiction, appartenant à un ensemble de modes de codage candidats disponibles au niveau d'un codeur : un module de prédiction du bloc courant de la deuxième image, à partir du voisinage causal du bloc courant de la deuxième image, délivrant un bloc de prédiction associé à un des modes de codage ; un module de comparaison du bloc de prédiction à une version du bloc courant obtenue à partir de la première image, délivrant une erreur de prédiction associée au mode de codage ; un module de sélection d'un des modes de codage, tenant compte des erreurs de prédiction, dit mode de codage implicite. Un tel dispositif de codage, ou codeur, est notamment adapté à mettre en oeuvre le procédé de codage décrit précédemment. Ce dispositif pourra bien sûr comporter les différentes caractéristiques relatives au procédé de codage selon l'invention, qui peuvent être combinées ou prises isolément. Ainsi, les caractéristiques et avantages de ce dispositif sont les mêmes que ceux du procédé de codage. Par conséquent, ils ne sont pas détaillés plus amplement. En particulier, un tel dispositif de codage comprend un module de détermination d'un résidu de prédiction, par comparaison du bloc courant de la deuxième image et d'un bloc de prédiction, et un module de codage du résidu de prédiction, utilisant le mode de codage implicite si le codeur choisit d'utiliser ce mode de codage. L'invention concerne également un procédé de décodage d'images vidéo codées dans un flux de données, selon lequel une image vidéo est associée à une première image et une deuxième image, chaque bloc de la première image étant associé à au moins un bloc correspondant dans la deuxième image. Selon l'invention, un tel procédé de décodage met en oeuvre les étapes suivantes, pour au moins un bloc à décoder de la deuxième image, dit bloc courant, et pour au moins deux modes de codage basés prédiction appartenant à un ensemble de modes de codage candidats disponibles au niveau d'un décodeur : prédiction du bloc courant de la deuxième image, à partir du voisinage causal du bloc courant de la deuxième image, délivrant un bloc de prédiction associé à un des modes de codage ; comparaison du bloc de prédiction à une version du bloc courant obtenue à partir de la première image, délivrant une erreur de prédiction associée au mode de codage ; sélection d'un des modes de codage, tenant compte des erreurs de prédiction, dit mode de codage implicite. Un tel procédé de décodage est notamment adapté à décoder un flux de données codées selon le procédé de codage décrit ci-dessus. Il présente donc les mêmes caractéristiques et avantages que ceux du procédé de codage présenté ci-dessus. Par conséquent, ils ne sont pas détaillés plus amplement. En particulier, si le codeur a choisi d'utiliser le mode de codage implicite pour coder le bloc courant, le procédé de décodage met également en oeuvre des étapes de : décodage d'un résidu de prédiction associé au bloc courant transmis dans le flux, selon le mode de codage sélectionné ; reconstruction du bloc courant, combinant le résidu de prédiction décodé au bloc de prédiction, selon le mode de codage sélectionné. Dans un autre mode de réalisation, l'invention concerne un dispositif de décodage d'images vidéo codées dans un flux de données, selon lequel une image vidéo est associée à une première image et une deuxième image, chaque bloc de la première image étant associé à au moins un bloc correspondant dans la deuxième image. Selon l'invention, un tel dispositif de décodage comprend les modules suivants, activés pour au moins un bloc à décoder de la deuxième image, dit bloc courant, et pour au moins deux modes de codage basé prédiction, appartenant à un ensemble de modes de codage candidats disponibles au niveau d'un décodeur : un module de prédiction du bloc courant de la deuxième image, à partir du voisinage causal du bloc courant de la deuxième image, délivrant un bloc de prédiction associé à un des modes de codage ; un module de comparaison du bloc de prédiction à une version du bloc courant obtenue à partir de la première image, délivrant une erreur de prédiction associée au mode de codage ; - un module de sélection d'un des modes de codage, tenant compte des erreurs de prédiction, dit mode de codage implicite. Un tel dispositif de décodage, ou décodeur, est notamment adapté à mettre en oeuvre le procédé de décodage décrit précédemment. Ce dispositif pourra bien sûr comporter les différentes caractéristiques relatives au procédé de décodage décrit précédemment, qui peuvent être combinées ou prises isolément. Ainsi, les caractéristiques et avantages de ce dispositif sont les mêmes que ceux du procédé de décodage. Par conséquent, ils ne sont pas détaillés plus amplement. En particulier, un tel dispositif de décodage comprend un module de décodage d'un résidu de prédiction associé au bloc courant, transmis dans le flux, et un module de reconstruction du bloc courant, combinant le résidu de prédiction décodé au bloc de prédiction, utilisant le mode de codage implicite si le codeur a choisi ce mode de codage. Dans encore un autre mode de réalisation, l'invention concerne un ou plusieurs programmes d'ordinateur comportant des instructions pour la mise en oeuvre d'un procédé de codage et/ou des instructions pour la mise en oeuvre d'un procédé de décodage tels que décrits ci-dessus, lorsque ce ou ces programmes sont exécutés par un processeur. Les différentes caractéristiques de la présente invention peuvent être mises en oeuvre sous la forme de système, dispositifs, procédés, ou supports lisibles par ordinateur. En conséquence, les différentes caractéristiques de la présente invention peuvent prendre la forme d'une réalisation entièrement matérielle (« hardware »), entièrement logicielle (« software »), ou combinant des aspects logiciels et matériels. Par ailleurs, certaines caractéristiques de la présente invention peuvent prendre la forme d'un support de stockage lisible par ordinateur. Toute combinaison d'un ou plusieurs supports de stockage lisibles par ordinateur peut être utilisée. 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 : les figures 1A et 1B, décrites en relation avec l'art antérieur, illustrent la technique d'héritage selon l'art antérieur ; la figure 2 présente les principales étapes mises en oeuvre par un procédé de codage selon un mode de réalisation de l'invention ; les figures 3A à 3C illustrent un exemple de mise en oeuvre du procédé de codage selon l'invention ; la figure 4 présente les principales étapes mises en oeuvre par un procédé de décodage selon un mode de réalisation de l'invention ; les figures 5 et 6 illustrent respectivement la structure simplifiée d'un codeur et la structure simplifiée d'un décodeur selon un mode de réalisation particulier de l'invention. 5. Description d'un mode de réalisation de l'invention On cherche selon l'invention à coder un signal décomposé en entités de base. Par exemple, le signal est constitué d'une succession d'images d'une vidéo, ces images étant découpées en entités de codage correspondant à des blocs. On considère également selon l'invention qu'une image vidéo est associée à une première image et à une deuxième image, chaque bloc de la première image étant associé à au moins un bloc correspondant (encore appelé « homologue ») dans la deuxième image. En particulier, la première image appartient à une couche de base et la deuxième image à au moins une couche d'amélioration d'un flux de données scalable, par exemple au sens scalabilité spatiale, SNR, et/ou en profondeur de bits. On cherche notamment, selon l'invention, à améliorer les performances de codage en mode intra, en visant à améliorer la détermination du mode implicite intra du signal concernant la couche d'amélioration, et ainsi à réduire le coût de codage du résidu de prédiction. On considère, au niveau du bloc courant de cette couche d'amélioration, que plusieurs modes de codage sont disponibles, ces modes s'appuyant sur le signal reconstruit environnant (voisin spatialement du signal à coder). Le principe général de l'invention repose sur la détermination d'un mode de codage basé prédiction spécifique aux blocs d'une deuxième image, qui n'est pas nécessairement hérité de la première image. A cette fin, on utilise le voisinage causal reconstruit d'un bloc courant de la deuxième image et une version du bloc courant obtenue à partir de la première image. La figure 2 présente les principales étapes mises en oeuvre par un procédé de codage selon l'invention, pour le codage d'au moins un bloc à coder de la deuxième image, dit bloc courant. Au cours d'une première étape 21, on effectue une prédiction du bloc courant de la deuxième image, à partir du voisinage causal du bloc courant de la deuxième image, i.e. des blocs précédemment codés-décodés de la deuxième image. On obtient, à l'issue de cette étape de prédiction, un bloc de prédiction associé à un mode de codage. Au cours d'une étape suivante 22, on compare le bloc de prédiction obtenu à une version du bloc courant obtenue à partir de la première image. Une telle « version du bloc courant obtenue à partir de la première image » peut être une version co-localisée du bloc courant dans la première image en scalabilité SNR, une version co-localisée du bloc courant dans une image interpolée obtenue à partir d'une interpolation spatiale d'un sous- bloc de la première image en scalabilité spatiale, ou encore une version co-localisée du bloc courant dans une image à plus grande dynamique obtenue à partir d'une augmentation en profondeur de bits d'un bloc de la première image, ou encore une version co-localisée du bloc courant dans une image intermédiaire obtenue soit à partir d'une interpolation spatiale d'un sous-bloc de la première image en scalabilité spatiale et d'une augmentation en profondeur de bits du bloc obtenu, soit à partir d'une augmentation en profondeur de bits d'un sous-bloc de la première image et d'une interpolation spatiale du sous-bloc obtenu. On obtient, à l'issue de cette étape, une erreur de prédiction associée au mode de codage utilisé pour déterminer le bloc de prédiction. Ces différentes étapes de prédiction et comparaison peuvent être réitérées pour les différents modes de codage basé prédiction disponibles au niveau du codeur. On dispose ainsi d'un ensemble d'erreurs de prédiction associées chacune à un mode de codage distinct. Au cours d'une étape suivante 23, on sélectionne un des modes de codage, en tenant compte des erreurs de prédiction. Par exemple, on sélectionne le mode de codage offrant l'erreur de prédiction la plus faible. Si le codeur choisit d'utiliser le mode de codage implicite, on détermine ensuite, au cours d'une étape 24, un résidu de prédiction, par comparaison du bloc courant de la deuxième image et du bloc de prédiction associé au mode de codage sélectionné, et on code, au cours d'une étape 25, le résidu de prédiction selon le mode de codage sélectionné. On rappelle en effet que le mode de codage ainsi sélectionné peut être mis en concurrence avec d'autres modes de codage, comme les autres modes de codage intra ou inter. Le codeur peut alors choisir de mettre en oeuvre un autre mode de codage, et de déterminer et coder le résidu de prédiction en conséquence. Le résidu peut ainsi être transmis à un décodeur, et/ou stocké pour une transmission ultérieure. On illustre ci-après, en relation avec les figures 3A à 3C, les principales étapes du procédé de codage selon l'invention, dans un contexte de scalabilité spatiale. On se place à titre d'exemple dans le contexte du codage AVC/SVC, mais l'invention peut être généralisée à d'autres schémas de codage, comme par exemple H EVC. Dans AVC/H.264, en mode intra, la prédiction intra spatiale s'appuie sur les pixels voisins déjà codés de la même tranche (« slice »). Par exemple, pour la luminance, il existe huit modes de prédiction directionnelle plus un mode moyenné (DC) pour le codage des blocs 4x4 et 8x8. Ainsi dans AVC/H.264 la prédiction spatiale est réalisée dans le domaine pixel et consiste à prédire l'ensemble des pixels d'un bloc à l'aide d'une combinaison des pixels. On considère qu'une image vidéo est associée à une première image 11, de taille MxN, à une résolution BL, et à une deuxième image 12, de taille par exemple 2Mx2N, à une résolution EL. Un bloc de base BBL de taille 8x8 de la première image, illustré en figure 3A, est par exemple associé à un bloc amélioré BEL de taille 16x16 formé de quatre blocs BELO, BEL1, BEL2 et BELS de taille 8x8 de la deuxième image, illustrée en figure 3B. On cherche selon l'invention à coder le bloc BELO de la deuxième image, encore appelé bloc courant. On considère que le bloc de base BBL de la première image a été précédemment codé/décodé. Les pixels reconstruits à la résolution BL sont illustrés en pointillés sur la figure 3A. Pour ce faire, comme décrit en relation avec la figure 2, on effectue tout d'abord une prédiction du bloc courant BELO, à partir du voisinage causal du bloc courant BELO, en hachuré sur la figure 3B. Le voisinage causal correspond aux pixels reconstruits à la résolution EL. On note Pj le bloc de prédiction obtenu en utilisant le mode de codage mj. Le bloc de base BBL de la première image est par ailleurs interpolé, en utilisant le même rapport d'échantillonnage qu'entre les première et deuxième images, de façon à obtenir un bloc interpolé BBLup de même taille que le bloc amélioré BEL de la deuxième image (ou, de façon similaire, on interpole un sous-bloc BBLO de taille 4x4 de la première image pour obtenir un bloc interpolé BBLup0 homologue au bloc courant BELO). Les pixels interpolés à la résolution EL issus du bloc interpolé BBLup sont illustrés en pointillés sur la figure 3B. On peut alors comparer, pour chaque mode de codage mj, le bloc de prédiction Pj à une version co-localisée du bloc BELO dans l'image interpolée, i.e. au bloc interpolé BBLupo, de façon à obtenir une erreur de prédiction ENj. Par exemple, pour chacun des modes de codage mj d'un ensemble S {mo, ...,m,i} de modes de codage disponibles au niveau du codeur, on détermine une énergie en utilisant une métrique de type « somme du carré des erreurs » (SSE), de type somme des différences absolues » (SAD), de type « somme des différences absolues transformées » (SATD), ou autre. A titre d'exemple, l'énergie du mode de codage mj est l'énergie de l'erreur de prédiction sur le bloc interpolé BBLupO, calculée par exemple selon la formule suivante : EN- = (Yup(p) - Pj (P)) 2 PEBBLup0 où : p représente la position d'un pixel contenu dans chacun des blocs interpolé BBLupo et de prédiction Pj, Yup(p) est la valeur de luminance du bloc interpolé BBLupo, Pj(p) est la valeur du pixel de prédiction appartenant au bloc de prédiction issu du voisinage EL reconstruit via le mode mj. En réitérant ces étapes de prédiction et comparaison, on dispose ainsi d'un ensemble d'erreurs de prédiction associées chacune à un mode de codage distinct. On peut alors sélectionner un des modes de codage, en tenant compte des erreurs de prédiction. Par exemple, on sélectionne celui (Jmode) qui engendre l'énergie de l'erreur de prédiction minimum parmi un ensemble de N modes possibles, et qui permet donc de réduire le coût de codage du résidu de prédiction, de la façon suivante : imode = argminitENil Pour le meilleur mode de codage parmi ceux disponibles de l'ensemble S, on détermine un résidu de prédiction, en comparant le bloc courant BELO de la deuxième image et le bloc de prédiction associé au mode de codage sélectionné, et on code le résidu de prédiction selon le mode de codage sélectionné, si le codeur choisit ce mode de codage. Comme illustré en figure 3C, le bloc BELO de la deuxième image appartient alors au voisinage causal du bloc BEL1, et peut être utilisé pour la prédiction du bloc BEL1, en réitérant les étapes ci-dessus. On a présenté ci-dessus un exemple dans un contexte de scalabilité spatiale. L'invention peut également être mise en oeuvre dans un contexte de scalabilité SNR. Dans ce cas, un bloc de base BBL de taille 16x16 d'une première image est par exemple associé à un bloc amélioré BEL de taille 16x16, composé de quatre blocs de taille 8x8 d'une deuxième image. On cherche selon l'invention à coder le bloc amélioré BEL de la deuxième image, encore appelé bloc courant. On considère que le bloc de base BBL de la première image a été précédemment codé/décodé. Pour ce faire, comme décrit en relation avec la figure 2, on effectue tout d'abord une prédiction du bloc amélioré BEL, à partir du voisinage causal du bloc amélioré BEL. On note Pj le bloc de prédiction obtenu en utilisant le mode de codage mj. On peut alors comparer, pour chaque mode de codage mj, le bloc de prédiction Pj au bloc BBL de la première image, de façon à obtenir une erreur de prédiction ENj, par exemple en utilisant l'équation précédente : EN; = (Yup(p) - P (p)) 2 PEBBL où : p représente la position d'un pixel contenu dans chacun des blocs de base BBL et de prédiction Pj, Yup(p) est la valeur de luminance du bloc de base BBL, Pj(p) est la valeur du pixel de prédiction appartenant au bloc de prédiction issu du voisinage EL reconstruit via le mode mj. En réitérant ces étapes de prédiction et comparaison, on dispose ainsi d'un ensemble d'erreurs de prédiction associées chacune à un mode de codage distinct, et l'on peut sélectionner un des modes de codage, en tenant compte des erreurs de prédiction, comme décrit ci-dessus dans un contexte de scalabilité spatiale, puis utiliser ce mode de codage pour coder le résidu de prédiction associé à ce bloc amélioré BEL courant, si le codeur choisit ce mode de codage. De la même façon, l'invention peut être mise en oeuvre dans un contexte de scalabilité en profondeur de bits. Dans ce cas, un bloc de base BBL à faible dynamique d'une première image (LDR par exemple) est par exemple associé à un bloc amélioré BEL à forte dynamique d'une deuxième image (HDR par exemple). On cherche selon l'invention à coder le bloc amélioré BEL de la deuxième image, encore appelé bloc courant. On considère que le bloc de base BBL de la première image a été précédemment codé/décodé. Pour ce faire, comme décrit en relation avec la figure 2, on effectue tout d'abord une prédiction du bloc amélioré BEL, à partir du voisinage causal du bloc amélioré BEL. On note Pj le bloc de prédiction obtenu en utilisant le mode de codage mj. La profondeur binaire du bloc de base BBL de la première image est par ailleurs augmentée, en utilisant le même rapport de dynamique qu'entre les première et deuxième images, de façon à obtenir un bloc de profondeur de bits augmentée BBLHDR, de même profondeur de bits que le bloc amélioré BEL. On utilise, par exemple, pour ce faire : un décalage par la gauche en bits (« shift » en anglais), correspondant à un facteur multiplicatif, dans le cadre de la scalabilté en profondeur de bits ; ce décalage étant de valeur égale à la différence de profondeur de bits entre la deuxième image et la première image, ou une technique de type « Tone mapping inverse», appliquée sur les blocs de la première image de façon à revenir dans le domaine de définition de la deuxième image comme cela est proposé par exemple dans l'article : A. Segall, « Scalable Coding of High Dynamic Range Video » Proc. ICI P, pp.1-4, Sept.-Oct. 2007. On peut alors comparer, pour chaque mode de codage mj, le bloc de prédiction Pj au bloc de profondeur de bits augmentée BBLHDR, de façon à obtenir une erreur de prédiction ENj, par exemple en utilisant l'équation précédente : ENS = (Yup (P) Pi (1)))Z PEBBLHDR où : p représente la position d'un pixel contenu dans chacun des blocs de profondeur de bits augmentée BBLHDR et de prédiction Pj, Yup(p) est la valeur de luminance du bloc de profondeur de bits augmentée BBLHDR, Pj(p) est la valeur du pixel de prédiction appartenant au bloc de prédiction issu du voisinage EL reconstruit via le mode mj. En réitérant ces étapes de prédiction et comparaison, on dispose ainsi d'un ensemble d'erreurs de prédiction associées chacune à un mode de codage distinct, et l'on peut sélectionner un des modes de codage, en tenant compte des erreurs de prédiction, comme décrit ci-dessus dans un contexte de scalabilité spatiale, puis utiliser ce mode de codage pour coder le résidu de prédiction associé à ce bloc amélioré BEL courant, si le codeur choisit ce mode de codage. L'invention peut encore être mise en oeuvre dans un contexte de scalabilités spatiale et en profondeur de bits. Dans ce cas, un bloc de base BBL à faible dynamique d'une première image (LDR par exemple) de taille MxN est par exemple associé à un bloc amélioré BEL à forte dynamique d'une deuxième image (HDR par exemple) de taille par exemple 2Mx2N, à une résolution EL. On cherche selon l'invention à coder le bloc amélioré BEL de la deuxième image, encore appelé bloc courant. On considère que le bloc de base BBL de la première image a été précédemment codé/décodé. Pour ce faire, comme décrit en relation avec la figure 2, on effectue tout d'abord une prédiction du bloc amélioré BEL, à partir du voisinage causal du bloc amélioré BEL. On note Pj le bloc de prédiction obtenu en utilisant le mode de codage mj. La profondeur binaire du bloc de base BBL de la première image est par ailleurs augmentée, en utilisant le même rapport de dynamique qu'entre les première et deuxième images, de façon à obtenir un bloc de profondeur de bits augmentée BBLHDR, de même profondeur de bits que le bloc amélioré BEL. On utilise par exemple, pour ce faire un décalage par la gauche en bits, ou une technique de type « Tone mapping inverse», comme décrit précédemment. Ce bloc de base BBLHDR est par ailleurs interpolé, en utilisant le même rapport d'échantillonnage qu'entre les première et deuxième images, de façon à obtenir un bloc de profondeur de bits augmentée interpolé BBLHDRup de même taille que le bloc amélioré BEL de la deuxième image. On peut alors comparer, pour chaque mode de codage mj, le bloc de prédiction Pj au bloc de profondeur de bits augmentée et spatialement interpolé BBLHDRup, de façon à obtenir une erreur de prédiction ENj, par exemple en utilisant l'équation précédente : EN = (Y.,(p)-P,())) 2 PEBBLHDRup où : p représente la position d'un pixel contenu dans chacun des blocs de profondeur de bits augmentée interpolés BBLHDRup et de prédiction Pj, Yup(p) est la valeur de luminance du bloc de profondeur de bits augmentée et spatialement interpolé BBLHDRup, Pj(p) est la valeur du pixel de prédiction appartenant au bloc de prédiction issu du voisinage EL reconstruit via le mode mj. En réitérant ces étapes de prédiction et comparaison, on dispose ainsi d'un ensemble d'erreurs de prédiction associées chacune à un mode de codage distinct, et l'on peut sélectionner un des modes de codage, en tenant compte des erreurs de prédiction, comme décrit ci-dessus dans un contexte de scalabilité spatiale, puis utiliser ce mode de codage pour coder le résidu de prédiction associé à ce bloc amélioré BEL courant si le codeur choisit ce mode de codage. On présente désormais, en relation avec la figure 4, les principales étapes mises en oeuvre par un procédé de décodage selon l'invention, pour le décodage d'au moins un bloc à décoder de la deuxième image, dit bloc courant. On considère qu'un décodeur reçoit un flux de données, portant des données représentatives d'au moins une première image et une deuxième images associées à une même image vidéo. Au cours d'une première étape 41, on effectue une prédiction du bloc courant de la deuxième image, à partir du voisinage causal du bloc courant de la deuxième image, i.e. des blocs précédemment codés-décodés de la deuxième image. On obtient, à l'issue de cette étape de prédiction, un bloc de prédiction associé à un mode de codage. Au cours d'une étape suivante 42, on compare le bloc de prédiction obtenu à une version du bloc courant obtenue à partir de la première image. Une telle « version du bloc courant obtenue à partir de la première image » peut être une version co-localisée du bloc courant dans la première image en scalabilité SNR, une version co-localisée du bloc courant dans une image interpolée obtenue à partir d'une interpolation spatiale d'un sous-bloc de la première image en scalabilité spatiale, ou encore une version co-localisée du bloc courant dans une image à plus grande dynamique obtenue à partir d'une augmentation en profondeur de bits d'un sous-bloc de la première image, ou encore une version co-localisée du bloc courant dans une image intermédiaire obtenue soit à partir d'une interpolation spatiale d'un sous-bloc de la première image en scalabilité spatiale et d'une augmentation en profondeur de bits du bloc obtenu, soit à partir d'une augmentation en profondeur de bits d'un sous-bloc de la première image et d'une interpolation spatiale du sous-bloc obtenu. On obtient, à l'issue de cette étape, une erreur de prédiction associée au mode de codage utilisé pour déterminer le bloc de prédiction. Ces différentes étapes de prédiction et comparaison peuvent être réitérées pour les différents modes de codage basé prédiction disponibles au niveau du décodeur. On dispose ainsi d'un ensemble d'erreurs de prédiction associées chacune à un mode de codage distinct. Au cours d'une étape suivante 43, on sélectionne un des modes de codage, en tenant compte des erreurs de prédiction. Par exemple, on sélectionne le mode de codage offrant l'erreur de prédiction la plus faible. Le résidu de prédiction associé au bloc courant, transmis dans le flux F, peut alors être décodé, au cours d'une étape 44, en utilisant le mode de codage sélectionné, si le codeur a choisi d'utiliser le mode de codage sélectionné. Au cours d'une étape 45, le bloc courant peut être reconstruit en combinant le résidu de prédiction décodé au bloc de prédiction, selon le mode de codage sélectionné, sélectionné, si le codeur a choisi d'utiliser le mode de codage sélectionné. On note que les étapes de prédiction, comparaison et sélection sont similaires à celles mises en oeuvre au codage. Elles ne sont donc pas décrites plus en détails. De cette façon, le codeur et le décodeur vont chacun déterminer le mode de codage à utiliser pour coder/décoder les différents blocs de la couche d'amélioration, et il n'est pas nécessaire de transmettre d'informations supplémentaires nécessaire à la description du ou des mode(s) de codage utilisé(s) pour les différents blocs, une fois que le décodeur est informé qu'il s'agit d'un mode implicite. On économise ainsi en syntaxe. Comme déjà indiqué, l'invention peut être utilisée dans des codeurs homologues, hybrides de même famille, ou hybride de familles différentes. L'invention s'applique également pour des blocs de la couche d'amélioration dont le bloc homologue de la couche de base a été codé en mode inter image, et qui ne propose donc pas de mode intra, ceci pour les standards autres que Mpeg 4 SVC. L'invention s'applique encore pour le codage HDR, via une couche de base ayant subi une opération de « Tone mapping ». On présente finalement, en relation avec les figures 5 et 6 respectivement, la structure simplifiée d'un codeur mettant en oeuvre une technique de codage selon un mode de réalisation particulier de l'invention et la structure d'un décodeur mettant en oeuvre une technique de décodage selon un mode de réalisation particulier de l'invention. Comme illustré en figure 5, un tel codeur comprend une mémoire 51 comprenant une mémoire tampon, une unité de traitement 52, équipée par exemple d'un microprocesseur ItP et pilotée par le programme d'ordinateur 53, mettant en oeuvre le procédé de codage selon l'invention. A l'initialisation, les instructions de code du programme d'ordinateur 53 sont par exemple chargées dans une mémoire RAM avant d'être exécutées par le processeur de l'unité de traitement 52. L'unité de traitement 52 reçoit en entrée au moins une première image 11 et au moins une deuxième image 12 correspondant à une même image vidéo. Le microprocesseur de l'unité de traitement 52 met en oeuvre les étapes du procédé de codage décrit précédemment, selon les instructions du programme d'ordinateur 53, pour sélectionner un mode de codage pour coder au moins un bloc courant de la deuxième image, et coder le résidu de prédiction associé. Pour cela, le codeur comprend en outre : un module de prédiction 54 du bloc courant, un module de comparaison 55 du bloc de prédiction à une version du bloc courant obtenue à partir de la première image, un module de sélection 56 d'un mode de codage, un module de détermination 57 d'un résidu de prédiction, et un module de codage 58 du résidu de prédiction. Ces modules sont pilotés par le microprocesseur de l'unité de traitement 52. Comme illustré en figure 6, un décodeur selon un mode de réalisation particulier de l'invention comprend quant à lui une mémoire 61 comprenant une mémoire tampon, une unité de traitement 62, équipée par exemple d'un microprocesseur pP, et pilotée par le programme d'ordinateur 63, mettant en oeuvre le procédé de décodage décrit précédemment. 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 un flux de données. Le microprocesseur de l'unité de traitement 62 met en oeuvre les étapes du procédé de décodage décrit précédemment, selon les instructions du programme d'ordinateur 63, pour sélectionner un mode de codage pour décoder au moins un bloc courant de la deuxième image, et décoder le résidu de prédiction associé. Pour cela, le décodeur comprend en outre : un module de prédiction 64 du bloc courant de la deuxième image, un module de comparaison 65 du bloc de prédiction à une version du bloc courant obtenue à partir de la première image, un module de sélection 66 d'un mode de codage, un module de décodage 67 d'un résidu de prédiction associé au bloc courant et un module de reconstruction 68 du bloc courant. Ces modules sont pilotés par le microprocesseur de l'unité de traitement 62.15 REVENDICATIONS1. Procédé de codage d'images vidéo, délivrant un flux de données, selon lequel une image vidéo est associée à une première image et une deuxième image, chaque bloc de la première image étant associé à au moins un bloc correspondant dans la deuxième image, caractérisé en ce qu'il met en oeuvre les étapes suivantes, pour au moins un bloc à coder de ladite deuxième image, dit bloc courant, et pour au moins deux modes de codage basés prédiction (mj) appartenant à un ensemble (S) de modes de codage candidats disponibles au niveau d'un codeur : prédiction (21) dudit bloc courant, à partir du voisinage causal dudit bloc courant de la deuxième image, délivrant un bloc de prédiction associé à un desdits modes de codage ; comparaison (22) dudit bloc de prédiction à une version dudit bloc courant obtenue à partir de ladite première image, délivrant une erreur de prédiction associée audit mode de codage ; sélection (23) d'un desdits modes de codage, tenant compte desdites erreurs de prédiction, dit mode de codage implicite. 2. Procédé de codage selon la revendication 1, caractérisé en ce qu'il met également en oeuvre les étapes suivantes : - détermination (24) d'un résidu de prédiction, par comparaison dudit bloc courant de ladite deuxième image et dudit bloc de prédiction associé audit mode de codage sélectionné, et - codage (25) dudit résidu de prédiction selon ledit mode de codage sélectionné. 3. Procédé de codage selon l'une quelconque des revendications 1 et 2, caractérisé en ce que ladite version dudit bloc courant obtenue à partir de ladite première image, correspond à : une version co-localisée dudit bloc courant dans la première image ; une version co-localisée dudit bloc courant dans une image interpolée obtenue à partir d'une interpolation spatiale d'un sous-bloc de la première image ; une version co-localisée dudit bloc courant dans une image à plus grande dynamique obtenue à partir d'une augmentation en profondeur de bits d'un bloc de la première image ; une version co-localisée dudit bloc courant dans une image intermédiaire obtenue soit à partir d'une interpolation spatiale d'un sous-bloc de la première image etd'une augmentation en profondeur de bits du bloc obtenu, soit à partir d'une augmentation en profondeur de bits d'un sous-bloc de la première image et d'une interpolation spatiale du sous-bloc obtenu. 4. Procédé de codage selon l'une quelconque des revendications 1 à 3, caractérisé en ce qu'il comprend une étape d'insertion d'un indicateur dans ledit flux de données, spécifiant ledit mode de codage sélectionné. 5. Procédé de codage selon l'une quelconque des revendications 1 à 4, caractérisé en ce que ladite étape de comparaison (22) détermine une distance entre les pixels dudit bloc de prédiction et les pixels de ladite version du bloc courant obtenue à partir de ladite première image, en utilisant une métrique appartenant au groupe comprenant : une métrique de type « somme du carré des erreurs », une métrique de type « somme des différences absolues » une métrique de type « somme des différences absolues transformées ». 6. Procédé de codage selon l'une quelconque des revendications 1 à 5, caractérisé en ce que ledit flux de données présente une organisation en couches, et en ce que ladite première image appartient à une couche de base et ladite deuxième image appartient à au moins une couche d'amélioration dudit flux de données. 7. Procédé de décodage d'images vidéo codées dans un flux de données, selon lequel une image vidéo est associée à une première image et une deuxième image, chaque bloc de la première image étant associé à au moins un bloc correspondant dans la deuxième image, caractérisé en ce qu'il met en oeuvre les étapes suivantes, pour au moins un bloc à décoder de la deuxième image, dit bloc courant, et pour au moins deux modes de codage basés prédiction (mj) appartenant à un ensemble (S) de modes de codage candidats disponibles au niveau d'un décodeur : prédiction (41) dudit bloc courant de la deuxième image, à partir du voisinage causal dudit bloc courant de la deuxième image, délivrant un bloc de prédiction associé à un desdits modes de codage ; comparaison (42) dudit bloc de prédiction à une version dudit bloc courant obtenue à partir de ladite première image, délivrant une erreur de prédiction associée audit mode de codage ; sélection (43) d'un desdits modes de codage, tenant compte desdites erreurs de prédiction, dit mode de codage implicite. 8. Dispositif de codage d'images vidéo, délivrant un flux de données, selon lequel une image vidéo est associée à une première image et une deuxième image, chaque bloc de la première image étant associé à au moins un bloc correspondant dans la deuxième image, caractérisé en ce qu'il comprend les modules suivants, activés pour au moins un bloc à coder de ladite deuxième image, dit bloc courant, et pour au moins deux modes de codage basés prédiction (mj) appartenant à un ensemble (S) de modes de codage candidats disponibles au niveau d'un codeur : un module de prédiction (54) dudit bloc courant, à partir du voisinage causal dudit bloc courant de la deuxième image, délivrant un bloc de prédiction associé à un desdits modes de codage ; un module de comparaison (55) dudit bloc de prédiction à une version dudit bloc courant obtenue à partir de ladite première image, délivrant une erreur de prédiction associée audit mode de codage ; un module de sélection (56) d'un desdits modes de codage, tenant compte desdites erreurs de prédiction, dit mode de codage implicite. 9. Dispositif de décodage d'images vidéo codées dans un flux de données, selon lequel une image vidéo est associée à une première image et une deuxième image, chaque bloc de la première image étant associé à au moins un bloc correspondant dans la deuxième image, caractérisé en ce qu'il comprend les modules suivants, activés pour au moins un bloc à décoder de la deuxième image, dit bloc courant, et pour au moins deux modes de codage basé prédiction (mj) appartenant à un ensemble (S) de modes de codage candidats disponibles au niveau d'un décodeur : un module de prédiction (64) dudit bloc courant de la deuxième image, à partir du voisinage causal dudit bloc courant de la deuxième image, délivrant un bloc de prédiction associé à un desdits modes de codage ; un module de comparaison (65) dudit bloc de prédiction à une version dudit bloc courant obtenue à partir de ladite première image, délivrant une erreur de prédiction associée audit mode de codage ; un module de sélection (66) d'un desdits modes de codage, tenant compte desdites erreurs de prédiction, dit mode de codage implicite. 10. Programme d'ordinateur comportant des instructions pour la mise en oeuvre d'un procédé de codage selon la revendication 1 ou d'un procédé de décodage selon la revendication 7 lorsque ce programme est exécuté par un processeur. 11. Support de stockage, inamovible, ou partiellement ou totalement amovible, lisible par un ordinateur, et comportant des instructions d'un programme d'ordinateur pour l'exécution des étapes d'un procédé de codage selon la revendication 1 ou d'un procédé de décodage selon la revendication 7.