Brevet FR2907630A1 — publié le 20080425

DISPOSITIF ET PROCEDE DE CODAGE SOUS FORME SCALABLE D'UNE SEQUENCE D'IMAGES ET DISPOSITIF ET PROCEDE DE DECODAGE CORRESPONDANTS 1. Domaine de l'invention L'invention concerne un dispositif de codage d'une séquence d'images sous forme scalable (ou échelonnable). L'invention concerne également un dispositif de décodage d'un train binaire scalable en vue de la reconstruction d'une séquence d'images. En outre, elle concerne un procédé de codage d'un macrobloc de données image en vue de son utilisation pour le codage sous forme scalable d'une séquence d'images et un procédé de décodage d'une partie d'un train binaire scalable pour la reconstruction d'un macrobloc d'une séquence d'images. 2. Etat de l'art En référence à la figure 1, un dispositif de codage ENC1 permet de coder, sous forme scalable, une séquence d'images se présentant sous la forme d'une couche de base (couche BL) et d'au moins une couche d'amélioration (couche EL). Les images de la couche BL sont généralement des versions sous échantillonnées des images de la couche EL. Le dispositif de codage ENC1 comprend un premier module de codage ENC_BL1 pour coder la couche BL et au moins un second module de codage ENC_EL1 pour coder la couche EL. Généralement, il comprend en outre un module MUX relié aux modules de codage ENC_BL1 et ENC_EL1 pour multiplexer les trains binaires générés par lesdits modules de codage ENC_BL1 et ENC EL1. Le module de multiplexage MUX peut être externe au dispositif de codage ENC1. Le premier module de codage ENC_BL1 code généralement les blocs de données image de la couche BL conformément à une norme de codage vidéo connue de l'homme du métier des codeurs vidéo telle que MPEG-2, MPEG-4 AVC, H.261, H.262, H.263, etc. Afin de réduire la redondance spatiale entre les images de la couche EL, le second module de codage ENC_EL1 est adapté pour coder des macroblocs de données image de la couche EL selon des modes de codage 2907630 2 classiques, p.ex. en prédisant temporellement ou spatialement lesdits macroblocs de données image à partir d'autres macroblocs de données image de la couche EL. En référence à la figure 2, le second module de codage ENC_EL1 permet notamment de prédire et de coder un macrobloc de 5 données image de type intra de la couche EL, noté MBEL, à partir de macroblocs de données image (p.ex. A, B, C, et D) spatialement voisins dudit macrobloc MBEL et préalablement codés puis reconstruits. Par exemple, le macrobloc MBEL est prédit et codé selon un mode intra classique du type de ceux définis par la norme MPEG-4 AVC dans le document ISO/IEC 14496-10 10 intitulé Information technology -- Coding of audio-visual objects -Part 10: Advanced Video Coding . En outre, afin de réduire la redondance entre les images de la couche BL et les images de la couche EL, le second module de codage ENC_EL1 est également adapté pour coder des macroblocs de données image de la couche EL à partir de données image de la couche BL 15 selon un mode de codage dit inter-couche ( inter-layer en anglais). Le second module de codage ENC_EL1 permet également de prédire et de coder le macrobloc de données image MBEL à partir d'un bloc de données image BBL correspondant dans la couche de base (i.e. selon un mode inter-couche intra, noté intraBL) préalablement codé, reconstruit, puis suréchantillonné en un macroblocMBBi . Si on se réfère de nouveau à la figure 1, le second module de codage ENC_EL1 comprend classiquement un module de décision 10 adapté pour sélectionner, selon un critère de sélection prédéfini, pour un macrobloc donné de la couche EL un mode de codage (p.ex. le mode intraBL). Cette sélection 25 est, par exemple, effectuée sur la base d'un critère de type débit-distorsion, i.e. le mode sélectionné est celui qui offre le meilleur compromis débit-distorsion. Sur la figure 1, seuls sont représentés les modules de ENC_BL1 et ENC_EL1 nécessaires pour coder un macrobloc de données image de la couche EL en mode intraBL. D'autres modules non représentés sur cette 30 figure (p.ex. module d'estimation de mouvement) et bien connus de l'homme du métier des codeurs vidéo permettent de coder des macroblocs de la couche EL selon des modes classiques (p.ex. intra, inter, etc) tels que ceux définis dans le document ISO/IEC 14496-10. A cet effet, le second module de 2907630 3 codage ENC_EL1 comprend un module 20 pour sur-échantillonner, p.ex. par interpolation bilinéaire, un bloc de données image BBL reconstruit par le premier module de codage ENC_BL1 afin d'obtenir un macrobloc de données image sur-échantillonnées MBBL , également appelé macrobloc de prédiction. 5 Le second module de codage ENC_EL1 comprend en outre un module 30 adapté pour soustraire pixel à pixel le macrobloc de prédiction MBBL du macrobloc de données image de la couche d'amélioration MBEL. Le module 30 génère ainsi un macrobloc de résidus noté MBËSIdUs qui est alors transformé, quantifié, et codé par un module 40. Les données images sont 10 classiquement les valeurs de luminance ou de chrominance assignées à chaque pixel. Généralement, le dispositif de codage ENC_EL1 n'autorise pas le codage d'un macrobloc MBEL en mode intraBL lorsque le bloc BBL correspondant de la couche BL n'est pas lui-même codé en mode intra, i.e. 15 lorsqu'il est codé en mode inter. Une telle restriction permet d'éviter de reconstruire complètement la couche BL avant de reconstruire la couche EL et permet ainsi réduire la complexité du dispositif de décodage décodant le train binaire généré par le dispositif ENC1. En effet, si le dispositif de codage ENC_EL1 code un macrobloc MBEL en mode intraBL alors que le bloc BBL 20 correspondant est codé en mode inter, le dispositif de décodage adapté pour reconstruire le macrobloc MBEL doit au préalable reconstruire le bloc BBL codé en mode inter. Un tel dispositif de codage ENC_EL1 présente l'inconvénient de devoir opérer une compensation de mouvement inverse. Or une telle opération de compensation de mouvement inverse est complexe. En outre, un 25 dispositif de codage ENC1 n'autorisant pas le codage d'un macrobloc MBEL en mode intraBL lorsque le bloc BBL correspondant est codé en mode inter présente l'inconvénient de ne pas exploiter suffisamment la redondance entre les données image de la couche EL et les données image de la couche BL pour coder la couche EL . 30 3. Résumé de l'invention L'invention a pour but de pallier au moins un inconvénient de l'art antérieur. 2907630 4 L'invention concerne un procédé de codage d'un macrobloc de données image d'une séquence d'images se présentant sous la forme d'une couche de base et d'au moins une couche d'amélioration. Le macrobloc de données image auquel correspond un bloc de données image dans la couche 5 de base, dit bloc correspondant, appartient à la couche d'amélioration. Le procédé comprend les étapes suivantes : -générer, pour le macrobloc de données image, un macrobloc de prédiction de données image à partir d'au moins un bloc de données image de la couche de base préalablement codé et reconstruit; 10 - générer un macrobloc de résidus à partir du macrobloc de prédiction et du macrobloc de données image MBEL de la couche d'amélioration; et - coder le macrobloc de résidus. Préférentiellement, le bloc de données image de la couche de base est un bloc voisin du bloc correspondant. 15 Selon une caractéristique particulière, le bloc de données image de la couche de base est adjacent au bloc correspondant. Selon une autre caractéristique particulière, le bloc de données image de la couche de base est localisé dans le voisinage non causal du bloc correspondant. 20 L'invention concerne, en outre, un dispositif de codage d'une séquence d'images se présentant sous la forme d'une couche de base et d'au moins une couche d'amélioration. La couche d'amélioration comprend au moins un macrobloc de données image auquel correspond un bloc dans la couche de 25 base, dit bloc correspondant. Le dispositif comprend un premier module de codage pour coder des blocs de données image de la couche de base et un second module de codage pour coder des macroblocs de données image de la couche d'amélioration. Le second module de codage comprend : - des premiers moyens pour générer, pour le macrobloc de données image de 30 la couche d'amélioration, un macrobloc de prédiction à partir d'au moins un bloc de données image de la couche de base préalablement codé et reconstruit par le premier module de codage; 2907630 5 - des seconds moyens pour générer un macrobloc de résidus à partir du macrobloc de prédiction et du macrobloc de données image de la couche d'amélioration; et - des troisièmes moyens pour coder le macrobloc de résidus. 5 Avantageusement, les premiers moyens sont adaptés pour générer le macrobloc de prédiction à partir d'au moins un bloc de données image de la couche de base voisin du bloc correspondant. L'invention concerne en outre un procédé de décodage d'une partie 10 d'un train binaire représentatif d'une séquence d'images se présentant sous la forme d'une couche de base et d'au moins une couche d'amélioration en vue de la reconstruction d'un macrobloc de données image de la couche d'amélioration auquel correspond un bloc de données image dans la couche de base, dit bloc correspondant. Le procédé de décodage comprend les 15 étapes suivantes : - générer, pour le macrobloc de données image, un macrobloc de prédiction à partir d'au moins un bloc de données image de la couche de base préalablement reconstruit à partir d'une première partie du train binaire représentatif du bloc de données image; 20 - reconstruire un macrobloc de résidus à partir d'une seconde partie du train binaire représentatif du macrobloc de résidus; et - reconstruire le macrobloc de la couche d'amélioration à partir du macrobloc de prédiction et du macrobloc reconstruit de résidus . Préférentiellement, le bloc de données image de la couche de base est un 25 bloc voisin du bloc correspondant. L'invention concerne également un dispositif de décodage d'un train binaire représentatif d'une séquence d'images se présentant sous la forme d'une couche de base et d'au moins une couche d'amélioration. Le dispositif 30 comprend un premier module de décodage apte à reconstruire des blocs de données image de la couche de base et un second module de décodage apte à reconstruire des macroblocs de données image de la couche d'amélioration. Le second module de décodage comprend : 2907630 6 - des premiers moyens pour générer, pour un macrobloc de données image de la couche d'amélioration auquel correspond un bloc de données image dans la couche de base, dit bloc correspondant, un macrobloc de prédiction à partir d'au moins un bloc de données image de la couche de base 5 préalablement reconstruit par le premier module de décodage à partir d'une première partie du train binaire représentative du bloc de données image; - des seconds moyens pour reconstruire un macrobloc de résidus à partir d'une seconde partie du train binaire représentative du macrobloc de résidus; et 10 - des troisièmes moyens pour reconstruire le macrobloc de données image à partir du macrobloc de prédiction et du macrobloc reconstruit de résidus . Avantageusement, les premiers moyens sont adaptés pour générer le macrobloc de prédiction à partir d'au moins un bloc de données image de la couche de base voisin du bloc correspondant. 15 L'invention se rapporte en outre à un train de données codées conforme à une syntaxe de type MPEG représentatif d'une séquence d'images se présentant sous la forme d'une couche de base et d'au moins une couche d'amélioration. Le train de données codées comprend une 20 donnée binaire associée à un macrobloc de données image de la couche d'amélioration auquel correspond un bloc de données image de la couche de base. Selon une caractéristique particulière, la donnée binaire indique que le macrobloc est codé à partir d'au moins un bloc de données image de la couche de base voisin du bloc correspondant. 25 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 : 30 û la figure 1 illustre selon l'état de l'art un dispositif de codage d'une séquence d'images sous forme scalable; la figure 2 représente un macrobloc MBEL de la couche d'amélioration et des macroblocs A, B, C et D spatialement voisins ainsi qu'un bloc BBL 2907630 7 correspondant au macrobloc MBEL de la couche de base et des blocs spatialement voisins a, b, c, d, e, f, g et h; la figure 3 illustre selon l'invention un procédé de codage d'un macrobloc; la figure 4 représente un macrobloc MBEL de la couche d'amélioration et 5 des macroblocs A, B, C et D spatialement voisins ainsi qu'un bloc BBL correspondant au macrobloc MBEL de la couche de base et des blocs spatialement voisins a, b, c, d, e, f, g et h ainsi que leurs versions sur-échantillonnées; la figure 5 représente la position d'un contour Cl dans la couche 10 d'amélioration et d'un contour C2 dans la couche de base; la figure 6 illustre un second mode de réalisation d'un procédé de codage d'un macrobloc selon l'invention; la figure 7 illustre selon l'invention un procédé de décodage d'un macrobloc; 15 la figure 8 illustre un second mode de réalisation d'un procédé de décodage d'un macrobloc selon l'invention; la figure 9 selon l'invention un dispositif de codage d'une séquence d'images sous forme scalable; la figure 10 selon l'invention un dispositif de décodage d'une séquence 20 d'images codée sous forme scalable; la figure 11 représente un macrobloc MBEL de la couche d'amélioration, un bloc BBL correspondant au macrobloc MBEL de la couche de base et des blocs spatialement voisins a, b, c, d, e, f, g et h ainsi que leurs versions sur-échantillonnées ; et 25 la figure 12 représente un bloc ou macrobloc de pixels ainsi que deux repères associés. 5. Description détaillée de l'invention Dans la description les termes utilisés correspondent à ceux définis 30 dans les normes MPEG-4 AVC (ISO/IEC 14496-10) et SVC (ISO/IEC MPEG & ITU-T VCEG JVT-R202 intitulé "Draft of the Joint Draft 7"). De même les opérateurs mathématiques utilisés sont ceux définis dans le document ISO/IEC 14496-10. Notamment l'opérateur ` ' signifie décalage à droite. Sur 2907630 8 les figures 3 et 6 à 10, les modules représentés sont des unités fonctionnelles, qui peuvent ou non correspondre à des unités physiquement distinguables. Par exemple, ces modules ou certains d'entre eux peuvent être regroupés dans un unique composant, ou constituer des fonctionnalités d'un 5 même logiciel. A contrario, certains modules peuvent éventuellement être composés d'entités physiques séparées. Sur ces figures, seuls sont représentés les éléments essentiels de l'invention. En référence à la figure 3, l'invention concerne un procédé de codage 10 d'un macrobloc de données image MBEL en vue de son utilisation par un procédé de codage d'une séquence d'images se présentant sous la forme d'une couche de base et d'au moins une couche d'amélioration. Le macrobloc de données image MBEL est un macrobloc de la couche EL. Le procédé de codage selon l'invention est adapté pour coder le macrobloc MBEL selon des 15 modes de codage classique tels que ceux définis dans la norme de codage MPEG4 AVC. Il est également adapté pour coder le macrobloc MBEL en mode inter-couche à partir du bloc BBL correspondant de la couche BL (i.e. en mode intraBL) si le bloc BBL est lui-même codé en mode intra, le mode intraBL n'étant pas autorisé si le bloc BBL correspondant est codé en mode inter. Selon 20 l'invention et en référence à la figure 4, il est en outre adapté pour coder le macrobloc MBEL en mode inter-couche à partir de blocs (p.ex. e, f, g, et h) de données image de la couche BL voisins du bloc BBL. Sur la figure 4, les blocs e, f, g, et h sont adjacents au bloc BBL et sont localisés dans le voisinage non causal du bloc BBL, i.e. que le bloc BBL est codé avant que les blocs h, g, f et e 25 soient eux-mêmes codés alors que les blocs a, b, c, et d adjacents au bloc BBL sont localisés dans le voisinage causal du bloc BBL. Le terme adjacent signifie que les blocs voisins ont un coté ou un coin commun avec le bloc BBL. Selon un premier mode de réalisation, les 4 modes suivants sont 30 définis: intraBLDc, intraBLvert, intraBLHor, intraBL Plane. Ces nouveaux modes intra inter-couche permettent de coder le macrobloc MBEL à partir de blocs de données image e, f, et/ou g de la couche de base préalablement codés à l'étape E70, reconstruits à l'étape E71, puis sur-échantillonnés à l'étape E72, 2907630 9 les blocs sur-échantillonnés étant notés e"P, fuP et guP respectivement. Ces 4 modes sont définis pour des données image de luminance, ils peuvent être étendus de manière directe au cas de blocs de chrominance. Notons MBpred le macrobloc de prédiction utilisé pour prédire le macrobloc MBEL et MBpred[x, y] 5 la valeur de luminance associée au pixel de coordonnées (x,y) dans le macrobloc, x indiquant la position horizontale du pixel dans le macrobloc et y la position verticale. Notons également euP[x,y] la valeur de luminance associée au pixel de coordonnées (x,y) dans le macrobloc e"P, guP[x,y] la valeur de luminance associée au pixel de coordonnées (x,y) dans le 10 macrobloc guP et fuP[x,y] la valeur de luminance associée au pixel de coordonnées (x,y) dans le macrobloc fuP. Le pixel en haut et à gauche d'un bloc de pixels a pour coordonnées (0, 0) et le pixel en bas à droite a pour coordonnées (N-1, N-1), où N est la taille du bloc, un pixel de coordonnées (x,y) étant situé dans la colonne x et ligne y du bloc. Notons cod_mode le 15 mode de codage déterminé préalablement sur la base d'un critère prédéterminé par exemple de type débit-distorsion. Le macrobloc MBEL est prédit à l'aide du macrobloc MBpred qui est construit lors d'une étape E73 à partir des macroblocs e"P, fuP et/ou guP en fonction du mode de codage cod_mode sélectionné. Lors d'une étape E74, le macrobloc de prédiction 20 MBpred est soustrait pixel à pixel du macrobloc de données image de la couche d'amélioration MBEL. Cette étape E74 génère ainsi un macrobloc de résidus noté MBE~tdUs qui est alors transformé, quantifié, et codé lors d'une étape E75. L'étape E75 génère un train de bits, i.e. une série de bits. Selon l'invention, si le macrobloc MBEL est codé en mode intraBLDc, i.e. si 25 cod_mode= intraBLDc, le macrobloc MBpred est construit de la manière suivante : - si les pixels des blocs e"P et guP utilisés pour construire MBpred sont disponibles, i.e. si les pixels utilisés ne sont pas en dehors de l'image alors: 15 15 MBpred[x, y]= 1/32* 1guP [X,0]+leuP [o,Y] , avec x, y = 0..15 X=0 Y=0 30 -sinon si les pixels du bloc guP utilisés pour construire MBpred ne sont pas disponibles alors : 2907630 10 15 MBpred[X, y]= 1/16* le'P [0,Y] , avec x, y = 0..15 Y=0 - sinon si les pixels du bloc euP utilisés pour construire MBpred ne sont pas disponibles alors : 15 MBpred[x, y]= 1/16* 1guP [x,o] , avec x, y = 0..15 x=o / 5 - sinon MBpred[x, y]= 128, avec x, y = 0..15 Si le macrobloc MBEL est codé en mode intraBL vert, i.e. si cod mode= intraBL-ven, alors le macrobloc MBpred est construit de la manière suivante: - si les pixels du bloc guP utilisés pour construire MBpred sont disponibles, i.e. 10 si les pixels utilisés ne sont pas en dehors de l'image alors: MBpred[x,y]=guP[x,O] , avec x, y = 0..15 - sinon ce mode n'est pas autorisé. Si le macrobloc MBEL est codé en mode intraBL Hort, i.e. si cod mode= intraBLHor, alors le macrobloc MBpred est construit de la manière suivante : 15 - si les pixels du bloc euP utilisés pour construire MBpred sont disponibles, i.e. si les pixels utilisés ne sont pas en dehors de l'image alors: MBpred[x, y]=euP[O,y] , avec x, y = 0..15 - sinon ce mode n'est pas autorisé. Si le macrobloc MBEL est codé en mode intraBL Plane, i.e. si cod mode= 20 intraBLùPlane, alors le macrobloc MBpred est construit de la manière suivante : - si les pixels des blocs euP fuP et guP utilisés pour construire MBpred sont disponibles, i.e. si les pixels utilisés ne sont pas en dehors de l'image, posons guP[16,0]= fuP[0,0] et euP[0,16]= fuP[0,0], alors: MBpred[x, y]= (a+b*(x-7)+c*(y-7)), avec x, y = 0..15 25 où : - a=16*(euP[0,0]+ guP[0,0]), b= (5*H+32)/64, c= (5*V+32)/64 ; 8 - H=lx(g' [8ùx,0]-g" [x+8,0]) ; -V=1y(e'[0,8ùy]ùe'[0,8+y]). v=1 - sinon ce mode n'est pas autorisé. 2907630 11 Selon un second mode de réalisation les 4 modes intraBLDc, intraBL_vert, intraBL_Hor, intraBL_Plane sont définis de telle sorte qu'il ne soit pas nécessaire de reconstruire complètement les images de la couche BL pour reconstruire les images de la couche EL. Ces modes intra inter-couche 5 permettent de coder le macrobloc MBEL à partir de bloc de données image e, f, et/ou g de la couche de base préalablement codés à l'étape E70, reconstruits à l'étape E71, puis sur-échantillonnés à l'étape E72, les blocs sur-échantillonnés étant notés e"P, fuP et guP respectivement. Ces 4 modes sont définis pour des données image de luminance, il peuvent être étendus de 10 manière directe au cas de blocs de chrominance. Notons MBpred le macrobloc de prédiction utilisé pour prédire le macrobloc MBEL et MBpred[x, y] la valeur de luminance associée au pixel de coordonnées (x,y) dans le macrobloc, x indiquant la position horizontale du pixel dans le macrobloc et y la position verticale. Notons également euP[x,y] la valeur de luminance associée au pixel 15 de coordonnées (x,y) dans le macrobloc e"P, guP[x,y] la valeur de luminance associée au pixel de coordonnées (x,y) dans le macrobloc guP et fuP[x,y] la valeur de luminance associée au pixel de coordonnées (x,y) dans le macrobloc fuP. Le pixel en haut et à gauche d'un bloc ou macrobloc de pixels a pour coordonnées (0, 0) et le pixel en bas à droite a pour coordonnées (N-1, 20 N-1), où N est la taille du bloc, un pixel de coordonnées (x,y) étant situé dans la colonne x et ligne y du bloc. Notons cod_mode le mode de codage déterminé préalablement sur la base d'un critère prédéterminé par exemple de type débit-distorsion. Le macrobloc MBEL est prédit à l'aide du macrobloc MBpred qui est construit lors d'une étape E73 à partir des macroblocs e"P, fuP 25 et/ou guP en fonction du mode de codage cod_mode sélectionné. Lors d'une étape E74, le macrobloc de prédiction MBpred est soustrait pixel à pixel du macrobloc de données image de la couche d'amélioration MBEL. Cette étape E74 génère ainsi un macrobloc de résidus noté MBËi"us qui est alors transformé, quantifié, et codé lors d'une étape E75. L'étape E75 génère un 30 train de bits, i.e. une série de bits. Selon ce mode de réalisation, le macrobloc MBpred est construit lors de l'étape E73 uniquement à partir des blocs e, f, et/ou g de la couche BL codés en mode intra. 2907630 12 Si le macrobloc MBEL est codé en mode intraBLDc, i.e. si cod mode= intraBLDc, le macrobloc MBpred est construit de la manière suivante : - si les pixels des blocs euP et guP utilisés pour construire MBpred sont disponibles, i.e. si les pixels utilisés ne sont pas en dehors de l'image et si les 5 blocs e et g sont codés en mode intra alors: 15 15 MBpred[x, y]= 1/32* 1guP [X,0]+leuP [o,Y] , avec x, y = 0..15 x=0 Y=0 - sinon si les pixels du bloc guP utilisés pour construire MBpred ne sont pas disponibles alors : 15 MBpred[x, y]= 1/16* l euP [o, Y] , avec x, y = 0..15 Y=0 10 - sinon si les pixels du bloc euP utilisés pour construire MBpred ne sont pas disponibles alors : 15 MBpred[x, y]= 1/16* 1guP [X,0] , avec x, y = 0..15 x=o / - sinon MBpred[x, y]= 128, avec x, y = 0..15 15 Si le macrobloc MBEL est codé en mode intraBL vert, i.e. si cod mode= intraBL_ve,-t, alors le macrobloc MBpred est construit de la manière suivante : - si les pixels du bloc guP utilisés pour construire MBpred sont disponibles, i.e. si les pixels utilisés ne sont pas en dehors de l'image et si le bloc g est codé en mode intra alors: 20 MBpred[x,y]=guP[x,O] , avec x, y = 0..15 - sinon ce mode n'est pas autorisé. Si le macrobloc MBEL est codé en mode intraBL Hort, i.e. si cod mode= intraBLHor, alors le macrobloc MBpred est construit de la manière suivante : - si les pixels du bloc euP utilisés pour construire MBpred sont disponibles, i.e. si 25 les pixels utilisés ne sont pas en dehors de l'image et si le bloc e est codé en mode intra alors: MBpred[x, y]=euP[O,y] , avec x, y = 0..15 - sinon ce mode n'est pas autorisé. Si le macrobloc MBEL est codé en mode intraBL Plane, i.e. si cod mode= 30 intraBL_Plane, alors le macrobloc MBpred est construit de la manière suivante : 2907630 13 - si les pixels des bloc e"P fuP et guP utilisés pour construire MBpred sont disponibles, i.e. si les pixels utilisés ne sont pas en dehors de l'image et si les blocs e, f et g sont codés en mode intra, posons guP[16,0]= fuP[0,0] et euP[0,16]= fuP[0,0], alors: 5 MBpred[x, y]= (a+b*(x-7)+c*(y-7)), avec x, y = 0..15 où : -a=16*(euP[0,0]+ guP[0,0]), b= (5*H+32)/64, c= (5*V+32)/64 ; 8 - H=lx(g' [8-x,0]-g" [x+8,0]) ; - V=1y(e' [0,8-y]-e' [0,8+y]). v=i - sinon ce mode n'est pas autorisé. 10 Ces deux modes de réalisation permettent avantageusement de coder les données image d'un macrobloc MBEL de la couche EL selon un mode intra inter-couche quelque soit le mode de codage du bloc BBL correspondant dans la couche BL, i.e. que le bloc BBL soit codé en mode intra ou inter. Ainsi, le 15 procédé de codage selon l'invention exploite davantage la redondance spatiale entre les données image de la couche BL et les données image de la couche EL et de ce fait code la couche EL plus efficacement, i.e. avec moins de bits. Par ailleurs, seuls sont utilisés les blocs e, f, g localisés dans le voisinage non causal du bloc correspondant BBL ce qui limite la complexité du 20 procédé de codage en limitant le nombre de modes ajoutés. Les blocs e, f et g étant dans le voisinage non causal du bloc BBL, leur utilisation vient pallier le fait que le macrobloc MBEL ne peut être prédit spatialement à partir des macroblocs E, F, G, et H de la couche EL (cf. figure 2) car ceux-ci sont localisés dans son voisinage non causal. En outre, ils permettent de prédire 25 de manière plus précise le macrobloc MBEL dans le cas où une transition (i.e. un contour Cl auquel correspond un contour C2 dans la couche de base) existe entre les macroblocs A, B, C, D d'une part et le macrobloc MBEL d'autre part tel qu'illustré sur la figure 5. En effet, un macrobloc de prédiction MBpred construit à partir des macroblocs A, B, C et D voisins de MBEL ne prédit pas 30 suffisamment précisément le macrobloc MBEL. Dans ce cas, le macrobloc MBEL sera très coûteux à coder en terme de nombre de bits. En revanche un 2907630 14 macrobloc de prédiction MBpred construit à partir des blocs e, f, g, et h prédit le macrobloc MBEL plus précisément. Dans ce cas, le macrobloc MBEL sera moins coûteux à coder en terme de nombre de bits que dans le cas précédent. Les mêmes modes intraBL_Dc, intraBL_ven, intraBL_Hor, IntraBL_Plane 5 peuvent être définis par analogie pour prédire et coder des blocs de pixels auxquels sont associés des valeurs de chrominance. Un troisième mode de réalisation, illustré par la figure 4, est proposé dans le cadre de la norme de codage SVC définie dans le document JVT- 10 T005 de l'ISO/IEC MPEG & ITU-T VCEG intitulé "Draft of the Joint Draft 7", J.Reichel, H.Schwarz, M.Wien. Les étapes du procédé de codage de la figure 4 identiques à ceux du procédé de codage de la figure 3 sont identifiés sur la figure 4 à l'aide des mêmes références et ne sont pas décrits davantage. La norme définit une syntaxe que doit respecter tout train binaire pour être 15 compatible avec cette norme. La syntaxe définit notamment comment sont codées les différentes informations (par exemple les données relatives aux images comprises dans la séquence, les vecteurs de mouvement ...). Selon SVC, la couche de base est codée conformément àla norme MPEG-4 AVC. La nouvelle syntaxe proposée est présentée cidessous dans un tableau sous 20 la forme d'un pseudo-code avec les mêmes conventions que dans le document JVT-T005 ou plus généralement dans la partie relative à la scalabilité du document ISO/IEC 14496-10. Notamment, l'opérateur `__' signifie égal à . L'opérateur ' ' est l'opérateur logique NOT . Dans ce tableau, les informations ajoutées relatives au logo sont en italique. 25 2907630 15 Un macroblock_layer _in_sca!ab!e_extension( ) { C Descripto r if( in_crop_window( CurrMbAddr)) { if(adaptive_prediction_flag ) base_mode_flag 2 u(1) ae(v) } if(! base_mode_flag) { hier intra bl flag 2 u(1) ae(v) mb_type 2 ue(v) ae(v) } if( mb_type = = 1_PCM) { while( !byte _aligned() ) pcm_alignment_zero_bit 2 f(1) for( i = 0; i 1 ) NoSubMbPartSizeLessThan8x8F1ag = 0 } else if( !direct_ 8x8_inference_flag ) NoSubMbPartSizeLessThan8x8F1ag = 0 2907630 16 } else { if( transform_8x8_mode _f!ag && mb_type = = INxN ) transform_size_8x8_f!ag 2 u(1) ae(v) mb_pred_in_sca!ab!e_extension( mb_type) 2 } if( MbPartPredMode( mb_type, 0) != Intra16x16) { coded_block _pattern 2 me(v) ae(v) if( CodedBlockPatternLuma > 0 && transform_8x8_mode_flag && mb_type != 1_NxN && NoSubMbPartSizeLessThan8x8F1ag && !( MbPartPredMode( mb_type, 0) B Direct 16x16 && !direct_ 8x8_inference_flag) ) transform_size_8x8_flag 2 u(1) ae(v) } if( CodedBlockPatternLuma > 0 I I CodedBlockPatternChroma > 0 I I MbPartPredMode( mb_type, 0) = = Intra16x16) { mb_gp_delta 2 se(v) ae(v) residualinscalableextension( ) 3 1 4 } } } hier intra bl flag est un champ codé par exemple sur 1 bits qui indique si le macrobloc MBEL de la couche EL est codé selon un mode intra de type inter-couche. Selon SVC, le macrobloc MBEL peut être codé selon les 2907630 17 modes intral6x16 intra4x4, ou intra8x8 tels que définis par l'extension de la norme MPEG-4 AVC relative à la scalabilité. Selon ce mode de réalisation, de nouveaux modes de codage, notés intra4x4BL, intra8x8BL, et intral6xl6BL, sont définis et peuvent être sélectionnés pour coder le macrobloc MBEL. De 5 nouveaux modes de prédiction de blocs du macrobloc MBEL sont également définis. Les nouveaux modes intra inter-couche intra4x4BL, intra8x8BL, et intral6xl6BL permettent de coder le macrobloc MBEL à partir de bloc de données image e, f, g et/ou h de la couche de base préalablement codés à l'étape E70, reconstruits à l'étape E71, puis sur-échantillonnés à l'étape E72, 10 les blocs sur-échantillonnés étant notés e"P, fuP, guP et huP respectivement. Ces modes sont définis pour des données image de luminance, il peuvent être étendus de manière directe au cas de blocs de chrominance. Le macrobloc MBEL est prédit à l'aide d'un macrobloc de prédiction MBpred qui est construit lors d'une étape E73' en fonction du mode de codage cod_mode 15 sélectionné et éventuellement de modes de prédiction bic_mode(s) de chacun des blocs formant ledit macrobloc MBEL. Lors d'une étape E74, le macrobloc de prédiction MBpred est soustrait pixel à pixel du macrobloc de données image de la couche d'amélioration MBEL. Cette étape E74 génère ainsi un macrobloc de résidus noté MBE~tdUs qui est alors transformé, quantifié, et codé 20 lors d'une étape E75. L'étape E75 génère un train de bits, i.e. une série de bits. Si le macrobloc MBEL est codé en mode intra4x4BL alors chacun des 16 blocs de 4 par 4 pixels, noté bloc 4x4, du macrobloc est prédit selon l'un des modes suivants: 25 Hier I ntra 4x4 Vertical U p, Hier Intra 4x4 Horizontal Left, Hier _Intra_4x4_DC_Down _Right, Hier _Intra_4x4_Diagonal _Top_Right, Hier _Intra_4x4_Diagonal _Top_Left, Hier _Intra4x4Vertical Up_Left, Hier _Intra_4x4_Horizontal _Top, Hier _Intra_4x4_Vertical _Up_Right et Hier Intra 4x4 Horizontal Down Left. 30 Le choix du mode de prédiction, noté bic mode, d'un bloc 4x4 peut être effectué selon un critère de type débit-distorsion. Ce choix peut être effectué en même temps que le choix du mode de codage cod_mode du macrobloc. 2907630 18 Notons pred4x4L le bloc de prédiction utilisé pour prédire un bloc 4x4, noté BEL et représenté en grisé sur la figure 12, du macrobloc MBEL et pred4x4L[x, y] la valeur de luminance associée au pixel de coordonnées (x,y) dans le bloc de prédiction, x indiquant la position horizontale du pixel dans le bloc et y la 5 position verticale, le pixel en haut et à gauche du bloc de prédiction ayant pour coordonnées (0, 0) et le pixel en bas à droite ayant pour coordonnées (N-1, N-1), où N est la taille du bloc, un pixel de coordonnées (x,y) étant situé dans la colonne x et ligne y du bloc. En référence à la figure 12, un premier repère (X,Y) est associé au bloc BEL dont l'origine est le pixel en haut et à 10 gauche du bloc et un second repère (X',Y') est associé au bloc BEL dont l'origine est le pixel en bas à droite du bloc BEL. Posons x'=3-x, y'=3-y et p'[ x', y' ]=p[ 3-x', 3-y' ]=p[ x, y ], p[x,y] est la valeur de luminance associée au pixel de coordonnées (x,y) dans le premier repère et p'[x',y'] est la valeur de luminance associée au pixel de coordonnées (x',y') dans le second repère. 15 Les blocs de prédiction pred4x4L associés à chacun des blocs 4x4 du macrobloc MBEL forment le macrobloc de prédiction MBpred. Si le macrobloc MBEL est codé en mode intra4x4BL et si le bloc BEL est prédit selon le mode Hier _Intra_4x4_Vertical _Up alors le bloc pred4x4L est construit de la manière suivante : 20 pred4x4L[ x, y ] = p'[ x', -1 ], avec x=0..3 et y=O..3 Le mode de prédiction Hier Intra_4x4_Vertical _Up est autorisé uniquement si les pixels p'[ x', -1 ] sont disponibles, i.e. s'ils existent et s'ils ont été générés à partir d'un bloc de pixels de la couche BL (i.e. e, f, g, h) codé en mode intra. Si le macrobloc MBEL est codé en mode intra4x4BL et si le bloc BEL est 25 prédit selon le mode Hier Intra 4x4 Horizontal Left, alors le bloc pred4x4L est construit de la manière suivante : pred4x4L[ x, y ] = p'[ -1, y' ] , avec x=0..3 et y=O.. 3 Le mode de prédiction Hier Intra_4x4_Horizontal _Left est autorisé uniquement si les pixels p'[ -1, y' ] sont disponibles, i.e. s'ils existent et s'ils 30 ont été générés à partir d'un bloc de pixels de la couche BL codé en mode intra. Si le macrobloc MBEL est codé en mode intra4x4BL et si le bloc BEL est prédit selon le mode Hier _Intra_4x4_DC_Down_Right, alors le bloc pred4x4L est construit de la manière suivante : 2907630 19 Si le pixel p'[ x', -1 ], avec x=0..3 et le pixel p'[ -1, y' ], avec y=0..3 sont disponibles, i.e. s'ils existent et s'ils ont été générés à partir d'un bloc de pixels de la couche BL codé en mode intra, les valeurs pred4x4L[ x, y ], avec x=0..3 et y=0..3 sont déterminées de la manière suivante: 5 pred4x4L[ x, y ] = (p'[ 0, -1 ] + p'[ 1, -1 ] + p'[ 2, -1 ] + p'[ 3, -1 ] + p'[-1, 0]+p'[-1, 1 ]+p'[-1, 2]+p'[-1, 3]+4) 3 sinon, i.e. si l'un des pixels p'[ x', -1 ], avec x=0.. 3 n'est pas disponible et si tous les pixels p'[ -1, y' ], avec y=0..3 sont disponibles, les valeurs pred4x4L[ x, y ], avec x=0..3 et y=0..3 sont déterminées de la manière 10 suivante: pred4x4L[x,y]=(p'[-1, 0]+p'[-1, 1 ]+p'[-1, 2]+p'[-1, 3]+2) 2 sinon, i.e. si l'un des pixels p'[ -1, y' ], avec y = 0..3 n'est pas disponible et si tous les pixels p'[ x', -1 ], avec x=0..3 sont disponibles, les valeurs pred4x4L[ x, y ], avec x=0..3 et y = 0..3 sont déterminées de la manière 15 suivante: pred4x4L[x,y]=(p'[0,-1]+p'[1,-1]+p'[2,-1]+p'[3,-1]+2) sinon (si certains des pixels p'[ x', -1 ], avec x=0..3 et certains des pixels p'[ -1, y' ], avec y=0..3 ne sont pas disponibles), les valeurs pred4x4L[ x, y ], avec x=0..3 et y=0..3 sont déterminées de la manière 20 suivante: pred4x4L[ x, y ] = (1 ( BitDepthy û 1) ) Le mode de prédiction Hier _Intra_4x4_DC_Down_Right peut toujours être utilisé. Si le macrobloc MBEL est codé en mode intra4x4BL et si le bloc BEL est prédit selon le mode Hier _Intra_4x4_Diagonal _Top_Right, alors le bloc 25 pred4x4L est construit de la manière suivante : - Si x'=3 et y'=3, pred4x4L[ x, y ] = ( p'[ 6, -1 ]+3*p'[7,-1 ]+2) 2 - sinon (i.e. x' n'est pas égal à 3 ou y' n'est pas égal à 3), 2907630 20 pred4x4L[x,y]=(p'[x'+y',-1 ]+2*p'[x'+y'+1,-1 ]+p'[x'+y'+2,-1 ]+2) 2 Le mode de prédiction Hier _Intra_4x4_Diagonal _Top_Right n'est autorisé que si les pixels p'[x',-1 ] avec x=0..7 sont disponibles. 5 Si le macrobloc MBEL est codé en mode intra4x4BL et si le bloc BEL est prédit selon le mode Hier _Intra_4x4_Diagonal _Top_Left, alors le bloc pred4x4L est construit de la manière suivante : û Si x' > y', pred4x4L[x,y]=(p'[x'ûy'-2,-1]+2*p'[x'ûy'-1,-1 ]+p'[x'ûy',-1 10 ]+2) 2 Sinon si x' -1, y'+( x' 1) +11+1) 1 sinon, si zHU' est égale à 1 ou 3 pred4x4L[ x, y ] = ( p'[ -1, y'+(x' 1 )]+2* p'[-1, y'+(x' 1)+1 ] +p'[-1, y'+(x' 1 )+2]+2) 2 15 sinon, si zHU' est égal à 5, pred4x4L[x,y]=(p'[-1,2]+3*p'[-1,3]+2) 2 sinon (i.e. si zHU' > 5), pred4x4L[ x, y ] = p'[ -1, 3 ] 20 Si le macrobloc MBEL est codé en mode intra8x8BL alors chacun des 4 blocs de 8 par 8 pixels, noté bloc 8x8, du macrobloc est prédit selon l'un des modes suivants: Hier Intra 8x8 Vertical, Hier Intra 8x8 Horizontal, Hier Intra 8x8 DC, Hier _Intra_8x8_Diagonal _Up_Right, Hier _Intra_8x8_Diagonal _Up_Left, 25 Hier _Intra8x8Vertical Left, Hier _Intra_8x8_Horizontal _Up, Hier _Intra_8x8_Vertical _ Right et Hier _Intra_8x8_Horizontal _Down. Le choix du mode de prédiction d'un bloc 8x8 peut être effectué selon un critère de type débit-distorsion. 2907630 23 Notons pred8x8L le bloc de prédiction utilisé pour prédire un bloc 8x8, noté BEL et représenté en grisé sur la figure 12, du macrobloc MBEL et pred8x8L[x, y] la valeur de luminance associée au pixel de coordonnées (x,y) dans le bloc, x indiquant la position horizontale du pixel dans le bloc 8x8 et y la position 5 verticale. Le pixel en haut et à gauche d'un bloc de pixels a pour coordonnées (0, 0) et le pixel en bas à droite a pour coordonnées (N-1, N-1), où N est la taille du bloc 8x8, un pixel de coordonnées (x,y) étant situé dans la colonne x et ligne y du bloc. En référence à la figure 12, un premier repère (X,Y) est associé au bloc BEL 10 dont l'origine est le pixel en haut et à gauche du bloc et un second repère (X',Y') est associé au bloc BEL dont l'origine est le pixel en bas à droite du bloc BEL. Posons x'=7-x, y'=7-y et p'[x',y']=p[7-x',7-y']=p[x,y], p[x,y] est la valeur de luminance associée au pixel de coordonnées (x,y) dans le premier repère et p'[x',y'] est la valeur de luminance associée au pixel de coordonnées (x',y') 15 dans le second repère. Des pixels dits de référence filtrés notés p"[ x', y' ] pour x'=-1, y'=-1..7 et x'=0..15, y'=-1 sont construits de la manière suivante: • si tous les pixels p'[ x', -1 ] avec x'=0..7 sont disponibles alors : o la valeur de p"[ 0, -1 ] est obtenue de la manière suivante : 20 ^ si p'[ -1, -1 ] est disponible p"[0,-1 ]=(p'[-1,-1 ]+2*p'[0,-1 ]+p'[1,-1 ]+2) 2 ^ sinon p"[0,-1 ]=(3*p'[0,-1 ]+p'[1,-1 ]+2) 2 o les valeurs de p"[ x', -1 ], avec x'=1..7 sont obtenus de la 25 manière suivante p"[x',-1 ] = ( p'[ x'-1, -1 ]+2*p'[x',-1 ]+p'[x'+1,-1 ] + 2 ) 2 • si tous les pixels p'[ x', -1 ] avec x'=7..15 sont disponibles, alors o les valeurs de p"[ x', -1 ], avec x'=8..14 sont obtenues de la manière suivante : 30 p"[x',-1 ] = ( p'[ x'-1, -1 ] + 2* p'[ x', -1 ]+p[x'+1,-1 ]+2) 2 o la valeur de p"[ 15, -1 ] est obtenue de la manière suivante p"[15,-1 ]=(p'[14,-1 ]+3*p'[15,-1 ] + 2 ) 2 2907630 24 • si le pixel p'[ -1, -1 ] est disponible, la valeur de p"[ -1, -1 ] est obtenue de la manière suivante o si le pixel p'[ 0, -1 ] est disponible ou le pixel p'[ -1, 0 ] est non disponible, alors 5 • si le pixel p'[ 0, -1 ] est disponible, alors p"[-1,-1 ] = (3*p'[ -1, -1 ]+p'[0,-1 ]+2) 2 • sinon (p'[ 0, -1 ] est non disponible et p'[ -1, 0 ] est disponible), alors p"[-1,-1 ] = (3*p'[ -1, -1 ]+p'[-1,0]+2) 2 10 o sinon (p'[ 0, -1 ] est disponible et p'[ -1, 0 ] est disponible) p"[-1,-1 ]=(p'[0,-1 ]+2*p'[-1,-1 ]+p'[-1,0]+2) 2 • si tous les pixels p'[ -1, y' ] avec y'=0..7 sont disponibles, alors o la valeur de p"[ -1, 0 ] est obtenue de la manière suivante : ^ si p'[ -1, 1 ] est disponible 15 p"[ -1, 0]=(p'[-1,-1 ]+2*p'[-1, 0]+p'[-1,1 ] + 2 ) 2 • sinon (si p'[ -1, -1 ] n'est pas disponible) p"[-1, 0]=(3*p'[-1, 0]+ p'[-1, 1 ]+2) 2 • les valeurs de p"[ -1, y' ], avec y'=1 ..6 sont obtenus de la manière suivante 20 p"[ -1 , y' ] = ( p'[ -1 , y'-1 ]+2*p'[-1, y' ] + p'[ -1 , y'+1 ] + 2 ) 2 • la valeur de p"[ -1, 7 ] est obtenue de la manière suivante: p"[-1, 7]=(p'[-1, 6]+3*p'[-1, 7]+2) 2 Si le macrobloc MBEL est codé en mode intra8x8BL et si le bloc BEL est prédit selon le mode Hier _Intra_8x8_Vertical alors le bloc pred8x8L est 25 construit de la manière suivante : pred8x8L[ x, y ] = p"[ x', -1 ], avec x'=0..7 et y'=0..7 Le mode de prédiction Hier _Intra_8x8_Vertical est autorisé uniquement si les pixels p"[ x', -1 ] sont disponibles, i.e. s'ils existent et s'ils ont été générés à partir d'un bloc de pixels g de la couche BL codé en mode intra. 30 Si le macrobloc MBEL est codé en mode intra8x8BL et si le bloc BEL est prédit selon le mode Hier Intra 8x8 Horizontal, alors le bloc pred8x8L est construit de la manière suivante : pred8x8L[ x, y ] = p"[ -1, y' ] , avec x'=0..7 et y'=0..7 2907630 25 Le mode de prédiction Hier _Intra_8x8_Horizontal est autorisé uniquement si les pixels p'[ -1, y' ] sont disponibles, i.e. s'ils existent et s'ils ont été générés à partir d'un bloc de pixels e de la couche BL codé en mode intra. Si le macrobloc MBEL est codé en mode intra8x8BL et si le bloc BEL est 5 prédit selon le mode Hier _Intra_8x8_DC, alors le bloc pred8x8L est construit de la manière suivante : • Si tous les pixels p'[ x', -1 ], avec x'=0..7 et les pixels p'[ -1, y' ], avec y'=O..7 sont disponibles, i.e. s'ils existent et s'ils ont été générés à partir des blocs de pixels de la couche BL codé en mode 10 intra, les valeurs pred8x8L[ x, y ], avec x=0..7 et y=0..7 sont déterminées de la manière suivante: 8J 4 y'=0 pred8x8L[ x, y ]= =0 • sinon, i.e. si l'un des pixels p'[ x', -1 ], avec x=0..3 n'est pas disponible et si tous les pixels p'[ -1, y' ], avec y=0..3 sont 15 disponibles, les valeurs pred4x4L[ x, y ], avec x=0..3 et y=0..3 sont déterminées de la manière suivante: pred4x4L[x,y]=(p'[-1, 0]+p'[-1, 1 ]+p'[-1, 2]+p'[-1, 3]+2) 2 • sinon, i.e. si l'un des pixels p'[ x, -1 ], avec x'=0..7 n'est pas disponible et si tous les pixels p'[ -1, y' ], avec y'=O..7 sont 20 disponibles, les valeurs pred8x8L[ x, y ], avec x'=0..7 et y'=0..7 sont déterminées de la manière suivante: pred8x8L[ x, y ] = lp"[-1,y']+4 3 \y'=o • sinon, si certains des pixels p'[ -1, y' ], avec y'=O..7 et tous les pixels p'[ x', -1 ], avec x'=0..7 sont disponibles, les valeurs pred8x8L[ x, y ], 25 avec x'=0..7 et y'=0..7 sont déterminées de la manière suivante: 7 pred8x8L[ x, y ] = p"[x',-1]+4 3 x'=0 2907630 26 • sinon (certains pixels p'[ x', -1 ], avec x'=0..7 et certains pixels p'[ -1, y' ], avec y'=0..7 ne sont pas disponibles, les valeurs pred8x8L[ x, y ], avec x'=0..7 et y'=0..7 sont obtenues de la manière suivante : pred8x8L[ x, y ] = (1 ( BitDepthy û 1) ) Le mode de prédiction Hier Intra_4x4_DC peut toujours être utilisé. Si le macrobloc MBEL est codé en mode intra8x8BL et si le bloc BEL est prédit selon le mode Hier _Intra_8x8_Diagonal _Up_Right, alors le bloc pred8x8L est construit de la manière suivante : • Six' est égal à7ety'estégalà7, pred8x8L[ x, y ] = ( p"[ 14, -1 ]+3*p"[15,-1 ]+2) 2 • sinon (i.e. x' n'est pas égal à 7 ou y' n'est pas égal à 7), pred8x8L[ x, y ] = ( p"[ x' + y', -1 ] + 2 * p"[ x' + y' + 1, -1 ] + p"[ x' + y' + 2, -1 ] +2) 2 15 Le mode de prédiction Hier _Intra_8x8_Diagonal _Up_Right n'est autorisé que si les pixels p'[ x',-1 ] avec x'=0..15 sont disponibles. Si le macrobloc MBEL est codé en mode intra8x8BL et si le bloc BEL est prédit selon le mode Hier _Intra_8x8_Diagonal _Up_Left, alors le bloc pred8x8L est construit de la manière suivante : 20 • si x' est supérieur à y', pred8x8L[ x, y ] = ( p"[ x' û y' - 2, -1] + 2 * p"[ x'ûy'-1,-1 ] + p"[ x'ûy',-1 ] + 2 ) 2 • sinon si x' est inférieur à y', pred8x8L[ x, y ] = ( p"[ -1, y' û x' - 2 ] + 2 * p"[ -1, y' û x' - 1 ]+p"[-1,y'-x']+ 25 2) 2 • sinon (i.e. si x' est égal à y'), pred8x8L[ x, y ] = ( p"[ 0, -1 ]+2*p"[-1,-1 ]+p"[-1,0]+2) 2 5 10 2907630 27 Le mode de prédiction Hier _Intra_8x8_Diagonal _Up_Right n'est autorisé que si les pixels p'[ x', -1 ] avec x'=0..7 et p'[ -1, y' ] avec y'=-1..7 sont disponibles. Si le macrobloc MBEL est codé en mode intra8x8BL et si le bloc BEL est prédit selon le mode Hier _Intra_8x8_Vertical _Left, alors, soit la variable zVR' 5 égale à 2 * x' û y', le bloc pred8x8L est construit de la manière suivante avec x'=0..7 et y'=0..7: • si zVR' est égal à 0, 2, 4, 6, 10, 12 ou 14 pred8x8L[ x, y ] = ( p"[ x' - ( y' 1 ) - 1, -1 ]+p"[x'-(y' 1 ),-1 ]+1) 1 • sinon, si zVR' est égal à 1, 3, 5, 7, 9, 11 ou 13 10 pred8x8L[ x, y ] = ( p"[ x' - ( y' 1 ) - 2, -1] + 2 * p"[ x' - ( y' 1 ) - 1, -1 ] + p"[x'-(y' 1 ),-1 ]+2) 2 • sinon, si zVR' est égal à -1, pred8x8L[ x, y ] = ( p"[ -1, 0 ] + 2 * p"[ -1, -1 ]+p"[o 1 ]+2) 2 • sinon (i.e. si zVR' est égal à -2, -3, -4, -5, -6, -7), 15 pred8x8L[ x, y ] = ( p"[ -1 , y'û2*x'-1 ] + 2 * p"[ -1, y' û 2*x' - 2 ] + p"[ -1 , y' û 2*x' - 3 ] + 2 ) 2 Le mode de prédiction Hier _Intra_8x8_Vertical _Left n'est autorisé que si les pixels p'[ x', -1 ] avec x=0..7 et p'[ -1, y' ] avec y=-1..7 sont disponibles. Si le macrobloc MBEL est codé en mode intra8x8BL et si le bloc BEL est 20 prédit selon le mode Hier _Intra_8x8_Horizontal _Up, alors, soit la variable zHD' égale à 2 * y' û x', le bloc pred8x8L est construit de la manière suivante avec x'= 0..7 et y'=0..7: • si zHD' est égal à 0, 2, 4, 6, 8, 10, 12 ou 14 pred8x8L[ x, y ] = ( p"[ -1 , y" -( x" 1 ) - 1 ]+p"[-1, y'-(x' 1 )]+1) 1 25 • sinon, si zHD' est égal à 1, 3, 5, 7, 9, 11 ou 13 pred8x8L[ x, y ] = (p"[ -1, y'-(x' 1)-2 ]+2*p"[ -1, y' - (x' 1) - 1 ] + p"[ -1, y' - (x' 1 )]+2) 2 2907630 28 • sinon, si zHD' est égale à -1, pred8x8L[ x, y ] = ( p"[ -1, 0 ] + 2 * p"[ -1, -1 ]+p"[o -1 ]+2) 2 • sinon (i.e. si zHD' est égal à -2, -3, -5, -6, -7), pred8x8L[ x, y ] = (p"[ x' -2*y' -1, -1 ]+2*p"[ x' -2*y' - 2, -1 ] + p"[ x' -2*y' - 3, 1 ] 5 +2) 2 Le mode de prédiction Hier _Intra_8x8_Horizontal _Up n'est autorisé que si les pixels p'[ x', -1 ] avec x=0..7 et p'[ -1, y' ] avec y=-1..7 sont disponibles. Si le macrobloc MBEL est codé en mode intra8x8BL et si le bloc BEL est prédit selon le mode Hier _Intra_8x8_Vertical _Right, alors le bloc pred8x8L est 10 construit de la manière suivante avec x'=0..7 et y'=0..7: • si y' est égal à 0, 2, 4 ou 6 pred8x8L[ x,y ]= (p"[ x'+(y' 1), -1 ] + p"[ x' + (y' 1) +1, -1 ] + 1) 1 • sinon (y' est égal à 1, 3, 5, 7), pred8x8L[ x, y ] = ( p"[ x' + ( y' 1 ), -1 ] + 2 * p"[ x' + ( y 1 )+1,-1 ]+p"[ 15 x'+(y' 1)+2,-1 ]+2) 2 Le mode de prédiction Hier _Intra_8x8_Vertical _Right n'est autorisé que si les pixels p'[ x', -1 ] avec x'=0..15 sont disponibles. Si le macrobloc MBEL est codé en mode intra8x8BL et si le bloc BEL est prédit selon le mode Hier _Intra_8x8_Horizontal _Down, alors, soit zHU' une 20 variable égale à x' + 2 * y', le bloc pred8x8L est construit de la manière suivante, avec x'=0..7 et y'=0..7: • si zHU' est égale à 0, 2, 4, 6, 8, 10 ou 12 pred8x8L[ x, y ] = (p"[ -1, y'+(x' 1) ]+p"[ -1, y'+( x' 1) +11+1) 1 • sinon, si zHU' est égale à 1, 3, 5, 7, 9, ou 11 25 pred8x8L[ x, y ] = ( p"[ -1, y' + ( x' 1 )]+2*p"[-1,y'+(x' 1)+1 ]+p"[ -1,y'+(x' 1 )+2]+2) 2 • sinon, si zHU' est égal à 13, 2907630 29 pred8x8L[ x, y ] = ( p"[ -1, 6 ] + 3 * p"[ -1, 7 ] + 2 ) 2 • sinon (i.e. si zHU' est supérieur à 13), pred8x8L[ x, y ] = p"[ -1, 7 ] Le mode de prédiction Hier _Intra_8x8_Horizontal _Down n'est autorisé que si 5 les pixels p'[ -1, y' ] avec y'=0..7 sont disponibles. Si le macrobloc MBEL est codé en mode intral6xl6BL alors ledit macrobloc MBEL est prédit selon l'un des modes suivants: Hier Intra 16x16 Vertical, Hier Intra 16x16 Horizontal, 10 Hier Intra 16x16 DC et Hier Intra 16x16 Plane. Le choix du mode de prédiction du macrobloc 16x16 peut être effectué selon un critère de type débit-distorsion. Notons predl6xl6L le macrobloc de prédiction utilisé pour prédire le macrobloc MBEL représenté en grisé sur la figure 12et predl6xl6L[x, y] la 15 valeur de luminance associée au pixel de coordonnées (x,y) dans le macrobloc, x indiquant la position horizontale du pixel dans le macrobloc et y la position verticale. Le pixel en haut et à gauche d'un bloc de pixels a pour coordonnées (0, 0) et le pixel en bas à droite a pour coordonnées (N-1, N-1), où N est la taille du macrobloc (typiquement 16), un pixel de coordonnées 20 (x,y) étant situé dans la colonne x et ligne y du macrobloc. En référence à la figure 12, un premier repère (X,Y) est associé au macrobloc MBEL dont l'origine est le pixel en haut et à gauche du macrobloc et un second repère (X',Y') est associé au macrobloc MBEL dont l'origine est le pixel en bas à droite du bloc MBEL. Posons x'=15-x, y'=15-y et p'[x',y']=p[15-x',15-y']=p[x,y], p[x,y] 25 est la valeur de luminance associée au pixel de coordonnées (x,y) dans le premier repère et p'[x',y'] est la valeur de luminance associée au pixel de coordonnées (x',y') dans le second repère. Si le macrobloc MBEL est codé en mode intral 6x16BL et est prédit selon le mode Hier Intra16x16_Vertical, alors le macrobloc pred16x16L est 30 construit de la manière suivante avec x=0..15 et y=0..15: pred16x16L[ x, y ] = p'[ x', -1 ] 2907630 30 Le mode de prédiction Hier _Intra_16x16_Vertical est autorisé uniquement si les pixels p'[ x', -1 ] sont disponibles, i.e. s'ils existent et s'ils ont été générés à partir du bloc de pixels g de la couche BL codé en mode intra. Si le macrobloc MBEL est codé en mode intral 6x16EL et est prédit selon 5 le mode Hier Intra 16x16 Horizontal, alors le macrobloc predl6xl6L est construit de la manière suivante avec x=0..15 et y=0..15: predl6xl6L[x,y]=p'[-1, y'] Le mode de prédiction Hier _Intra_16x16_Vertical est autorisé uniquement si les pixels p'[ -1, y' ] sont disponibles, i.e. s'ils existent et s'ils ont été générés à 10 partir du bloc de pixels e de la couche BL codé en mode intra. Si le macrobloc MBEL est codé en mode intral 6x16EL et est prédit selon le mode Hier Intra16x16 DC, alors le macrobloc pred16x16L est construit de la manière suivante avec x=0..15 et y=0..15: Si tous les pixels p'[ x', -1 ] et tous les pixels p'[ -1, y ` ] sont disponibles, 15 i.e. s'ils existent et s'ils sont générés à partir des blocs de pixels g et e de la couche BL codés en mode intra 15 15 pred16x16L [ x, y ] = l p'[x',-1]+I p'[-1, y']+16 5 \ x'=1 y'=1 Sinon si un des pixels p'[ x', -1 ] n'est pas disponible et si tous les pixels p'[ -1, y' ] sont disponibles , s'ils existent et s'ils sont générés à partir du 20 bloc de pixels e de la couche BL codés en mode intra 15 pred16x16L [ x, y ] = lp'[-1,y']+8 4 \ y'=1 Sinon si un des pixels p'[ -1, y' ] n'est pas disponible et si tous les pixels p'[ x', -1 ] sont disponibles , s'ils existent et s'ils sont générés à partir du bloc de pixels g de la couche BL codés en mode intra / 15 25 pred16x16L [ x, y ] = l p'[x',-1]+8 4 \ x'=1 Sinon si un des pixels p'[ -1, y' ] n'est pas disponible et si un des pixels p'[ x', -1 ] n'est pas disponible alors : pred16x16L [ x, y ] = (1 ( BitDepthy û 1 ) ) 2907630 31 Si le macrobloc MBEL est codé en mode intral 6x16BL et est prédit selon le mode Hier Intra 16x16_Plane, alors le macrobloc predl6xl6L est construit de la manière suivante avec x=0..15 et y=0..15: Si tous les pixels p'[ x', -1 ] et tous les pixels p'[ -1, y ` ] sont disponibles, 5 i.e. s'ils existent et s'ils sont générés à partir des blocs de pixels g et e de la couche BL codés en mode intra pred16x16L[x,y]=CIiply((a'+b'*(x'-7)+c'* (y'-7)+16) 5), =xsiz y = z sinon - a'=16*(p'[-1, 15]+p'[15,-1 ]) 10 - b' = ( 5 * H' + 32 ) 6 - c'=(5*V'+ 32) 6 7 - H '= E (x'+1)*(p' [8 + x',ù1] ù p'[6ùx',ù1]) x'=0 7 - V'=1(x'+1)*(p'[ù1,8+p'[ù1,6ùy']) y,=o 15 Chaque bloc de chrominance 8x8 est prédit suivant les 4 modes de prédiction suivants : Hier Intra Chroma DC, Hier Intra Chroma Horizontal, Hier Intra Chroma Vertical et Hier Intra Chroma Plane. Ces modes sont définis par analogie aux modes de prédiction intral6x16, à savoir Hier Intra 16x16 DC, Hier Intra 16x16 Horizontal, 20 Hier Intra 16x16 Vertical et Hier Intra 16x16Plane. Le même mode de prédiction est toujours utilisé pour les deux blocs de chrominance. Il est à noter que si un des blocs 8x8 de la luminance est codé en mode intra, alors les deux blocs de chrominance sont aussi codés en intra. 25 Ce troisième mode de réalisation a les mêmes avantages que le second mode de réalisation à savoir : - il exploite d'avantage la redondance spatiale qui existe entre les images de la couche BL et les images de la couche EL, i.e. même 2907630 32 lorsque le bloc BBL de la couche de base correspondant au macrobloc MBEL est codé en mode inter; Il permet de coder plus efficacement un macrobloc MBEL séparé de ses macrobloc voisins A, B, C et D par un contour en prédisant ledit 5 macrobloc MBEL à partir des blocs e, f, g, et/ou h; et - Il permet de coder le macrobloc MBEL de tel sorte qu'il ne soit pas nécessaire de reconstruire la totalité de la couche BL pour reconstruire la couche EL, notamment les blocs de la couche BL codés en mode inter, i.e. prédit temporellement, n'ont pas à être reconstruits. 10 Par ailleurs, seuls sont utilisés les blocs e, f, g et h localisés dans le voisinage non causal du bloc correspondant BBL ce qui limite la complexité du procédé de codage en limitant le nombre de modes ajoutés. Les blocs e, f, g et h étant dans le voisinage non causal du bloc BBL, leur utilisation vient pallier le fait que le macrobloc MBEL ne peut être prédit spatialement à partir des 15 macroblocs E, F, G, et H de la couche EL (cf. figure 2) car ceux-ci sont localisés dans son voisinage non causal. L'invention concerne également un procédé de décodage d'une partie d'un train binaire en vue de la reconstruction d'un macrobloc noté MBEL d'une 20 séquence d'images se présentant sous la forme d'une couche de base et d'au moins une couche d'amélioration. Le macrobloc MBEL auquel correspond un bloc dans la couche de base, dit bloc correspondant, appartient à la couche d'amélioration. En référence aux figures 7 et 8, le procédé comprend une étape E80 pour reconstruire les blocs de données image e, f, g et/ou h à partir 25 d'une première partie du train binaire. Lors d'une étape E81, les blocs e, f, g et/ou h reconstruits à l'étape E80 à partir desquels doit être reconstruit le macrobloc MBEL sont sur-échantillonnés, p.ex. par interpolation bilinéaire. Lors d'une étape E82, un macrobloc de prédiction MBpred est construit à partir des équations définies ci-dessus pour le procédé de codage (premier et 30 second modes de réalisation) en fonction du mode cod_mode décodé lors d'une étape E83. Selon une variante, illustrée par la figure 8, le macrobloc de prédiction MBpred est construit lors d'une étape E82' à partir des équations définies ci-dessus pour le procédé de codage (troisième mode de réalisation) 2907630 33 en fonction du mode de codage cod_mode et éventuellement des modes de prédiction bic_mode(s) décodés lors d'une étape E83'. Il n'est pas nécessaire de reconstruire et de sur-échantillonner les blocs de la couche de base qui ne servent pas à construire le macrobloc de prédiction MBpred. Le macrobloc de 5 prédiction MBpred est construit de la même manière par le procédé de codage lors de l'étape E73 ou E73' et par le procédé de décodage lors de l'étape E82 ou E82'. Lors de l'étape E83 ou E83', un macrobloc de résidus MBEL-Ye` est également reconstruit à partir d'une seconde partie du train binaire. Lors d'une étape E84 le macrobloc de prédiction MBpred est ajouté pixel à pixel au 10 macrobloc de résidus MBEL-T reconstruit. L'étape E84 génère le macrobloc MBEL reconstruit. En référence à la figure 9, l'invention concerne un dispositif de codage ENC2 d'une séquence d'image se présentant sous la forme d'une couche de 15 base BL et d'au moins une couche d'amélioration EL. Les modules du dispositif de codage ENC2 identiques à ceux du dispositif de codage ENC1 sont identifiés sur la figure 9 à l'aide des mêmes références et ne sont pas décrits davantage. Le dispositif de codage ENC2 comprend le module de codage ENC_BL1, un nouveau module de codage ENC_EL2 adapté pour 20 coder la couche d'amélioration et le module de multiplexage MUX. Le module de codage ENC_EL2 est adapté pour coder des macroblocs de la couche EL selon des modes de codage classiques (i.e. mode inter ou mode intra), i.e. en prédisant soit spatialement, soit temporellement lesdits macroblocs à partir d'autres macroblocs de la couche EL. En outre, afin de 25 réduire la redondance entre les images de la couche de base et les images de la couche d'amélioration, le module de codage ENC_EL2 est également adapté pour coder des macroblocs de la couche EL à partir de blocs de données image de la couche BL selon un mode de codage dit inter-couche ( inter-layer en anglais), i.e. en prédisant lesdits macroblocs de données 30 image de la couche EL à partir de blocs de données image de la couche BL. Sur la figure 9, seuls sont représentés les modules de ENCBL1 et ENCEL1 nécessaires pour prédire et coder un macrobloc de données image MBEL de la couche EL de type intra à partir d'un bloc de données image de la couche 2907630 34 de base, i.e. selon un mode de prédiction inter-couche, et pour coder ledit macrobloc MBEL. D'autres modules non représentés sur cette figure (p.ex. module d'estimation de mouvement, modules de prédiction spatiale, module de prédiction temporel ...) et bien connus de l'homme du métier des codeurs 5 vidéo permettent de coder des macroblocs de la couche EL selon un mode de prédiction temporelle, dit mode inter, classique (p.ex. mode bidirectionnel) ou selon un mode intra classique (p.ex. tel que ceux définis dans AVC) à partir de macroblocs voisins A, B, C et/ou D. En référence à la figure 9, le module ENC EL2 comprend notamment le module de codage 40 et le module de sur- 10 échantillonnage 20. Il comprend en outre un module de décision 15 adapté pour sélectionner le mode de codage cod_mode du macrobloc MBEL selon un critère prédéfini par exemple de type débit-distorsion et éventuellement des modes de prédiction bic mode de chacun des blocs formant ledit macrobloc parmi un ensemble de modes et notamment parmi ceux définis dans les 15 modes de réalisation décrits ci-dessus pour le procédé de codage. Enfin, il comprend un module 25 adapté pour générer à partir de blocs e, f, g, et/ou h de la couche de base sur-échantillonnés par le module 20 un macrobloc de prédiction MBpred en fonction du mode de codage et événtuellement des modes bic_mode(s) déterminés par le module 15. Le module ENC EL2 20 comprend également le module de soustraction 30 qui soustrait pixel à pixel le macrobloc de prédiction MBpred du macrobloc MBEL, ledit module générant un macrobloc de résidus MBE~tdUs qui est codé par le module de codage 40. En référence à la figure 10, l'invention concerne également un 25 dispositif de décodage DEC d'un train binaire représentant une séquence d'images, elle-même se présentant sous la forme d'une couche de base et d'au moins une couche d'amélioration. Le train binaire reçu en entrée du dispositif de décodage DEC est démultiplexé par un module de démultiplexage DEMUX afin de générer un train binaire T_BL relatif à une 30 couche de base et au moins un train binaire TEL relatif à une couche d'amélioration. Selon une variante le module de démultiplexage DEMUX est externe au dispositif de décodage DEC. En outre, le dispositif de décodage DEC comprend un premier module de décodage DEC_BL apte à reconstruire 2907630 au moins partiellement la couche de base à partir du train binaire T_BL. Avantageusement, selon l'invention il n'est pas nécessaire que les images de la couche de base soient entièrement reconstruites pour reconstruire les images de la couche de base. En effet, le premier module de décodage 5 DEC_BL doit reconstruire au moins les données image de la couche de base nécessaires à la reconstruction des images la couche d'amélioration. Le dispositif DEC comprend également un second module de décodage DEC_EL apte à reconstruire la couche d'amélioration à partir du train binaire T_EL et éventuellement de données image de la couche de base préalablement 10 reconstruites par le module premier module de décodage DEC_BL. Le second module de décodage DEC_EL comprend un module 70 pour reconstruire un macrobloc de résidus MBEL-YeC à partir d'une partie du train binaire T_EL et pour décoder un mode cod_mode associé audit macrobloc de résidus MBEL-YeC reconstruit et éventuellement des modes bic mode(s) 15 associés à chacun des blocs du macrobloc. Il comprend en outre un module 50 pour sur-échantillonner des blocs de la couche de base reconstruits par le premier module de décodage DEC_BL. Le module 50 est par exemple un filtre d'interpolation bilinéaire. Il comprend également un module 60 pour construire un macrobloc de prédiction MBpred en fonction du mode cod_mode 20 et éventuellement des modes bicmode(s) à partir des blocs de la couche de base sur-échantillonnés par le module 50. Il comprend en outre un module 80 pour additionner pixel à pixel le macrobloc de prédiction MBpred généré par le module 60 et le macrobloc de résidus MBEL-YeC reconstruit par le module 70. Le module 80 reconstruit un macrobloc de la couche d'amélioration noté 25 MBEi . L'invention concerne en outre un train de données binaire de type MPEG comprenant un champ codé (p.ex. hier_intra_bl_flag) par exemple sur 1 bit indiquant que le macrobloc MBEL de la couche EL est codé selon un 30 mode intra inter-couche à partir d'au moins un bloc de la couche de base voisin du bloc BBL correspondant. 2907630 36 Bien entendu, l'invention n'est pas limitée aux exemples de réalisation mentionnés ci-dessus. En particulier, l'invention décrite dans le cas de la norme SVC peut être appliquée à une autre norme de codage définie pour coder une séquence d'images sous forme scalable. En outre, d'autres 5 équations que celles définies ci-dessous peuvent être utilisées pour générer un macrobloc MBpred ou un bloc de prédiction pred4x4L. Les équations proposées le sont à titre d'exemple. En outre les procédés de codage et de décodage décrits avec les blocs e,f, g et h de la couche de base peuvent être utilisés avec les blocs a,b,c et d 10 entourant le bloc BBL correspondant audit macrobloc MBEL. Selon ce mode de réalisation illustré par la figure 11, un macrobloc de prédiction MBpred est construit à partir d'un ou plusieurs macroblocs a"P, buP, c"P et duP qui sont les versions sur-échantillonnées des blocs a, b, c et d respectivement. Le macrobloc MBpred peut par exemple être construit à partir des équations 15 définies dans la norme MPEG-4 AVC pour la prédiction spatiale (i.e. intra) d'un macrobloc dans lesquelles le macrobloc A est remplacé par le macrobloc a"P, le macrobloc B par le macrobloc buP, le macrobloc C par le macrobloc c"P et le macrobloc D par le macrbloc duP. De même l'invention peut être étendue à d'autre blocs voisins du bloc correspondant non nécessairement 20 adjacents. Bien entendu les modes de réalisation précédents peuvent se combiner. Le macrobloc MBpred est alors construit soit à partir des blocs A, B, C et/ou D, soit à partir des blocs b, c, d, e, f, g et/ou h, soit à partir du bloc BBL, le choix étant effectué lors d'une étape de décision du mode de codage et donc de 25 prédiction du macrobloc MBEL par exemple selon un critère débit-distorsion. Revendications 1. Procédé de codage d'un macrobloc de données image (MBEL) d'une séquence d'images se présentant sous la forme d'une couche de base et d'au moins une couche d'amélioration, ledit macrobloc de données image (MBEL) auquel correspond un bloc de données image (BBL) dans ladite couche de base, dit bloc correspondant, appartenant à ladite couche d'amélioration, ledit procédé comprenant les étapes suivantes : - générer (E72, E73, E73'), pour ledit macrobloc de données image (MBEL), un macrobloc de prédiction (MBpred) de données image à partir d'au moins un bloc de données image de ladite couche de base préalablement codé (E70) et reconstruit (E71); -générer (E74) un macrobloc de résidus (MBËi`d`s) à partir du macrobloc de prédiction (MBpred) et du macrobloc de données image MBEL de la couche d'amélioration; et - coder (E75) ledit macrobloc de résidus (MBËi`d`s ); ledit procédé de codage étant caractérisé en ce que ledit au moins un bloc de données image de ladite couche de base est un bloc voisin du bloc correspondant (BBL). 2. Procédé selon la revendication 1, dans lequel ledit au moins un bloc de données image de ladite couche de base est adjacent audit bloc correspondant (BBL). 3. Procédé selon la revendication 1, dans lequel ledit au moins un bloc de données image de ladite couche de base est localisé dans le voisinage non causal du bloc correspondant (BBL). 4. Dispositif de codage (ENC2) d'une séquence d'images se présentant sous la forme d'une couche de base et d'au moins une couche d'amélioration, ladite couche d'amélioration comprenant au moins un macrobloc de données image (MBEL) auquel correspond un bloc (BBL) dans ladite couche de base, dit bloc correspondant, ledit dispositif (ENC2) comprenant un premier module de 2907630 38 codage (ENC_BL1) pour coder des blocs de données image de ladite couche de base et un second module de codage (ENC_EL2) pour coder des macroblocs de données image de ladite couche d'amélioration, ledit second module de codage (ENC_EL2) comprenant : 5 - des premiers moyens (20, 25) pour générer, pour ledit macrobloc (MBEL) de données image de ladite couche d'amélioration, un macrobloc de prédiction (MBpred) à partir d'au moins un bloc de données image de ladite couche de base préalablement codé et reconstruit par ledit premier module de codage (ENC BL1); 10 - des seconds moyens (30) pour générer un macrobloc de résidus (MBËL`dus) à partir du macrobloc de prédiction (MBpred) et du macrobloc de données image de la couche d'amélioration (MBEL); et - des troisièmes moyens (40) pour coder ledit macrobloc de résidus (MBËL`dus); 15 caractérisé en ce que lesdits premiers moyens (20, 25) sont adaptés pour générer ledit macrobloc de prédiction (MBpred) à partir d'au moins un bloc de données image de ladite couche de base voisin du bloc correspondant (BBL). 5. Procédé de décodage d'une partie d'un train binaire représentatif d'une 20 séquence d'images se présentant sous la forme d'une couche de base et d'au moins une couche d'amélioration en vue de la reconstruction d'un macrobloc (MBEL) de données image de ladite couche d'amélioration auquel correspond un bloc de données image dans la couche de base, dit bloc correspondant, ledit procédé de décodage comprenant les étapes suivantes : 25 - générer (E81, E82, E82'), pour ledit macrobloc de données image (MBËL ), un macrobloc de prédiction (MBpred) à partir d'au moins un bloc de données image de ladite couche de base préalablement reconstruit (E80) à partir d'une première partie du train binaire représentatif du bloc de données image; - reconstruire (E83, E83') un macrobloc de résidus (MBEL-Ye`) à partir d'une 30 seconde partie du train binaire représentatif du macrobloc de résidus; et 2907630 39 -reconstruire (E84) ledit macrobloc (MBEL) de ladite couche d'amélioration à partir du macrobloc de prédiction (MBpred) et du macrobloc reconstruit de résidus (MBËf-Yec) ; ledit procédé étant caractérisé en ce que ledit au moins un bloc de données 5 image de ladite couche de base est un bloc voisin du bloc correspondant. 6. Dispositif de décodage (DEC) d'un train binaire représentatif d'une séquence d'images se présentant sous la forme d'une couche de base et d'au moins une couche d'amélioration, ledit dispositif (DEC) comprenant un 10 premier module de décodage (DEC_BL) apte à reconstruire des blocs de données image de ladite couche de base et un second module de décodage (DEC_EL) apte à reconstruire des macroblocs de données image de ladite couche d'amélioration, ledit second module de décodage (DEC_EL) comprenant : 15 - des premiers moyens (50, 60) pour générer, pour un macrobloc de données image (MBff) de ladite couche d'amélioration auquel correspond un bloc de données image dans ladite couche de base, dit bloc correspondant, un macrobloc de prédiction (MBpred) à partir d'au moins un bloc de données image de ladite couche de base préalablement reconstruit par ledit premier 20 module de décodage (DEC_BL) à partir d'une première partie du train binaire représentative du bloc de données image; - des seconds moyens (70) pour reconstruire un macrobloc de résidus (MBËf-Ye`) à partir d'une seconde partie du train binaire représentative du macrobloc de résidus; et 25 - des troisièmes moyens (80) pour reconstruire ledit macrobloc de données image (MBE7 ) à partir du macrobloc de prédiction (MBpred) et du macrobloc reconstruit de résidus (MBËi-Yec ); caractérisé en ce que lesdits premiers moyens (20, 25) sont adaptés pour générer ledit macrobloc de prédiction (MBpred) à partir d'au moins un bloc de 30 données image de ladite couche de base voisin du bloc correspondant (BBL). 2907630 40 7. Train de données codées conforme à une syntaxe de type MPEG représentatif d'une séquence d'images se présentant sous la forme d'une couche de base et d'au moins une couche d'amélioration, ledit train comprenant une donnée binaire associée à un macrobloc de données image 5 (MBEL) de ladite couche d'amélioration auquel correspond un bloc de données image (BBL) de ladite couche de base, caractérisé en ce que ladite donnée binaire indique que ledit macrobloc (MBEL) est codé à partir d'au moins un bloc de données image de ladite couche de base voisin du bloc correspondant (BBL). 10 15