Brevet FR3057131A1 — publié le 20180406

Procédé de codage d'une image numérique, procédé de décodage, dispositifs, équipement terminal et programmes d'ordinateurs associés 1. Domaine de l'invention Le domaine de l'invention est celui de la compression de signal, en particulier d'une image numérique ou d'une séquence d'images numériques, divisée en blocs de pixels. L'invention concerne plus particulièrement la signalisation d'une transformée appliquée à un bloc de pixels, dans un contexte de compétition de transformées. Le codage/décodage d'images numériques s'applique notamment à des images issues d'au moins une séquence vidéo comprenant : - des images issues d'une même caméra et se succédant temporellement (codage/décodage de type 2D), - des images issues de différentes caméras orientées selon des vues différentes (codage/décodage de type 3D), - des composantes de texture et de profondeur correspondantes (codage/décodage de type 3D), - etc. La présente invention s'applique de manière similaire au codage/décodage d'images de type 2D ou 3D. L'invention peut notamment, mais non exclusivement, s'appliquer au codage vidéo mis en oeuvre dans les codeurs vidéo actuels AVC (pour « Advanced Video Coding », en anglais) et HEVC (pour « High Efficiency Video Coding », en anglais) et leurs extensions (MVC, 3D-AVC, MV-HEVC, 3D-HEVC, etc), et au décodage correspondant. 2. Présentation de l'art antérieur On considère un schéma de compression classique d'une image numérique, selon lequel l'image est divisée en blocs de pixels. Un bloc courant à coder, qui constitue une unité de codage initiale, est généralement découpé en un nombre variable de sous-blocs selon un mode de découpage prédéterminé. En relation avec la Figure 1, on considère une séquence d'images numériques Ii, 12, IK, avec K entier non nul. Une image Ik est découpée en unités de codage initiales ou CTU (pour « Coding Tree Unit » en anglais) selon la terminologie de la norme HEVC, telle que spécifiée dans le document "ISO/IEC 23008-2:2013 - High efficiency coding and media delivery in heterogeneous 3057131 2 environments -- Part 2: High efficiency video coding », International Organization for Standardization, publié en novembre 2013 ou dans la spécification ITU-T H.265 intitulée « High Efficiency Video Coding », publiée en avril 2015. . Les codeurs standards proposent généralement un partitionnement régulier, qui s'appuie 5 sur des blocs carrés ou rectangulaires, appelés CU (pour « Coding Units », en anglais) de taille fixe. Le partitionnement se fait toujours à partir de l'unité de codage initiale, non partitionnée, et le partitionnement final est calculé puis signalé à partir de cette base neutre. Chaque CU subit une opération d'encodage ou de décodage consistant en une suite d'opérations, comprenant de manière non exhaustive une prédiction, un calcul de résidu, une 10 transformation, une quantification et un codage entropique. Cette suite d'opérations est connue de l'art antérieur et présentée en relation avec la Figure 2. On sélectionne comme bloc courant c le premier bloc CTU à traiter. Par exemple, il s'agit du premier bloc (dans l'ordre lexicographique). Ce bloc comporte NxN pixels, avec N entier non nul, par exemple égal à 64 selon la norme HEVC. 15 Au cours d'une étape El, on détermine une prédiction Pr du bloc original b. Il s'agit d'un bloc de prédiction construit par des moyens connus, typiquement par compensation de mouvement (bloc issu d'une image de référence précédemment décodée), ou par prédiction intra (bloc construit à partir des pixels décodés appartenant à l'image ID). Les informations de prédiction liées à Pr sont codées dans le train binaire TB ou fichier compressé FC. On suppose ici qu'il y a P modes de 20 prédiction possibles ml, m2,..., mp, avec P entier non nul. Par exemple, le mode de prédiction choisi pour le bloc courant c est le mode mp. Certains modes de prédiction sont associés à une prédiction de type Intra, d'autres à une prédiction de type INTER. Au cours d'une étape E2, un résidu original R est formé, par soustraction R = c-Pr de la prédiction Pr du bloc courant c au bloc courant c. 25 En E3, on identifie une transformée à appliquer au résidu R obtenu. L'étape de transformation joue un rôle crucial dans un tel schéma de codage vidéo : en effet c'est elle qui concentre l'information avant l'opération de quantification. Il en résulte qu'un ensemble de pixels résiduel avant encodage se voit représenté sur un faible nombre de coefficients fréquentiels non-nuls représentant la même information. Ainsi, au lieu de transmettre un grand nombre de 30 coefficients, seul un petit nombre sera nécessaire pour reconstituer avec fidélité un bloc de pixels. 3057131 3 En codage d'image et vidéo, on utilise généralement des transformées blocs (4x4, 8x8 etc), orthogonales ou quasi-orthogonales. Les transformées les plus employées sont à base de bases cosinus. La DCT est ainsi présente dans la plupart des standards pour l'image et la vidéo. Récemment la norme HEVC a également introduit la DST (pour « Discrete Sine Transform », en 5 anglais) pour le codage de résidus particuliers dans le cas de blocs de taille 4x4. Dans les faits, ce sont des approximations de ces transformées qui sont employées, les calculs étant effectués sur des entiers. En général, les bases de transformées sont approximées à l'entier le plus proche, sur une précision donnée (généralement de 8 bits). A titre d'exemple on présente en relation avec les Figures 2A et 2B, les transformées utilisées par 10 la norme HEVC sur les blocs de taille 4x4 : Il s'agit des transformées DCT et DST. Les valeurs présentées dans ce tableau sont à diviser par 128 pour retrouver les transformations quasiorthonormales. Plus récemment la notion de compétition de transformées a été introduite. Pour une taille de bloc et un mode de prédiction donnés, l'encodeur a le choix entre T transformées, avec T entier non nul, 15 généralement supérieur ou égal à 2. De la même manière que pour le partitionnement d'un bloc, il les applique chacune à leur tour au bloc courant, puis les évalue selon un critère débit-distorsion. La transformée choisie est celle qui obtient les meilleures performances : La norme HEVC prévoit, pour les blocs 4x4, le choix entre une transformation de type DST ou une absence de transformée « Transform Skip » (c'est-à-dire que les coefficients résiduels ne subissent 20 pas de transformée). Dans la publication de A. Arrufat et al, intitulée « Rate-distortion optimised transform competition for intra coding in HEVC », publiée dans les Proceedings de la conférence IEEE Visual Communication on Image Processing, en décembre 2014, qui s'est tenue à La Valette, Malta. pp.73, l'encodeur a le choix entre de multiples transformées. Par exemple, il est proposé 5 25 transformées pour les blocs de taille 4x4 et 17 transformées pour les blocs de taille 8x8. L'étape E3 identifie donc une transformées parmi celles disponibles en fonction de la taille du bloc courant. Au cours d'une étape E4, le résidu R est transformé en un bloc résidu transformé, appelé RT, par la transformée identifiée. Il s'agit par exemple d'une transformée de type block (communément DCT voire DST voire des transformations adaptées) ou d'une transformée en 30 ondelettes, toutes connues de l'homme de métier et notamment mises en oeuvre dans les normes JPEG/MPEG pour la DCT/DST et JPEG2000 pour la transformée en ondelettes. 3057131 4 En E5, de façon connue dans l'état de l'art, ces coefficients sont scannés dans un ordre prédéterminés de façon à constituer un vecteur monodimensionnel RQ[j], où l'indice j varie de 0 à Nb-1, avec Nb entier égal au nombre de pixels du bloc c. L'indice j est appelé fréquence du coefficient RQ[j]. Classiquement, on scanne ces coefficients par ordre globalement croissant ou 5 décroissant de valeurs de fréquence, par exemple selon un parcours en zigzag, qui est connu de la norme de codage d'image fixes JPEG. En E6, le résidu transformé RT est quantifié par des moyens classiques de quantification, par exemple scalaire ou vectorielle, en un bloc résidu quantifié RQ comprenant autant de coefficients que le bloc résidu RQ contient de pixels, par exemple Nb, avec Nb entier non nul. 10 Lors d'une étape E7, on vient coder les informations relatives aux coefficients du bloc résidu RQ par codage entropique, par exemple selon une technique de codage de Huffman ou de codage arithmétique. Ces informations comprennent au moins l'amplitude des coefficients, leur signe et une signalisation de la transformée appliquée au bloc par l'encodeur. Par amplitude, on entend ici la valeur absolue du coefficient. Classiquement, on peut coder pour chaque coefficient 15 une information représentative du fait que le coefficient est non nul. Ensuite, pour chaque coefficient non nul, une ou plusieurs informations relatives à l'amplitude sont codées. On obtient les amplitudes codées CA. On code aussi les signes des coefficients non nuls. En général, ils sont simplement codés par un bit 0 ou 1, chaque valeur correspondant à une polarité donnée. Un tel codage obtient des performances efficaces, car, du fait de la transformation, les valeurs des 20 amplitudes à coder sont en grande majorité nulles. Concernant la transformée appliquée, dans le cas de la norme HEVC, on indique au décodeur par un bit, appelé transfornn skip flag, la transformée inverse à appliquer parmi les deux alternatives DST ou absence de transformée. Dans le cas de la publication de A. Arrufat et al, on la signale au décodeur par une 25 approche indicateur plus signalisation explicite : l'encodeur signale par un indicateur (indicateur en position 0) si la transformée est une transformée de type HEVC (selon la taille, il s'agit d'une DCT ou d'une DST) ou une transformation particulière (indicateur en position 1). Si l'indicateur indique une transformation particulière, l'indice de la transformation particulière utilisée est signalé au décodeur sur un code de longueur fixe (2 pour les blocs 4x4 et 4 pour les blocs 8x8 afin de signaler 30 respectivement les 4 et 16 transformations particulières possibles). Grâce à l'augmentation du nombre de transformées, la performance de codage est améliorée, car chaque transformée est adaptée à la statistique d'un type de signal résiduel donné. 3057131 5 Des gains sur les signaux de type texte et graphique sont rapportés par la technique « transform skip » et sur des signaux de nature quelconque (images contenant des textes, graphiques synthétiques, ou représentant des scènes filmées naturelles) par la technique présentée dans la publication A. Arrufat. 5 En E8, l'encodeur évalue la transformée appliquée, sous contrôle d'un critère débit distorsion, à partir du résidu encodé. On répète les étapes précédentes El à E8 appliquées au bloc courant c pour les T transformée disponibles à l'encodeur. En E9, une fois que toutes les transformées disponibles ont été appliquées, elles sont mises 10 en compétition selon un critère débit-distorsion Les résidus transformés quantifiés associés à chaque transformée candidate sont donc décodés pour évaluer une mesure de performance et la transformée qui maximise ce critère est finalement retenue. En E10, les données codées relatives au bloc courant sont insérées dans le train binaire TB. Les autres blocs de l'image I1 sont traités de la même façon, de même pour les images 15 suivantes de la séquence. 3. Inconvénients de l'art antérieur Les inconvénients de l'art antérieur sont les suivants : - la multiplication du nombre de transformées induit une signalisation accrue pour indiquer la transformée choisie par l'encodeur au décodeur. 20 - ce coût accru en signalisation, qui est pris en compte lors de la compétition entre transformées, impacte les performances de compression. 4. Objectifs de l'invention L'invention vient améliorer la situation. 25 L'invention a notamment pour objectif de pallier ces inconvénients de l'art antérieur. Plus précisément, un objectif de l'invention est de proposer une solution qui, en réduise les besoins en ressources de calcul et le volume de données transmises, tout en préservant les performances de compression d'un codeur d'images numériques. 5. Exposé de l'invention 3057131 6 Ces objectifs, ainsi que d'autres qui apparaîtront par la suite, sont atteints à l'aide d'un procédé de codage d'une image d'une séquence d'images, ladite image étant divisée en une pluralité de blocs de pixels traités dans un ordre défini, ledit procédé comprenant les étapes suivantes, mises en oeuvre pour un bloc, dit bloc courant, de l'image courante: 5 - Prédiction des valeurs du bloc courant à partir d'au moins un bloc précédemment traité d'une image précédente ou suivante, dite de référence, - Calcul d'un bloc résidu par soustraction des valeurs prédites aux valeurs originales du bloc courant, - Transformation du bloc résidu par application d'une transformée; 10 - Codage du bloc résidu transformé; Selon l'invention, le procédé comprend en outre une étape d'obtention d'un indicateur de variabilité du bloc par rapport à la au moins une image de référence, une étape d'obtention d'une liste de transformées parmi une pluralité de listes prédéterminées au moins en fonction de l'indicateur obtenu et l'étape de transformation applique une transformée de la liste obtenue. 15 L'invention propose de choisir la transformée à appliquer au bloc courant dans un sous ensemble de transformées adapté au bloc courant. Les inventeurs ont en effet constaté qu'il existait un lien entre la variabilité du bloc courant par rapport à sa ou ses références, et donc entre la qualité de la prédiction du bloc et les transformées les mieux adaptées pour compresser l'information du résidu obtenu. 20 L'invention repose donc sur une approche tout-à-fait nouvelle et inventive du codage d'images qui consiste à regrouper les meilleures transformées candidates pour le codage du résidu d'un bloc en fonction d'une information représentative d'une variabilité du contenu du bloc à coder et à imposer au codeur de faire son choix dans ce sous-ensemble. En choisissant la transformée dans un sous-ensemble de l'ensemble initial de transformées 25 disponible au niveau du codeur, on réduit nécessairement le coût de l'information à transmettre. Avantageusement, la configuration des listes peut être figée ou bien évoluer au cours du temps. Si elle est figée, sa connaissance est partagée par le codeur et le décodeur et ne nécessite pas de signalisation. Si elle est adaptative, son évolution au cours du temps doit être signalée. Par 3057131 7 exemple, la configuration des listes peut être destinée à un groupe d'images et son évolution est signalée au niveau des informations de syntaxe relatives à ce groupe ou bien la configuration vaut pour la séquence d'images entière et son évolution est signalée au niveau des informations de syntaxe relatives à cette séquence. 5 Selon un aspect de l'invention, l'étape de transformation est répétée pour les transformées de la liste obtenue, le procédé comprend une étape de sélection d'une transformée parmi les transformées de la liste selon un critère débit distorsion et une étape de codage d'une information d'identification de la transformée sélectionnée dans la liste. Par exemple, le codeur signale un index de position de la transformée sélectionnée dans la liste, ce 10 qui présuppose que la liste est ordonnée de façon similaire au codeur et au décodeur. Dans un contexte de compétition de transformées, le fait d'avoir moins de transformées à tester réduit la complexité de l'encodeur et du décodeur. Cet avantage de l'invention s'ajoute à celui d'avoir moins d'informations à signaler car le nombre de transformées candidates est réduit. De façon correspondante, l'invention concerne aussi un procédé de décodage d'une image d'une 15 séquence d'images à partir de données codées représentatives de ladite image, ladite image étant divisée en une pluralité de blocs traités dans un ordre défini, ledit procédé comprenant les étapes suivantes, mises en oeuvre pour un bloc, dit bloc courant : - Prédiction du bloc courant à partir d'au moins un bloc précédemment traité issu d'au moins une image précédente ou suivante, dite de référence; 20 - Décodage des données codées représentatives des coefficients du bloc résidu transformé ; - Transformation inverse du bloc résidu transformé; - Reconstruction du bloc décodé à partir du bloc résidu et de la prédiction du bloc courant; Selon l'invention, le procédé comprend une étape d'obtention d'un indicateur de variabilité du bloc courant par rapport à ladite au moins une image de référence, une étape d'obtention d'une 25 liste de transformées parmi une pluralité de listes prédéterminées au moins en fonction de l'indicateur obtenu et une étape d'identification de la transformée à appliquer dans la liste obtenue. Un avantage de l'invention est que les étapes d'obtention d'un indicateur de variabilité du bloc courant et d'obtention d'une liste de transformées en fonction de cet indicateur peuvent être 3057131 8 réalisées au niveau du décodeur de façon correspondante au codeur, ce qui permet de réduire la signalisation. Selon un aspect de l'invention, le nombre de transformées de la liste obtenue est fonction de l'indicateur de variabilité du bloc. 5 Avec un indicateur de variabilité faible, le résidu du bloc contient peu d'énergie et sera facile à compresser. Un petit nombre de transformées sera suffisant. Au contraire, avec un indicateur de variabilité élevée, on peut s'attendre à un résidu de bloc comprenant beaucoup d'énergie et difficile à compresser. En conséquence, on choisira de tester un plus grand nombre de transformées. Ainsi l'invention proposer d'adapter la taille du sous-ensemble de transformées 10 disponibles pour le bloc courant à sa variabilité ce qui permet d'optimiser la signalisation de la transformée en fonction du bloc courant. Dans un contexte de compétition de transformées, les coûts de calcul sont aussi réduits. Selon un autre aspect de l'invention, l'indicateur de variabilité du bloc est fonction d'une information représentative d'une distance temporelle entre le bloc courant et la au moins une 15 image de référence. En effet, la variabilité des résidus générés par la prédiction augmente avec l'éloignement temporel. Le sous-ensemble associé à une valeur ou une plage de valeurs de distance temporelle entre image courante et image de référence peut être défini lors d'une phase préalable d'apprentissage au cours de laquelle différents regroupements de transformées sont testés. 20 Par exemple, on détermine une liste comprenant d'autant moins de transformées que la distance temporelle entre l'image courante et l'image de référence est plus faible. En effet, la variabilité des résidus entre les deux images est supposée être suffisamment faible pour qu'un petit nombre de transformées bien ciblé permette de bien compresser l'information qu'ils contiennent. Selon un autre aspect de l'invention, les images d'un groupe d'images de la séquence étant 25 réparties entre plusieurs couches temporelles, l'information représentative d'une distance temporelle est évaluée à partir d'un identifiant de couche temporelle de l'image du bloc courant dans le groupe. On connait le modèle hiérarchique de couches temporelles décrit par Wien, selon lequel on regroupe dans une même couche temporelle les images qui sont au même niveau dans la 3057131 9 hiérarchie des images servant de références. Par exemple, une première couche comprend les images I ou Intra, qui sont éloignées les unes des autres, mais ne sont pas prédites, une deuxième couche comprend les images prédites à partir des images I de la couche précédente et qui s'intercalent entre les images I, une troisième couche comprenant des images qui s'intercalent 5 temporellement entre des images de la deuxième et des images de la première couche et qui sont prédites par rapport à des images des couches précédentes, etc. On comprend que plus on monte dans les couches plus la distance temporelle entre l'image courante et sa référence diminue. L'information de numéro de couche est une information qui est connue du codeur, comme du 10 décodeur et qui est facilement accessible. Par exemple, dans H.265/HEVC, l'information de numéro de couche temporelle est transmise dans l'en-tête de chaque paquet NAL unit (pour Network Abstraction Layer), et est donc directement accessible lors du décodage (voir section 7.4.2.2 de la norme ITU-T H.265, « NAL unit header semantics »). L'évaluation de distance temporelle sur la base d'une telle information est donc simple et peu coûteuse. 15 Selon encore un autre aspect de l'invention, l'information représentative d'une distance temporelle est évaluée par différence entre une information représentative d'un instant temporel associé à l'image du bloc courant et une information représentative d'un instant temporel associé à la au moins une image du bloc de référence. Un avantage de ces informations est qu'elles sont connues du codeur et du décodeur lors du 20 traitement d'un bloc courant. Par exemple, l'information représentative d'un instant temporel est un numéro d'ordre de l'image courante dans la séquence. Un avantage de cette information est d'être facile à obtenir. La différence entre deux numéros d'images ou delta POC est même directement accessible, sans nécessiter d'opération de calcul. Par exemple dans H.265/HEVC le delta POC est un paramètre 25 essentiel lors de la construction du RPS (pour Reference Picture Set, en anglais) comme décrit dans la section 8.3.2 de la norme ITU-T H.265 intitulée HEVC, « Decoding process for reference picture set »), et il s'agit donc un paramètre directement accessible lors de l'encodage et du décodage. Si le bloc courant appartient à un groupe de blocs d'une image, de type slice, sa ou ses images de référence sont définies dans deux listes au niveau du slice segment header (voir 7.3.6.2 de la 30 norme ITU-T H.265 intitulée HEVC, "Reference picture list modification syntax"). On peut imaginer 3057131 10 une image découpée en plusieurs slices ayant chacune des listes distinctes. Il se peut donc que deux slices d'une même image n'utilisent pas les mêmes images de références pour leurs blocs, et donc que l'information de distance temporelle ne prenne pas la même valeur. Selon un autre aspect de l'invention, l'étape de prédiction comprend l'obtention d'un vecteur 5 mouvement entre le bloc courant et un bloc de l'image de référence et l'indicateur de variabilité du bloc est obtenu à partir d'au moins une caractéristique du vecteur mouvement obtenu. L'amplitude ou la précision de quantification du vecteur mouvement sont des informations à partir desquelles on peut évaluer la variabilité du contenu à coder par rapport à sa référence. L'amplitude du vecteur mouvement indique si le contenu à coder dans le bloc courant s'est 10 beaucoup déplacé par rapport à l'image de référence. De même, le niveau de précision de quantification est choisi par le codeur lors de l'interpolation de l'image de référence (par exemple 1/4, 1/8 ou encore 1/16 pixels). Selon un autre aspect de l'invention, la liste comprenant plusieurs transformées, le procédé de décodage comprend en outre une étape de décodage d'une information d'identification de la 15 transformée dans la liste. Par exemple, lorsque la liste comprend une séquence ordonnée de transformées, l'information d'identification est un index de position de la transformée dans la séquence. Les différents modes ou caractéristiques de réalisation mentionnés ci-après peuvent être 20 ajoutés indépendamment ou en combinaison les uns avec les autres, aux caractéristiques du procédé de décodage et/ou du procédé de codage définis ci-dessus. L'invention concerne également un dispositif de codage adapté pour mettre en oeuvre le procédé de codage selon l'un quelconque des modes particuliers de réalisation définis ci-dessus. Ce 25 dispositif de codage pourra bien sûr comporter les différentes caractéristiques relatives au procédé de codage selon l'invention. Ainsi, les caractéristiques et avantages de ce dispositif de codage sont les mêmes que ceux du procédé de décodage, et ne sont pas détaillés plus amplement. L'invention concerne également un dispositif de décodage adapté pour mettre en oeuvre le 3057131 11 procédé de décodage selon l'un quelconque des modes particuliers de réalisation définis ci-dessus. Ce dispositif de décodage pourra bien sûr comporter les différentes caractéristiques relatives au procédé de décodage selon l'invention. Ainsi, les caractéristiques et avantages de ce dispositif de décodage sont les mêmes que ceux du procédé de décodage, et ne sont pas détaillés plus 5 amplement. Corrélativement, l'invention concerne un signal portant un train binaire comprenant des données codées représentatives d'une image d'une séquence d'images, ladite image étant divisée en blocs de pixels traités dans un ordre défini, les valeurs d'un bloc courant étant prédites à partir des valeurs d'au moins un bloc précédemment traité d'au moins une image de référence, les 10 valeurs d'un bloc résidu étant calculées par soustraction des valeurs prédites aux valeurs originales du bloc courant, un bloc résidu transformé étant obtenu par application d'une transformée à des pixels du bloc résidu; Selon l'invention, ledit signal comprend une information codée représentative d'un index position de la transformée à appliquer au bloc résidu courant dans une liste comprenant une 15 séquence ordonnée de transformées, la liste étant destinée à être obtenue au moins en fonction d'un indicateur de variabilité du bloc courant par rapport à ladite au moins une image de référence. Corrélativement, l'invention concerne aussi un équipement terminal comprenant un module d'émission et un module de réception de données vers et en provenance d'un réseau de télécommunications, un dispositif de codage et un dispositif de décodage selon l'invention. 20 L'invention concerne encore un programme d'ordinateur comportant des instructions pour la mise en oeuvre des étapes d'un procédé de codage d'une image numérique tel que décrit précédemment, lorsque ce programme est exécuté par un processeur. L'invention concerne aussi un programme d'ordinateur comportant des instructions pour la mise en oeuvre des étapes d'un procédé de décodage d'une image numérique tel que décrit 25 précédemment, lorsque ce programme est exécuté par un processeur. Ces programmes peuvent utiliser n'importe quel langage de programmation. Ils peuvent être téléchargés depuis un réseau de communication et/ou enregistrés sur un support lisible par ordinateur. L'invention se rapporte enfin à des supports d'enregistrement, lisibles par un processeur, 30 intégrés ou non au dispositif de codage d'une image numérique et au dispositif de décodage d'une 3057131 12 image numérique selon l'invention, éventuellement amovible, mémorisant respectivement un programme d'ordinateur mettant en oeuvre un procédé de codage et un programme d'ordinateur mettant en oeuvre un procédé de décodage, tels que décrits précédemment. 5 6. Liste des figures D'autres avantages et caractéristiques de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation particulier de l'invention, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels : - la figure 1 (déjà décrite) présente de façon schématique une séquence d'images 10 numériques découpées en blocs de pixels ; - les figures 2A et 2B (déjà décrites) présentent les transformées DCT et DST mises en oeuvre par l'encodeur de la norme HEVC ; - la figure 3 présente de façon schématique les étapes d'un procédé de codage d'une image numérique selon l'invention ; 15 la figure 4 présente de façon schématique les étapes d'un procédé de décodage d'une image numérique selon l'invention ; - la figure 5 présente de façon schématique un modèle de structure temporelle hiérarchique d'un groupe d'images mis en oeuvre par un mode de réalisation de l'invention ; - la figure 6 présente de façon schématique une compensation de mouvement mise en 20 oeuvre lors de la prédiction en mode inter d'un bloc courant par rapport à une ou plusieurs images de référence passées ou futures selon l'art antérieur ; - la figure 7 présente un premier exemple de table de transformées associant un numéro de couche temporelle à une liste selon un mode de réalisation de l'invention ; - les figure 8A et 8B présente un deuxième exemple basé sur deux tables associant pour la 25 première table un numéro de couche temporelle à un nombre de transformées, à identifier dans une liste de transformées indiquées dans la deuxième table, selon un deuxième mode de réalisation de l'invention ; - la figure 9 présente des exemples de configurations de listes de transformées en fonction d'un numéro de couche temporelle ; 3057131 13 - la figure 10 présente les performances réalisées par un codeur mettant en oeuvre le procédé de codage selon l'invention, lorsque l'indicateur de variabilité utilisé est un numéro de couche temporelle ; - la figure 11 présente de façon schématique la structure matérielle d'un dispositif de codage 5 d'une image numérique selon l'invention ; et - la figure 12 présente de façon schématique la structure matérielle d'un dispositif de décodage d'une image numérique selon l'invention. 7. Description d'un mode de réalisation particulier de l'invention 10 Le principe général de l'invention repose sur une association préalable de sous-ensembles de transformées à des valeurs ou à des plages de valeurs d'un indicateur de variabilité du bloc courant par rapport à au moins une image de référence. Cet indicateur est estimé de façon similaire au codeur et au décodeur. Le codeur obtient une valeur d'indicateur pour le bloc courant, choisit la transformée à appliquer au bloc courant dans le sous ensemble de transformées associé à 15 cette valeur de l'indicateur. Si besoin, il signale ensuite au décodeur quelle transformée il a utilisé dans ce sous-ensemble. De façon correspondante, le décodeur obtient une valeur d'indicateur de variabilité pour le bloc courant et accède au sous-ensemble de transformée qui lui est associé. A l'aide de la signalisation éventuelle, il identifie la transformée appliquée au bloc courant et applique la transformée inverse. 20 Dans la suite de la description, on considère une vidéo originale constituée d'une suite de K images avec K entier non nul, telle que celle déjà présentée en relation avec la Figure 1. Les images sont encodées par un encodeur, les données codées sont insérées un train binaire TB transmis à un décodeur via un réseau de communication, ou un fichier compressé FC, destiné à être stocké sur un disque dur par exemple. Le décodeur extrait les données codées, puis reçues et 25 décodées par un décodeur dans un ordre prédéfini connu de l'encodeur et du décodeur, par exemple dans l'ordre temporel Ii, puis 12, puis IK, cet ordre pouvant différer suivant le mode de réalisation. Dans la suite de la description, on se place dans un contexte de compétition de transformées, selon lequel le codeur teste les transformées d'un sous-ensemble de transformées et 30 choisit pour le bloc courant celle qui réalise les meilleures performances de compression selon un critère débit-distorsion. 3057131 14 7.1 Procédé de codage d'une image d'une séquence En relation avec la Figure 3, on considère maintenant les étapes d'un procédé de codage selon un mode de réalisation de l'invention. Dans la suite de la description, on se place en particulier dans un contexte de compétition de transformées. 5 Une image II( est découpée en blocs CTU (pour « Coding Tree Unit », en anglais) de taille, par exemple égale à 64x64 pixels. Au cours d'une étape EO, on sélectionne un bloc à traiter, dit bloc courant c. Par exemple, il s'agit d'un bloc CU (pour « Coding Unit », en anglais), carré ou rectangulaire, de dimensions MxN, avec M et N entiers non nuls, obtenu par partitionnement d'un bloc CTU. 10 Au cours d'une étape El, il est procédé à une étape de prédiction du bloc c. Cette opération, conforme à l'art antérieur, est réalisée à partir de pixels issus de l'image en cours de codage (codage intra) ou reposant sur une image déjà traitée par l'opération d'encodage (codage inter). On obtient un bloc prédit Pr. Dans la suite de la description, on suppose que le bloc courant est prédit selon un mode de 15 prédiction inter, c'est-à-dire par rapport à un ou plusieurs images précédemment traitées, dites images de référence. Au cours d'une étape E2, le bloc de pixels courant est soustrait, pixel à pixel, au bloc prédit au cours de l'opération précédente. On obtient un bloc de pixels résiduels R. Selon l'invention, on obtient en E3 un indicateur de variabilité IV d'une prédiction du bloc 20 courant par rapport au(x) images de référence. Plusieurs modes de réalisation de cette étape seront détaillés ci-après. Au cours d'une étape E4, on identifie les transformées possibles pour le mode de prédiction considéré et la taille du bloc courant. On désigne par transformées possibles une pluralité T de transformées disponibles en mémoire de l'encodeur de façon préétablie, avec T entier non nul, par 25 exemple T est égal à 32. Par exemple, cette pluralité est stockée sous forme d'une liste L ordonnée ou non, de transformées. On notera que cette liste peut être prédéterminée ou adaptative. Selon l'invention, une pluralité de listes Ll à L3, avec J entier non nul, a été formée à partir des transformées disponibles et on associe à la valeur d'indicateur de variabilité IV obtenue une de ces listes. Par exemple, une table stockée en mémoire comprend des enregistrements EGj, avec j 3057131 15 entier inférieur à T qui font chacun correspondre à une valeur ou une plage de valeurs particulières de cet indicateur de variabilité, une liste Lj issue de la liste L. Avantageusement, un enregistrement EGj de la table associe à chaque valeur ou plage de valeurs de l'indicateur, un pointeur vers cette liste Lj. Des exemples de tables seront présentés ci-après en relation avec les figures 7 et 8. 5 Dans certains cas, la configuration des listes associées aux différentes valeurs d'indicateurs de variabilité peut varier au cours du temps, pour s'adapter au changement de contenu de la séquence. Par exemple, la table comprend un premier enregistrement comprenant une première liste associée à une valeur ou une plage de valeurs prédéterminées de l'indicateur de variabilité. On suppose que le codeur décide, suite à un changement de scène, de remplacer le premier 10 enregistrement par un deuxième enregistrement comprenant une deuxième liste, associée à la même plage de valeurs. Cette mise à jour doit être signalée dans le train binaire afin que le décodeur mette à jour sa propre table. Au cours d'une étape E5, on identifie une transformée Tri particulière dans la liste Lj obtenue. 15 Au cours d'une étape E6, pour la transformée Tri identifiée, avec i entier non nul compris entre 0 et T-1, il est procédé à la transformation du signal résiduel R. Un signal résiduel transformé RT; est obtenu. En E7, de façon connue dans l'état de l'art, les coefficients du bloc résiduel transformé sont scannés dans un ordre prédéterminé de façon à constituer un vecteur monodimensionnel RTi[m], 20 où l'indice m varie de 0 à Nb-1, avec Nb nombre de pixels dans le bloc courant c. L'indice m est appelé fréquence du coefficient R[m]. Classiquement, on scanne ces coefficients par ordre globalement croissant ou décroissant de valeurs de fréquence, par exemple selon un parcours en zigzag, qui est connu de la norme de codage d'image fixes JPEG. Ce mode de parcours (pour « scanning » en anglais) peut aussi dépendre de la transformée appliquée. Comme le mode de 25 parcours influence nécessairement l'ordre final des coefficients transformés dans le vecteur RTi[m], on considère dans la suite qu'une transformée identifiée Tri dans la liste Lj est associée à un mode de parcours particulier. Autrement dit, la même transformée associée à un autre mode de parcours se verra affecter un autre identifiant de transformée dans la liste Lj et sera de ce fait considérée comme une transformée distincte. 30 Les composantes du vecteur RTi sont ensuite quantifiées suivant une méthode de quantification donnée, scalaire ou vectorielle connue de l'homme de l'art, avec un paramètre de 3057131 16 quantification QP réglant la précision de l'approximation réalisée dans cette étape. On obtient un vecteur quantifié RTQi. En E8, les informations relatives au bloc courant, comprenant notamment les données quantifiées et des éléments de description du bloc tels que le mode de prédiction, sont encodées 5 par une technique de codage entropique connue, telle que par exemple un codage de Huffman, codage arithmétique ou encore codage CABAC tel qu'utilisé dans la norme HEVC. Au cours de cette étape, on examine s'il est nécessaire de signaler une information d'identification de la transformée Tri appliquée au bloc courant. On distingue deux cas : Lorsque la liste Lj ne comprend qu'un seul identifiant de transformée, il n'est pas nécessaire 10 de signaler quoi que ce soit. En effet, comme nous le verrons ci-après, le décodeur selon l'invention est agencé pour obtenir la liste Lj de façon correspondante à celle de l'encodeur. Un avantage de ce mode de réalisation est qu'il est simple à mettre en oeuvre et qu'il ne nécessite pas de signalisation, dans la mesure où la configuration de la liste est figée. Lorsque la liste Lj comprend plus d'un identifiant de transformée, le codeur signale au 15 décodeur un index de position POS de la transformée Tri appliquée au bloc courant dans la liste Lj. Pour ce faire, la liste est avantageusement ordonnée de telle sorte que le codeur et le décodeur partagent la connaissance des positions des transformées dans la liste. Par exemple un identifiant de la transformée Tri dans une liste de quatre éléments est codé sur 4 bits (transformées TrO, tr1, Tr2 et Tr3 respectivement pour un code 00, 01, 10, 11) alors 20 qu'une liste de 8 éléments coûterait 3 bits (000, 001, 010, 011, 100, 101, 110 et 111 respectivement pour les transformées TrO, Tr1, Tr2, Tr3, Tr4, Tr5, Tr6, Tr7 et Tr8), dans le cas d'un code à longueur fixe. Un avantage de l'invention est que peu de bits sont nécessaires pour signaler la transformées Tri 25 dans le train binaire, contrairement à l'état de l'art qui transmet explicitement son identifiant complet. En E9, les performances de codage du bloc courant, pour cette transformée Tri sont évaluées, de façon connue de l'homme du métier, à partir d'une fonction de coût. La transformée choisie est celle qui maximise les performances de compression, selon un critère débit distorsion. 3057131 17 Par exemple à travers une mesure de coût Lagrangien J = D + À x R, où D est la distorsion mesurée sur le bloc reconstruit, R le débit généré lors du codage et À le multiplicateur de Lagrange. En E10, on vérifie si toutes les transformées de la liste Lj ont été appliquées. Si ce n'est pas le cas, on retourne à l'étape E5 au cours de laquelle une autre transformée 5 de la liste Lj est identifiée. Les étapes E6 à E10 sont répétées pour la nouvelle transformée. Si c'est le cas, on décide au cours de l'étape E11 de la meilleure transformée, à partir des valeurs de fonction de coût obtenues par chacune des transformées de la liste Lj et selon un critère d'optimisation débit-distorsion. On notera que dans le cas d'un bloc CTU, la compétition de transformées est imbriquée 10 avec la sélection du meilleur découpage en sous-blocs CU, c'est-à-dire qu'au cours de l'étape E11 on choisit la meilleure transformée pour chacun des sous-blocs CU du bloc courant CTU. Les données codées correspondant à la transformée choisie sont insérées dans le train binaire ou fichier compressé en E12. En E13, on teste s'il reste des blocs à traiter dans l'image courante. Si oui, le procédé 15 continue avec l'étape EO de sélection d'un bloc C à traiter. Sinon, le traitement est terminé pour cette image et on passe à l'image suivante selon l'ordre d'encodage. Le fichier compressé ou train binaire produit par le procédé de codage qui vient d'être décrit est transmis à un décodeur par exemple via un réseau de télécommunications. 7.2 Procédé de décodage d'image d'une séquence d'images 20 On suppose que le train binaire TB a été reçu par un dispositif de décodage mettant en oeuvre un procédé de décodage selon l'invention. Ce procédé de décodage va maintenant être décrit en relation avec la Figure 4. En DO, on commence par sélectionner comme bloc courant C' le premier bloc à traiter. Par exemple, il s'agit du premier bloc (dans l'ordre lexicographique). Ce bloc comporte MxN pixels, 25 avec M et N entiers non nuls. Comme décrit pour le procédé d'encodage, le bloc C' considéré peut être un bloc CTU ou un sous-bloc CU obtenu par découpage du bloc CTU ou encore un bloc ou sous-bloc résidu obtenu par soustraction d'une prédiction du bloc courant au bloc courant. 3057131 18 Au cours d'une étape Dl, les données codées relatives au bloc courant C' sont lues et décodées. Les données codées, comprennent des paramètres de codage, tels que par exemple le mode de prédiction utilisé et les valeurs relatives aux amplitudes et aux signes des coefficients résidus quantifiés du bloc courant. 5 Lorsque le mode de prédiction déterminé indique qu'une prédiction a été faite par l'encodeur, le bloc courant est prédit en D2, selon le mode de prédiction déterminé à partir d'un bloc déjà traité. Un bloc prédit Pr' est obtenu. Au cours d'une étape D3, on décode les données lues représentatives des valeurs quantifiées, résiduelles du bloc courant (valeurs et signes des coefficients), sous la forme d'un 10 vecteur de valeurs RQ'. On comprend qu'il s'agit de l'opération inverse de celle de codage entropique précédemment décrite en relation avec le procédé d'encodage. Au cours d'une étape D4, on déquantifie les coefficients du vecteurs RQ' à l'aide d'un pas de quantification prédéterminé ou lu dans le fichier compressé. En D5, on reconstruit un bloc résidu transformé RT' à partir du vecteur déquantifié. 15 En D6, selon l'invention, on obtient un indicateur de variabilité IV du bloc courant par rapport à sa ou ses références, de façon correspondante à celle du codeur. Plusieurs modes de réalisation vont être détaillés ci-après. On verra que, selon les mises en oeuvre considérées, l'obtention peut être réalisée une fois pour tous les blocs d'une même image ou d'un même groupe d'image, ou bien doit être répétée pour chaque bloc courant. 20 En D7, on récupère une liste de transformées Lj associée à la valeur de l'indicateur obtenue. Par exemple, lorsque les configurations des listes sont prédéterminées, elles sont connues du décodeur et associées respectivement à une valeur ou une plage de valeurs de l'indicateur. Si les configurations ne sont pas prédéterminées, elles sont signalées dans le train binaire préalablement au décodage de l'image de façon à être connues du décodeur. 25 En D8, on identifie la transformée Tri appliquée au bloc résidu par le codeur. Deux cas sont envisagés : - la liste Lj ne contient qu'une seule transformée. Le décodeur y accède directement sans besoin d'information supplémentaire ; - la liste Lj contient plus qu'une transformée. Le décodeur lit dans le train binaire ou le fichier 30 compressé une information de signalisation de la transformée Tri dans la liste. Il s'agit par exemple d'un index de position POS de la transformée dans la liste. L'hypothèse sous- 3057131 19 jacente est que le codeur et le décodeur partagent une même connaissance d'un ordre des transformées dans la liste. . De façon correspondante au codage, on note que le décodeur peut être amené à identifier une transformée Tri par sous-bloc CU du bloc CTU courant. 5 En D9, la transformée inverse de Tri est appliqué au bloc résidu R'. Un bloc résidu de pixels r' est obtenu. En D10, le bloc c' est reconstruit à partir de sa prédiction Pr' et du bloc résidu r'. Il est stocké dans une mémoire M1, de façon à pouvoir servir de prédiction pour un bloc suivant. Au cours d'une étape D12, on vient tester si le bloc courant est le dernier bloc à traiter le 10 décodeur, compte tenu de l'ordre de parcours défini précédemment. Si oui, le procédé de décodage a terminé le traitement de l'image courante et passe à l'image suivante. Si non, l'étape suivante est l'étape de sélection du bloc suivant DO et les étapes de décodage D1 à D12 précédemment décrites sont répétées pour le bloc suivant sélectionné. 15 7.3 Obtention d'un indicateur de variabilité d'un bloc courant On décrit maintenant plusieurs modes de réalisation de l'étape E3 d'obtention d'un indicateur de variabilité d'un bloc courant C et de l'étape E4 d'obtention d'une liste en fonction de cet indicateur. De façon correspondante ces modes de réalisation s'appliquent aux étapes D6 et D7 du procédé de décodage selon l'invention. 20 7.3.1 Obtention d'une information représentative d'une distance temporelle entre le bloc courant et au moins un bloc de référence Selon un premier mode de réalisation de l'invention, l'indicateur de variabilité est obtenu à partir d'une information représentative d'une distance temporelle entre le bloc courant et sa ou ses images de référence. 25 En relation avec la Figure 4, on considère un modèle de représentation hiérarchique en couches temporelles, dit modèle de Wien, d'un groupe d'images ou GoP (pour « Group of Pictures », en anglais) de la séquence, typiquement mise en oeuvre par les normes successives de compression vidéo, telles que par exemple H265 ou HEVC. Dans l'exemple représenté, le GoP comprend 9 images. Dans la séquence d'entrée, les 30 images du GoP sont ordonnées de IO à 18 avec des instants temporels associés tel que 3057131 20 t0 REVENDICATIONS1. Procédé de codage d'une image d'une séquence d'images numériques, ladite image étant divisée en une pluralité de blocs de pixels traités dans un ordre défini, ledit procédé comprenant les étapes suivantes, mises en oeuvre pour un bloc, dit bloc courant, de l'image courante, de dimensions prédéterminées : - Prédiction (El) des valeurs du bloc courant à partir d'au moins un bloc précédemment traité issu d'au moins une image précédente ou suivante, dite de référence, - Calcul (E2) d'un bloc résidu (R) par soustraction des valeurs prédites aux valeurs originales du bloc courant, - Transformation (E6) du bloc résidu par application d'une transformée; - Codage (E7) du bloc résidu transformé; caractérisé en ce que le procédé comprend en outre une étape (E3) d'obtention d'un indicateur de variabilité du bloc par rapport à la au moins une image de référence, une étape d'obtention (E4) d'une liste de transformées parmi une pluralité de listes au moins en fonction de l'indicateur obtenu et en ce que l'étape de transformation applique une transformée de la liste obtenue. 2. Procédé de décodage d'une image d'une séquence d'images à partir de données codées représentatives de ladite image, ladite image (Ik) étant divisée en une pluralité de blocs traités dans un ordre défini, ledit procédé comprenant les étapes suivantes, mises en oeuvre pour un bloc (C'), dit bloc courant : - Prédiction (D2) du bloc courant à partir d'au moins un bloc précédemment traité d'au moins une image précédente ou suivante, dite image de référence; - Décodage (D3) des données codées représentatives des coefficients du bloc résidu transformé ; - Transformation inverse (D9) du bloc résidu transformé; - Reconstruction (D10) du bloc décodé à partir du bloc résidu et de la prédiction du bloc courant; ledit procédé étant caractérisé en ce qu'il comprend une étape (D6) d'obtention d'un indicateur de variabilité du bloc courant par rapport à ladite au moins une image de référence, une étape d'obtention (D7) d'une liste de transformées parmi une pluralité de listes prédéterminées au 3057131 34 moins en fonction de l'indicateur obtenu et une étape d'identification (D8) de la transformée à appliquer dans la liste obtenue. 3. Procédé selon l'une des revendications 1 ou 2, caractérisé en ce que le nombre de transformées de la liste obtenue est fonction de l'indicateur de variabilité du bloc. 5 4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce que l'obtention de l'indicateur de variabilité du bloc comprend l'obtention d'une information représentative d'une distance temporelle entre le bloc courant et ladite au moins une image de référence. 5. Procédé selon la revendication 4, caractérisé en ce que, les images d'un groupe d'images de la séquence étant réparties entre plusieurs couches temporelles, l'information représentative 10 d'une distance temporelle obtenue à partir un identifiant de couche temporelle de l'image du bloc courant dans le groupe d'images. 6. Procédé selon la revendication 4, caractérisé en ce que l'information représentative d'une distance temporelle est obtenue par différence entre une information représentative d'un instant temporel associé à l'image du bloc courant et une information représentative d'un 15 instant temporel associé à ladite au moins une image de référence. 7. Procédé selon l'une des revendications 1 à 3, caractérisé en ce que, l'étape de prédiction comprenant une sous-étape d'obtention d'un vecteur mouvement entre le bloc courant et l'image de référence, l'indicateur de variabilité du bloc est obtenu à partir d'au moins une caractéristique du vecteur mouvement. 20 8. Procédé de codage d'une image selon l'une des revendications 1 et 3 à 7, caractérisé en ce que, lorsque la liste obtenue comprend une séquence ordonnée de plusieurs transformées, l'étape de transformation est répétée pour les transformées de la liste, le procédé comprend une étape de sélection d'une transformée parmi les transformées de la liste appliquées au bloc courant selon un critère débit distorsion et une étape de codage d'une information 25 représentative d'un index de position de la transformée sélectionnée dans la liste obtenue. 9. Procédé de décodage d'une image numérique selon l'une des revendications 2 à 7, caractérisé en ce que, lorsque la liste comprend plusieurs transformées, l'étape d'identification de la transformée comprend en outre une étape de décodage d'une information d'identification de la transformée dans la liste. 3057131 10. Dispositif (100) de codage d'une image numérique, ladite image (Ik) étant divisée en une pluralité de blocs de pixels traités dans un ordre défini, ledit dispositif comprenant une machine de calcul dédiée à et configurée pour : - Prédire (PRED) des valeurs du bloc courant à partir d'au moins un bloc précédemment 5 traité d'une image précédente ou suivante, dite image de référence, - Calculer (CALC) un bloc résidu (R) par soustraction des valeurs prédites aux valeurs originales du bloc courant, - Transformer (TRANSF) le bloc résidu par application d'une transformée; - Coder (COD) le bloc résidu transformé ; 10 caractérisé en ce que la machine de calcul est en outre configurée pour obtenir (OBT IV) un indicateur de variabilité du bloc courant par rapport à ladite au moins une image de référence, obtenir (OBT L) une liste de transformées parmi une pluralité de listes prédéterminées au moins en fonction de l'indicateur obtenu et pour appliquer au bloc résidu une transformée identifiée dans la liste obtenue. 15 11. Dispositif (200) de décodage d'une image d'une séquence d'images à partir de données codées représentatives de ladite image, ladite image étant divisée en une pluralité de blocs traités dans un ordre défini, ledit dispositif comprenant une machine de calcul dédiée à et configurée pour : - Prédire (PRED) un bloc courant à partir d'au moins un bloc précédemment traité d'une 20 image précédente ou suivante, dite image de référence; - Décoder (DEC) des valeurs codées des coefficients du bloc résidu transformé extraites du train binaire ; - Réaliser une transformation inverse (TRANS-1) du bloc résidu transformé; - Reconstruire (RECONST) le bloc décodé à partir du bloc résidu et de la prédiction du bloc 25 courant; ledit dispositif étant caractérisé en ce que la machine de calcul est en outre configurée pour obtenir (OBT IV) un indicateur de variabilité de prédiction du bloc courant par rapport à au moins une image de référence, obtenir (OBT L) une liste de transformées parmi une pluralité de listes prédéterminées au moins en fonction de l'indicateur obtenu et identifier (ID TR) la 30 transformée dans la liste obtenue. 3057131 36 12. Signal portant un train binaire (TB) comprenant des données codées représentatives d'une image d'une séquence d'images, ladite image étant divisée en blocs de pixels traités dans un ordre défini, les valeurs d'un bloc courant étant prédites à partir des valeurs d'au moins un bloc précédemment traité d'au moins une image précédente ou suivante, dite de référence, les valeurs 5 d'un bloc résidu étant calculées par soustraction des valeurs prédites aux valeurs originales du bloc courant, un bloc résidu transformé étant obtenu par application d'une transformée à des pixels du bloc résidu; caractérisé en ce que ledit signal comprend une information codée représentative d'un index position de la transformée à appliquer au bloc résidu courant dans une liste comprenant une 10 séquence ordonnée de transformées, la liste étant destinée à être obtenue au moins en fonction d'un indicateur de variabilité du bloc courant par rapport à ladite au moins une image de référence. 13. Equipement terminal (TU) caractérisé en ce qu'il comprend un module d'émission (E/R) et un module (E/R) de réception de données vers et en provenance d'un réseau de télécommunications, un dispositif (100) de codage d'une image numérique selon la revendication 10 et un dispositif 15 de décodage (200) selon la revendication 11. 14. Programme d'ordinateur (Pg1) comprenant des instructions pour la mise en oeuvre du procédé de codage d'une image numérique selon l'une des revendications 1 et 3 à 8, lorsqu'il est exécuté par un processeur. 15. Programme d'ordinateur comprenant des instructions pour la mise en oeuvre du procédé de 20 décodage d'une image numérique selon l'une des revendications 2 à 7 et 9, lorsqu'il est exécuté par un processeur.