Brevet FR3053555A1 — publié le 20180105

Procédé de codage d'une image numérique, procédé de décodage, dispositifs, terminal et programmes d'ordinateurs associés 1. Domaine de l'invention Le domaine de l'invention est celui du codage et du décodage d'images ou de séquences d'images, et notamment de flux vidéo. Plus précisément, l'invention concerne la compression d'images ou de séquences d'images utilisant une représentation par blocs des images. L'invention peut notamment s'appliquer au codage image ou vidéo mis en oeuvre dans les codeurs actuels (JPEG, MPEG, H.264, HEVC, etc et leurs amendements) ou à venir, et au décodage corresponda nt. 2. Présentation de l'art antérieur Les images et séquences d'images numériques occupent beaucoup d'espace en termes de mémoire, ce qui nécessite, lorsque l'on transmet ces images, de les compresser afin d'éviter les problèmes d'encombrement sur le réseau utilisé pour cette transmission. En effet, le débit utilisable sur ce réseau est généralement limité. On connaît déjà de nombreuses techniques de compression de données vidéo. Parmi celles- ci, le standard de compression HEVC ("High Efficiency Video Coding, Coding Tools and Specification", Matthias Wien, Signais and Communication Technology, 2015) propose de mettre en oeuvre une prédiction de pixels d'une image courante par rapport à d'autres pixels appartenant à la même image (prédiction intra) ou à une image précédente ou suivante (prédiction inter). Plus précisément, la prédiction intra exploite les redondances spatiales au sein d'une image. Pour ce faire, les images sont découpées en blocs de pixels. Les blocs de pixels sont alors prédits à l'aide d'informations déjà reconstruites, correspondant aux blocs précédemment codés/décodés dans l'image courante selon l'ordre de parcours des blocs dans l'image. Par ailleurs, de manière classique, le codage d'un bloc courant est réalisé à l'aide d'une prédiction du bloc courant, dit bloc prédit, et d'un résidu de prédiction ou « bloc résiduel », correspondant à une différence entre le bloc courant et le bloc prédit. Le bloc résiduel obtenu est alors transformé, par exemple en utilisant une transformée de type DCT (transformée en cosinus discrète). Les coefficients du bloc résiduel transformé sont ensuite quantifiés, puis codés par un codage entropique et transmis au décodeur, qui peut reconstruire le bloc courant en ajoutant ce 3053555 2 bloc résiduel au bloc prédit. Le décodage est fait image par image, et pour chaque image, bloc par bloc. Pour chaque bloc, les éléments correspondants du flux sont lus. La quantification inverse et la transformation inverse des coefficients du bloc résiduel sont effectuées. Puis, la prédiction du bloc est calculée 5 pour obtenir le bloc prédit et le bloc courant est reconstruit en ajoutant la prédiction (le bloc prédit) au bloc résiduel décodé. Dans le standard HEVC, il est possible d'effectuer une prédiction intra d'un bloc courant selon 35 modes de prédiction intra. Pour coder le mode de prédiction intra sélectionné pour prédire un bloc courant, le standard HEVC définit deux listes de modes de prédiction: 10 - une première liste dite liste MPM (pour « Most Probable Mode », en anglais) comprenant les 3 modes de prédiction intra les plus probables pour le bloc courant, une telle liste MPM est définie à partir des modes de prédiction préalablement sélectionnés lors du codage des blocs voisins du bloc courant, - une deuxième liste dite liste non-MPM comprenant les 32 autres modes de prédiction intra 15 restants, i.e. les modes de prédiction intra non compris dans la liste MPM. Un index est transmis au décodeur pour indiquer quelle liste MPM ou non-MPM est utilisée pour prédire le bloc courant. Lorsque le bloc courant est codé par un mode de prédiction intra de la liste MPM, l'index du mode de prédiction sélectionné dans la liste MPM est transmis au décodeur par un codage entropique. Lorsque le bloc courant est codé par un mode de prédiction intra de la 20 liste non-MPM, l'index du mode de prédiction intra sélectionné dans la liste non-MPM est codé par un code de longueur fixe sur 5 bits. La liste non-MPM comprend un grand nombre de modes de prédiction intra, le coût de codage d'un index d'un mode de prédiction de cette liste est donc élevé. Le document "Nove) Adaptive Algorithm for Intra Prediction with Compromised Modes 25 Skipping and Signaling Processes in HEVC", L-L. Wang, W-C Siu, IEEE, 2013, décrit une méthode de codage permettant de réduire le nombre de modes de prédiction intra utilisé pour prédire un bloc courant afin d'une part de réduire le coût de signalisation d'un mode de prédiction intra et d'autre part de réduire la complexité de sélection d'un mode de prédiction. Une telle méthode crée trois catégories à partir des 35 modes de prédiction intra disponibles, une première comprenant un 30 mode, une deuxième comprenant 19 modes et une troisième comprenant les 35 modes. Elle choisit 3053555 3 pour chaque bloc courant la catégorie adaptée en fonction de la valeur de la variance des pixels de référence du bloc courant. Les pixels de référence du bloc courant correspondent aux pixels de la ligne située au-dessus du bloc courant et de la colonne située à droite du bloc courant. Un bloc courant est ensuite prédit par un des modes de prédiction de la liste. Dans la catégorie 5 sélectionnée, le meilleur mode de prédiction est choisi en fonction d'un critère débit-distorsion. Il est signalé à l'aide d'une information identifiant la catégorie, puis le mode dans cette catégorie. Une telle méthode permet de réduire le temps de calcul de la prédiction d'un bloc courant, car dans certains cas tous les modes de prédictions intra ne sont pas testés. Elle peut aussi permettre dans certains cas de réduire le débit. En effet, si la catégorie choisie est celle qui n'a 10 qu'un prédicteur, il n'y a rien à signaler. 3. Inconvénients de l'art antérieur Quand la deuxième ou la troisième catégorie est choisie, le débit n'est pas réduit, du fait que la signalisation est prévue sur la base de l'ensemble de modes de prédiction initialement disponibles. 15 4. Objectifs de l'invention L'invention vient améliorer la situation. 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 contribue à diminuer le coût de signalisation d'un mode de prédiction sélectionné pour un bloc courant parmi 20 une pluralité de modes candidats, sans nuire à la qualité de la prédiction. 5. Exposé de l'invention Ces objectifs, ainsi que d'autres qui apparaîtront par la suite, sont atteints à l'aide d'un procédé de décodage d'un flux de données codées représentatif d'au moins une image, ladite image étant découpée en blocs, un ensemble d'au moins deux modes de prédiction étant disponible pour 25 prédire un bloc, dit bloc courant, ledit procédé comprenant les étapes suivantes : - Obtention d'au moins deux catégories de modes de prédiction à partir de l'ensemble ; - Elimination d'au moins une catégorie en fonction d'au moins un premier critère d'élimination prédéterminé ; - Mise à jour des catégories non éliminées par suppression des modes de prédiction communs 30 avec la au moins une catégorie éliminée ; 3053555 4 - Décodage à partir du flux de données d'une information identifiant pour le bloc courant un mode de prédiction parmi les modes des catégories mises à jour. Avec l'invention, le décodeur élimine les catégories de modes de prédiction non adaptées au bloc courant et il supprime des catégories restantes les modes de prédiction communs avec les 5 catégories éliminées. Il utilise sa connaissance des catégories non éliminées et mises à jour pour interpréter dans le flux de données les données codées signalant le mode de prédiction choisi par l'encodeur pour le bloc courant. Contrairement à l'art antérieur, qui signale le mode de prédiction sélectionné sur la base des catégories initiales, la signalisation du mode de prédiction sélectionné pour le bloc courant est 10 spécifique et adaptée aux catégories de modes de prédiction mises à jour. Ainsi, le coût de la signalisation du mode de prédiction est optimisé. L'invention concerne aussi un procédé de codage d'une image sous la forme d'un flux de données codées, ladite image étant divisée en blocs, un ensemble d'au moins deux modes de prédiction étant disponible pour prédire un bloc, dit bloc courant, ledit procédé comprenant les 15 étapes suivantes : - Obtention d'au moins deux catégories de modes de prédiction à partir de l'ensemble ; - Elimination d'au moins une catégorie en fonction d'au moins un premier critère d'élimination prédéterminé ; - Mise à jour des catégories non éliminées par suppression des modes de prédiction communs 20 avec la au moins une catégorie éliminée ; - Sélection d'un mode de prédiction dans une des catégories mises à jour ; et Codage en fonction des catégories mises à jour d'une information identifiant le mode de prédiction sélectionné, et insertion de l'information codées dans le flux de données codées. Les différents modes ou caractéristiques de réalisation mentionnés ci-après peuvent être 25 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éfini ci-dessus. Selon un aspect de l'invention, l'étape d'obtention comprend la lecture d'informations d'identification desdites catégories dans une mémoire. Les catégories de modes de prédiction sont prédéterminées. Un avantage est la simplicité de 30 mise en oeuvre et des besoins limités en ressources de calcul. 3053555 5 Selon un autre aspect de l'invention, l'étape d'obtention comprend une analyse d'au moins une caractéristique d'un contenu de blocs déjà traités et une création des catégories à partir d'au moins un critère de regroupement des modes de prédiction et en fonction de la au moins une caractéristique analysée. 5 Les catégories sont créées dynamiquement, en fonction du contenu déjà traité. Un avantage est que les catégories obtenues sont adaptées au contenu de l'image. Selon un autre aspect de l'invention, le procédé comprend, pour une catégorie obtenue, une étape de détermination d'un mode de prédiction représentant cette catégorie et l'étape d'élimination de la catégorie comprend une élimination du mode de prédiction représentant, 10 l'élimination de la catégorie étant déclenchée par l'élimination du mode de prédiction le représenta nt. Un avantage est qu'on élimine la catégorie tout entière en une seule opération. Selon encore un autre aspect de l'invention, pour une catégorie obtenue, l'étape d'élimination de la catégorie comprend l'élimination successive de ses modes de prédiction, la 15 comparaison du nombre de modes de prédiction éliminés dans la catégorie à un seuil prédéterminé, l'élimination de la catégorie étant déclenchée lorsque le nombre de modes éliminés est supérieur au seuil. Un avantage est qu'on teste individuellement les modes de la catégorie avant de prendre une décision d'élimination. 20 Selon un autre aspect de l'invention, le procédé comprend, pour une catégorie obtenue, ladite catégorie étant associée à un critère de regroupement de modes de prédiction, une étape d'analyse du contenu des blocs voisins déjà traités destinée à fournir une caractéristique du contenu et l'étape d'élimination élimine la catégorie lorsque la caractéristique et le critère de regroupement sont incompatibles entre eux. 25 Un avantage est qu'on élimine la catégorie tout entière dès lors qu'on peut établir qu'elle n'est pas adaptée au contenu à traiter. L'invention concerne également un dispositif de décodage adapté pour mettre en oeuvre le 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 30 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 3053555 6 amplement. Selon un mode particulier de réalisation de l'invention, un tel dispositif de décodage est compris dans un terminal. L'invention concerne également un dispositif de codage adapté pour mettre en oeuvre le 5 procédé de codage selon l'un quelconque des modes particuliers de réalisation définis ci-dessus. Ce 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 codage, et ne sont pas détaillés plus amplement. Selon un mode particulier de réalisation de l'invention, un tel dispositif de codage est 10 compris dans un terminal ou un serveur. Un tel équipement terminal ou serveur peut comprendre un dispositif de codage et un dispositif de décodage selon l'invention. Le procédé de décodage, respectivement le procédé de codage selon l'invention peut être mis en oeuvre de diverses manières, notamment sous forme câblée ou sous forme logicielle. Selon un mode particulier de réalisation de l'invention, le procédé de décodage, 15 respectivement le procédé de codage, est mis en oeuvre par un programme d'ordinateur comportant des instructions pour la mise en oeuvre des étapes d'un procédé tel que décrit 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 20 ordinateur. L'invention se rapporte enfin à des supports d'enregistrement, lisibles par un processeur, intégrés ou non au dispositif de codage d'une image numérique et au dispositif de décodage d'une 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 25 mettant en oeuvre un procédé de décodage, tels que décrits précédemment. 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 : 3053555 7 - la figure 1 présente de façon schématique les étapes d'obtention, d'élimination et de mise à jour des catégories de modes de prédiction selon un premier mode de réalisation de l'invention ; - la figure 2 présente de façon schématique les étapes d'obtention, d'élimination et de mise 5 à jour des catégories de modes de prédiction selon un premier mode de réalisation de l'invention ; - la figure 3 présente de façon schématique des catégories de modes de prédiction comprenant des modes communs ; - les figures 4A à 4G illustrent des exemples de catégories de modes de prédiction mis en 10 oeuvre par l'invention ; - la figure 5 illustre un exemple de catégories mises en oeuvre dans un mode de réalisation de l'invention ; - la figure 6 présente de façon schématique les étapes d'un procédé de codage d'une image selon l'invention ; 15 - la figure 7 illustre de façon schématique les étapes d'un procédé de décodage d'une image selon l'invention ; - la figure 8 présente de façon schématique un exemple de structure matérielle d'un dispositif de codage selon l'invention ; et - la figure 9 présente de façon schématique un exemple de structure matérielle d'un 20 dispositif de décodage selon l'invention. 7. Description d'un mode de réalisation particulier de l'invention 7.1 Principe général L'invention vise à améliorer le coût de la signalisation d'un mode de prédiction utilisé pour prédire un bloc de pixels d'une image à coder. 25 Les standards de compression actuels proposent un grand nombre de modes de prédiction pour coder un bloc afin de fournir une prédiction la plus proche possible des pixels du bloc à coder. Ainsi, le résidu de prédiction quantifié est faible, voire nul, ce qui permet de réduire le coût de codage du résidu de prédiction. Cependant, le coût de la signalisation d'un mode de prédiction augmente avec le nombre de modes de prédiction possibles. 3053555 8 Or, il apparait possible de regrouper les modes de prédiction en catégories sur la base d'une ou plusieurs caractéristiques du contenu de l'image qu'ils ont en commun et de prévoir le fait que les modes de prédiction d'une même catégorie ne soient pas adaptés pour prédire le bloc courant. Le principe général de l'invention repose sur l'établissement de catégories de modes de prédiction 5 dans l'ensemble initial des modes de prédiction en compétition pour le codage ou le décodage d'un bloc courant d'une image numérique et sur l'élimination de catégories entières. Les modes d'une catégorie non éliminée et communs à des catégories éliminées sont supprimés. Ce principe s'applique au codeur comme au décodeur. De cette manière, le nombre de modes de prédiction disponibles pour le codage d'un bloc est réduit 10 et, du fait que le décodeur sait construire à l'identique les mêmes catégories, la signalisation peut se faire sur la base du nombre réduit de modes disponibles pour la prédiction du bloc courant. L'invention est ici décrite dans le cadre d'une application aux modes de prédiction intra définis dans le standard HEVC. L'invention s'applique aisément à d'autres standards de compression et d'autres modes de prédiction. 15 On rappelle que le standard HEVC définit 35 modes de prédiction intra: - un mode PLANAR (mode 0), ce mode consiste à interpoler de façon linéaire les pixels du bloc prédicteur (ou bloc prédit) à partir des pixels de référence; les pixels de référence étant construits à partir des blocs voisins précédemment reconstruits, - un mode DC (mode 1), ce mode consiste à affecter aux pixels du bloc prédicteur la même valeur 20 correspondant à une moyenne des pixels de référence, - 33 modes angulaires A2-A34 illustrés par la figure 4A. De tels modes forment un bloc prédicteur par la prolongation des pixels de référence du bloc courant dans l'une des 33 directions associées. En relation avec la Figure 1, on décrit les étapes d'obtention E10 de catégories, d'élimination E11 de catégories et de mise à jour E12 de catégories selon l'invention, mises en oeuvre dans le 25 procédé de codage selon l'invention décrit en relation avec la figure 6 et dans le procédé de décodage selon l'invention décrit en relation avec la figure 7. 7.2 Obtention d'au moins deux catégories de modes de prédiction à partir de l'ensemble initial 3053555 9 Au cours de l'étape E10, le codeur ou le décodeur obtiennent des catégories de modes de prédiction formées à partir de l'ensemble initial de modes de prédiction disponibles. Comme illustré par la figure 3, les catégories peuvent avoir des modes de prédiction communs. Ces catégories ont été formées à l'aide d'un ou plusieurs critères de regroupement CR des modes 5 de prédiction. Un critère de regroupement est avantageusement associé à une valeur ou une plage de valeurs d'une caractéristique du contenu d'un bloc. Autrement dit, les modes de prédiction sont regroupés sur la base d'au moins une caractéristique commune, de façon à ce que les modes de prédiction d'une même catégorie puissent être considérés comme les plus adaptés à prédire un bloc présentant la valeur de caractéristique qui leur est associée. 10 Des catégories peuvent avoir été constituées dans une phase préalable au codage et au décodage et être figées. Dans ce cas, l'étape E10 d'obtention de catégories comprend une sous-étape E101 de lecture d'une information représentative de ces catégories dans une mémoire MEM, MEMO. Par exemple, cette information est un mot qui concatène les identifiants des catégories et un identifiant de catégorie est associé à un espace mémoire stockant les identifiants des modes de prédiction 15 qu'elle contient. En l'absence d'analyse de caractéristique du contenu de l'image déjà traité, le codeur et par symétrie le décodeur, obtiennent systématiquement les catégories prédéterminées correspondant à un premier profil de catégorisation associé par exemple à un profil de codage. Lorsqu'il dispose des résultats d'une analyse du contenu des blocs déjà traités, qui lui fournit au fil 20 de l'eau des caractéristiques du contenu de l'image, le codeur et par symétrie le décodeur peuvent créer dynamiquement des catégories à l'aide de critères de regroupement associés à des valeurs particulières ou à des plages de valeurs des caractéristiques issues de cette analyse. Dans ce cas, l'étape E10 comprend une sous-étape E102 d'obtention de caractéristiques CC du contenu des blocs déjà traités et une sous-étape E103 de création d'au moins une catégorie sur la 25 base d'au moins un critère de regroupement CR fonction d'au moins une de ces caractéristiques. On comprend que l'étape E10 peut mettre en oeuvre la sous-étape E101 seule, les sous-étapes E102, E103 seules, ou bien toutes les sous-étapes, les catégories constituées dynamiquement venant compléter celle préalablement créées. Par exemple, les modes de prédiction sont regroupés selon un critère associé à une caractéristique 30 physique du contenu de l'image. En relation avec la figure 4B, la caractéristique physique 3053555 10 considérée est l'orientation du mode de prédiction et les modes de prédiction présentant des orientations proches les unes des autres sont regroupés dans une première catégorie CV, dite verticale, comprenant le mode angulaire vertical A26 (V) et ses voisins et une deuxième catégorie CH, dite horizontale, comprenant le mode angulaire horizontal A10 (H) et ses voisins. 5 Ces catégories sont pertinentes pour prédire un bloc d'une image présente des directions franches, qui sont plutôt horizontales pour la catégorie CH ou plutôt verticales pour la catégorie CV. C'est le cas par exemple d'une image représentant une scène urbaine avec de hauts immeubles. Avantageusement, pour un bloc courant, l'étape d'élimination Ell éliminera une des deux catégories sur la base d'un critère d'élimination basé sur une orientation principale du bloc. 10 On considère en relation avec la figure 4C, un autre exemple de caractéristique physique prise en compte pour la création d'une catégorie. On suppose que le codeur a détecté dans le contenu la présence de contours francs et contrastés par rapport au fond, souvent dans les directions horizontales ou verticales, séparées par des zones très homogènes, ce qui correspond à une incrustation de texte ou de logo sur une scène réelle. Le contenu de l'image en cours de 15 codage comprend donc une superposition d'éléments virtuels sur une scène réelle. Il crée une première catégorie regroupant des modes adaptés à ce type de scène dite « screen content ». Par exemple, dans cette catégorie CSC, il inclut les modes DMM (pour « Depth Modeling Mode », en anglais), IBC (pour « Intra Block Copy », en anglais), le mode angulaire horizontal A10 (H), le mode angulaire vertical A26 (V). Il crée une deuxième catégorie CA comprenant l'ensemble des 20 modes angulaires précédemment évoqués, dont le mode horizontal et le mode vertical. En relation avec la figure 4D, le codeur obtient en E10 trois catégories à partir des modes de prédiction angulaires. La catégorie CA1 comprend les modes A26(V) et A10(H), la catégorie CA2 les modes A2, A6, A14, A22 et la catégorie CA3 tous les autres. La catégorie CA1 autorise très peu de finesse pour le codage d'une direction, la catégorie CA2 en permet un peu plus et la catégorie 25 CA3 est la plus précise. On comprend que ces trois catégories permettent de s'adapter à la finesse requise pour représenter la direction du contenu d'un bloc. Ces catégories ont été créées dans une phase préalable et sont figées. Elles n'ont pas de mode commun. Une application privilégiée de cet ensemble de catégories est de l'utiliser comme un outil de codage 30 mis en compétition avec d'autres. Cet ensemble de catégories sera donc choisi quand il donnera les meilleurs résultats, par exemple selon un critère débit-distorsion. On peut notamment s'attendre à ce qu'il fonctionne bien pour une image dont une zone donnée contiendrait des directions simples 3053555 11 (verticales et horizontales), et dont une autre zone aurait des directions beaucoup plus fines (finesse dans les diagonales). Selon un mode de réalisation de l'invention, la sous-étape E103 de création de catégories prend en compte un critère de regroupement basé sur une analyse statistique (E102) des modes de 5 prédiction utilisés pour les blocs voisins déjà traités (contexte causal). Avantageusement, les modes les plus fréquemment utilisés sont placés dans une première catégorie. Une deuxième catégorie comprend tous les modes de l'ensemble initial. Selon un autre mode de réalisation, illustré par la figure 4E, D'autres catégories sont créées dynamiquement par apprentissage, de type « Machine Learning » sur les modes prédits pour des 10 blocs déjà traités de l'image courante, par rapport à des descripteurs causaux, de préférence les plus probables. La technique de « machine learning » ou ML, connue de l'homme de métier et par exemple décrite dans l'ouvrage intitulé « Machine Learning », par Tom Mitchell, publié par McGraw Hill en 1997. Cette technique permet, suite à une phase d'apprentissage, d'émettre des probabilités concernant 15 la sélection des modes pour la zone courante. Le ML est un procédé connu, complexe, que nous ne détaillons pas. On peut donc imaginer de créer 3 autres catégories, en fonction du degré de probabilité d'apparition de chaque mode. Par exemple, on peut comparer les probabilités d'apparition obtenues à un ou plusieurs seuils et regrouper dans une première catégorie ceux qui ont une probabilité d'apparition supérieur à un premier seuil, puis dans une deuxième catégorie 20 ceux qui ont une probabilité d'apparition supérieure à un deuxième seuil inférieur au premier et dans une troisième catégorie ceux qui ont une probabilité d'apparition supérieure à un troisième seuil inférieur au deuxième. On crée ainsi les catégories suivantes, telles que représentées en relation avec la figure 4E : - Catégorie 1 C1' : A2 A8 A9 A10 A11 25 - Catégorie 2 C2' : A10 A3 A4 A11 Al2 A16 - Catégorie 3 C3' : l'ensemble des autres modes angulaires An. L'apprentissage est répété régulièrement, avec une fréquence qui peut varier. Par exemple, à chaque unité de codage (pour « coding unit », en anglais) ou à chaque image ou à chaque groupe d'images de type GoP (pour « Group of Pictures » en anglais). 30 Avantageusement, on ajoute à ces trois catégories créées dynamiquement, une première catégorie prédéterminée CO', dite par défaut, qui comprend les modes de prédiction DC, A10 (H), A26 (V) et PL. Cette catégorie est obtenue par le codeur et le décodeur en E10. Ceci permet de pallier une mauvaise prédiction issue de l'apprentissage ML. 3053555 12 En relation avec les figures 4F et 4G, les catégories peuvent aussi être construites de manière hiérarchique. Une structure quelconque d'arbre peut être adoptée (binaire, ternaire, irrégulier, etc). Cette structure simule une sorte de MPM par niveaux hiérarchiques. 5 Par exemple, on construit les catégories par dichotomie. On définit le mode horizontal A10 et le mode vertical A26 comme les deux modes les plus probables MPM1 et MPM2. Ils forment la catégorie de premier niveau hiérarchique CH1. On dérive la deuxième catégorie hiérarchique CH2 en prenant leurs voisins à deux sauts MPM1-2, MPM1+2, MPM2-2 et MPM2-2. On crée la catégorie CH3 de niveau 3 en prenant les voisins à un saut des modes de la catégorie précédente : MPM1-1, 10 MPM1+1, MPM2-1, MPM2+1. La catégorie CH1 comprend peu de modes de prédiction et apporte une précision faible en termes de direction angulaire, alors que la catégorie CH3 offre une plus grande finesse d'orientation. 7.3 Elimination de catégories L'invention couvre différentes manières d'éliminer une catégorie. 15 Selon un mode de réalisation de l'invention, décrit en relation avec la figure 1, l'étape E11 d'élimination comprend une sous-étape E111 de détermination d'un mode représentant une catégorie. Dans le cas d'un ensemble de modes angulaires, le représentant peut par exemple être le médian ou la moyenne. Les prédicteurs angulaires sont donc ordonnés, et ont un numéro qui les désigne. 20 La moyenne désigne donc l'angle central de la catégorie. Selon une variante, le mode de prédiction représentant une catégorie est un mode de prédiction supplémentaire, au sens où il ne fait pas partie de l'ensemble de modes de prédictions initial. Il peut être par exemple obtenu en calculant une moyenne cette fois sur les prédicteurs eux-mêmes, 25 c'est-à-dire la valeur des pixels utilisés pour faire la prédiction, ou toute autre fonction de ces valeurs. Par exemple, en relation avec la Figure 4B, on choisit le mode vertical comme représentant RV pour la catégorie CV et le mode horizontal comme représentant RH pour la catégorie CH. L'étape E11 comprend en outre une sous-étape E112 d'élimination du représentant selon un critère 30 d'élimination. Le représentant est testé, éliminé ou non en fonction d'au moins un critère d'élimination de prédicteurs. 3053555 13 L'étape E113 consiste à éliminer la catégorie tout entière dès lors que son représentant a été éliminé. Selon une variante illustrée par la figure 2, on ne désigne pas de représentant, mais on 5 examine un par un les modes de prédiction d'une catégorie au cours d'une sous-étape E114 et on les élimine par un critère standard d'élimination de mode. Dans l'exemple de la Figure 4E, les catégories CAO à CA3 sont hétérogènes. On ne définit donc pas de représentant pour ces catégories. Les modes sont passés en revue individuellement pour décider de leur élimination éventuelle. Le critère d'élimination du mode correspond par exemple à 10 la règle suivante : « An est éliminé si les blocs de son voisinage n'ont pas sélectionné de mode An, An-1 ou An+1. ». Par conséquent, un certain nombre de modes de chaque catégorie est supposé être éliminé. Un critère d'élimination de la catégorie entière s'applique alors, si par exemple 50% des modes de la catégorie sont supposés être éliminés. Dans ce cas, tous les modes de la catégorie sont éliminés. 15 En particulier, ces mêmes modes disparaissent des autres catégories dans lesquelles ils sont présents. Dans le cas inverse (moins de 50%), la catégorie est conservée, et tous les modes de la catégorie le sont aussi (même ceux supposés être éliminés). En E115, la catégorie est éliminée si le taux des modes éliminés dans la catégorie est supérieur à un seuil prédéterminé TH. 20 Selon encore un autre mode de réalisation, une catégorie est éliminée globalement si le critère de regroupement CR qui a servi à la constituer est incompatible avec au moins une caractéristique physique du contenu des blocs voisins déjà traités. Par exemple, la catégorie CSC de la figure 4C regroupe des modes de prédiction qui ont une forte probabilité d'être utilisés pour 25 des blocs issus d'images de profondeur ou comprenant du contenu non naturel par exemple de type écran d'ordinateur(pour « « screen content », en anglais) ou comprenant des incrustations (pour « overlay », en anglais). En revanche, elle n'est pas adaptée au bloc courant appartenant à une zone de l'image pour laquelle une analyse des blocs voisins déjà traités indique que le contenu présente des caractéristiques angulaires marquées ainsi que des zones texturées. La catégorie CSC 30 est alors éliminée avec tous ses modes de prédiction. On reprend maintenant l'exemple de la Figure 4D, qui représente des catégories CA1 à CA3 basées sur une caractéristique physique d'orientation du contenu du bloc courant. Lorsque l'analyse du 3053555 14 contenu des blocs voisins déjà traités indique qu'on est dans une zone très homogène, alors une grande finesse angulaire n'est pas requise. On peut donc éliminer la catégorie CA3. De même si une technique de gradient par exemple de type Sobel appliquée aux blocs voisins déjà traités ne fait apparaitre aucune direction horizontale ou verticale nette, on peut éliminer la 5 catégorie CA1 dont le critère de regroupement des modes est incompatible avec le contenu à traiter.7.4 Mise à jour des catégories non éliminées On a vu que les catégories créées peuvent avoir des modes de prédiction communs. On notera que, selon l'invention, si un mode de prédiction donné appartient à une première et à une deuxième catégorie, l'élimination de ce mode dans une première catégorie implique son 10 élimination de la deuxième catégorie en E12. En relation avec la figure 3, l'élimination de la catégorie Cl implique que la deuxième catégorie C2 ne contient plus que deux modes de prédiction. 7.5 Description d'un premier mode de mise en oeuvre 15 Dans cet exemple, illustré par la Figure 5, les catégories de modes de prédiction sont prédéterminées. Autrement dit, leur création a été réalisée dans une phase préalable à l'encodage. L'étape E10 consiste donc à aller lire une information représentative de ces catégories en vue d'accéder aux modes de prédiction, qui sont par exemple stockés dans une mémoire accessible au codeur. 20 On considère cinq catégories qui sont constituées de la manière suivante, illustrée par la figure 5 : la catégorie Cli comprend les modes de prédiction DMM, IBC, H (A10), H-1 (A9), H+1 (A11), V (A26), V-1 (A25), V+1 (A27) ; - la catégorie C21 comprend les modes de prédiction angulaires A34 ... A27 ; - la catégorie C31 comprend les modes de prédiction angulaire A25 ... All ; 25 - la catégorie C41 comprend les modes de prédiction angulaires A9 ... A2 ; - la catégorie C51 comprend DC, H, V, PL. On constate que certains modes de prédiction, comme certains modes angulaires sont communs à plusieurs catégories. Ces catégories, déterminées à l'avance et figées, sont connues par le codeur et par le décodeur. 30 Pour les catégories 2, 3 et 4, composées uniquement de modes angulaires, on détermine en T12 un représentant, qui correspond au mode angulaire médian de chacune d'entre elles. Par exemple, 3053555 15 le médian de la catégorie C2" est le mode A30.5. On notera qu'il s'agit d'un mode angulaire supplémentaire, qui ne fait pas partie de la catégorie C2". On ne détermine pas de représentant pour les autres catégories Cli et C51, constituées de modes de prédiction de types hétérogènes. 5 En Ell, on cherche à éliminer un ou plusieurs catégories. Dans cet exemple de réalisation, la stratégie adoptée consiste à éliminer les modes de prédiction angulaires qui ont une forte probabilité d'être inutiles. On recourt à un critère d'élimination dit statistique, basé sur une analyse statistique des modes de prédiction utilisés par les blocs déjà traités dans un voisinage à la fois spatial et temporel. 10 Par exemple, pour les catégories C21, C31 et C41, on teste le représentant à l'aide d'un critère d'élimination qui s'exprime sous la forme de la règle suivante : « Le mode An est éliminé si aucun des blocs déjà traités de son voisinage n'a sélectionné un des modes du groupe comprenant An, An-1 et An+1 ». On suppose que ce critère conduit à l'élimination des représentants des catégories C2" et C3", 15 donc à l'élimination de ces catégories. En E12, on met à jour les catégories non éliminées en supprimant les modes de prédiction qu'elles ont en commun avec les catégories éliminées. Cela nous amène à supprimer les modes angulaires All (H+1), A25 (V-1), A26 (V) et A27 (V+1) de la catégorie 1. Les catégories mises à jour sont les suivantes 20 - Catégorie Cli : DMM, IBC, H (A10), H-1 (A9), V (A26) ; - Catégorie C41 : A9 ... A2 ; et - Catégorie C51 : DC, H, V, PL On observe qu'il ne reste plus que 15 modes en tout contre 38 initialement. On notera que dans cet exemple que seules les catégories C21, C31, C41 ont des représentants, et 25 sont potentiellement éliminables. Ceci correspond à un cas concret où l'on souhaite éliminer le maximum de modes angulaires inutiles, sans toutefois éliminer les autres modes. Le codeur choisit ensuite un mode de prédiction est choisi de manière classique parmi les 15 restants. Classiquement, ce choix est fait sur la base d'un critère débit-distorsion ou RDO (pour 30 Rate Distorsion O en anglais) qui conduit à retenir le mode qui optimise le débit et la qualité de codage. Le mode sélectionné est signalé dans le train binaire. Ce mode est ensuite signalé. Il existe plusieurs manières connues de signaler le mode de prédiction sélectionné. Selon une première option, il est indexé par rapport aux 15 modes et son index est signalé. Selon une 3053555 16 deuxième option, on signale la catégorie à laquelle il appartient parmi les trois restantes, puis sa position ou index dans la catégorie. 7.3 Description d'un deuxième mode de mise en oeuvre 5 On considère les mêmes catégories prédéterminées que dans le premier mode de mise en oeuvre. La catégorie Cl" regroupe des modes de prédictions supposés pertinents pour prédire des blocs comprenant des contenus artificiels de type incrustation ou screen content. Au cours de l'étape E11 d'élimination de catégorie, on cherche à éliminer cette catégorie 1 10 lorsqu'elle n'est pas adaptée au contenu du bloc à traiter. Pour cette catégorie, on utilise un critère d'élimination basé sur une analyse structurelle du voisinage déjà traité du bloc courant. Par exemple, on réalise une détection de contours, par filtrage de type Sobel, puis on détermine les directions de ces contours, comme décrit dans les chapitres 4 et 5 de l'ouvrage de AK Jain, intitulé « Fundamentals of Digital Image Processing », 15 publié par Prentice Hall en 1989. Si les blocs voisins s'avèrent ne pas inclure de contenu des types visés par cette catégorie, elle est éliminée. On remarque qu'un un fonctionnement similaire pourrait être appliqué à la catégorie C5", qui est quant à elle plus adaptée aux zones homogènes ou dégradés légers. 20 7.6 Description d'un troisième mode de mise en oeuvre Dans cet exemple (non illustré), on fige une première catégorie par défaut C12, qui contient les modes de prédiction DC, H, V, PL. L'étape E10 comprend la création E103 dynamique de trois catégories. Pour ce faire, elle met oeuvre une technique de machine learning (ML) en E102. Les trois catégories sont créées en 25 prenant en compte une probabilité d'apparition de chaque mode. Les catégories peuvent être, par exemple : Catégorie C12 : DC, H, V, PL ; Catégorie C22 : A2 A8 A9 ; Catégorie C32: A10 A3 A4 A11 Al2 A16 ; 30 Catégorie C42: l'ensemble des autres An Ainsi formées, les catégories sont hétérogènes. On ne définit donc pas de représentant. En E11, on passe en revue chaque mode de chaque catégorie pour décider si ce mode doit être éliminé. Un premier critère d'élimination du mode s'exprime par exemple sous la forme de la règle 3053555 17 suivante : An sera éliminé si les blocs de son voisinage n'ont pas sélectionné de mode An, An-1 ou An+1. Un deuxième critère d'élimination de la catégorie entière s'applique ensuite, si par exemple 50% des modes de la catégorie sont éliminés par le premier critère. Dans ce cas, tous les modes de la 5 catégorie sont éliminés. En E12, les modes éliminés sont supprimés des catégories restantes. En particulier, ces mêmes modes disparaissent des autres catégories dans lesquelles ils sont présents. Dans le cas inverse (moins de 50%), la catégorie est conservée, et l'ensemble des modes de la 10 catégorie le sont aussi (même ceux supposés être éliminés). Par exemple, si 50% des modes des catégories 4 et 2 sont éliminés, seuls les 3 modes de la catégorie 1 et les 6 modes de la catégorie 3 subsistent dans l'ensemble utilisable. Ceci permet de pallier une éventuelle mauvaise prédiction issue du ML. 15 7.7 Description d'un exemple de mise en oeuvre d'un procédé de codage selon l'invention La figure 6 présente les étapes du procédé de codage d'une séquence d'images Ii, 12, ..., IN à coder sous la forme d'un flux de données codées STR selon un mode particulier de réalisation de l'invention. Par exemple, un tel procédé de codage est mis en oeuvre par un dispositif de codage tel que décrit en relation avec la figure 8. Une séquence d'images Ii, 12, ..., IN à coder est fournie en 20 entrée du procédé de codage. Le procédé de codage délivre en sortie un flux de données codées STR ou train binaire, représentatif de la séquence d'images fournie en entrée. De manière connue, le codage de la séquence d'images II., 12, ..., IN est fait image par image selon un ordre de codage préalablement établi et connu du décodeur. Par exemple, les images peuvent être codées dans l'ordre temporel Ii, 12, ..., IN ou selon un autre ordre, par exemple Ii, 13, 12, IN. 25 Lors d'une étape EO, une image Ik à coder de la séquence d'images Ii, 12, ..., IN est découpée en blocs de taille maximale. Chaque bloc de taille maximale pouvant être redécoupé en blocs plus petits. Par exemple, un bloc de taille maximal est de taille 32x32 pixels. Un tel bloc de taille maximal peut être subdivisé en sous-blocs carrés ou rectangulaires, par exemple de taille 16x16, 8x8, 4x4, 16x8, 8x16, .... Puis, lors de l'étape EO, un bloc I), à coder d'une image Ik est 30 sélectionné selon un sens de parcours de l'image Ik prédéterminé. Lors d'une étape E10, au moins deux catégories de modes de prédiction pour coder le bloc courant I), sont obtenues. Au cours de l'étape E11, on élimine des catégories selon au moins un critère 3053555 18 d'élimination et en E12, les catégories non éliminées sont mises à jour en supprimant les modes communs avec les catégories éliminées. Ces étapes ont été décrites ci-dessus selon différents modes de réalisation de réalisation de l'invention en relation avec les figures 4A à 4G. 5 Lors d'une étape E13, un mode de prédiction pour coder le bloc courant I), est sélectionné parmi les modes de prédictions des catégories mises à jour, par exemple le mode de prédiction fournissant le meilleur compromis débit/distorsion pour le bloc courant est sélectionné. Lors d'une étape E14, une information identifiant le mode de prédiction sélectionné est codée dans un flux de données codées STR pour le bloc courant bc. Par exemple, une telle information est 10 codée dans le flux sous la forme d'un index idx codé par un code à longueur fixe ou variable. Selon une variante, on code une information représentative de la catégorie à laquelle appartient le mode de prédiction sélectionné, puis une information représentative d'une position du mode de prédiction dans cette catégorie. On note qu'avec l'invention, les catégories étant obtenues, éliminées et mises à jour de façon 15 symétrique par le codeur et le décodeur, le codeur peut avantageusement choisir les codes pour signaliser le mode de prédiction sélectionné en fonction du nombre de modes de prédiction des catégories mises à jour plutôt qu'en fonction du nombre de modes de prédiction de l'ensemble initial. La signalisation est donc rendue moins coûteuse. Lors d'une étape E15, un résidu de prédiction RES est calculé à partir du bloc courant I), et du bloc 20 prédicteur P associé au mode de prédiction sélectionné lors de l'étape E13. Le résidu de prédiction RES est obtenu par la différence entre le bloc courant à coder I), et le bloc prédicteur P. Lors d'une étape E16, de manière connue, le résidu de prédiction RES est ensuite transformé, par exemple par une transformée DCT, et quantifié. Des coefficients de résidus transformés quantifiés sont alors obtenus. 25 Lors d'une étape E17, les coefficients de résidus transformés quantifiés sont ensuite codés par un module de codage entropique, par exemple un codeur CABAC, décrit dans D. Marpe, H. Schwarz, T. Wiegand, « Context-based adaptive binary arithmetic coding in the H.264/AVC video compression standard » IEEE Transactions on Circuits and Systems for Video Technology (Volume:13 , Issue: 7 ), pages 620 - 636, July 2003 , sous la forme d'un flux de données codées STR. Lors d'une 30 étape E18, un résidu de prédiction RES' est reconstruit en appliquant aux coefficients transformés 3053555 19 quantifiés une quantification inverse et une transformation inverse. Lors d'une étape E19, un bloc de pixels REC est reconstruit en ajoutant le résidu de prédiction reconstruit RES' au bloc prédicteur P associé au mode de prédiction sélectionné lors de l'étape E13. Lors d'une étape E20, il est vérifié si tous les blocs de l'image à coder ont été codés. Dans le cas 5 négatif, le procédé de codage reprend à l'étape E10 en procédant au bloc suivant selon un parcours prédéterminé de l'image à coder. Dans le cas où tous les blocs de l'image ont été traités, lors d'une étape E21, une image Ikrec est reconstruite à partir des blocs reconstruits REC de l'image et sauvegardée dans une liste d'images de référence pour être utilisée ultérieurement comme référence lors du codage des images 10 suivantes de la séquence d'images. 7.8 Procédé de décodage La figure 7 présente des étapes d'un procédé de décodage d'un flux STR de données codées représentatif d'une séquence d'images Ii, 12, IN à décoder selon un mode particulier de réalisation de l'invention. 15 Par exemple, le flux de données STR a été généré via le procédé de codage présenté en relation avec la figure 1. Le flux de données STR est fourni en entrée d'un dispositif de décodage DEC, par tel que décrit en relation avec la figure 9. Le procédé de décodage procède au décodage du flux image par image. Pour chaque image à décoder, le procédé de décodage procède au décodage de l'image bloc par bloc. 20 Lors d'une étape DO, une image II( à décoder de la séquence d'images Ii, 12, IN est découpée en blocs de taille maximale. Chaque bloc de taille maximale pouvant être redécoupé en blocs plus petits. Par exemple, un bloc de taille maximal est de taille 32x32 pixels. Un tel bloc de taille maximal peut être subdivisé en sous-blocs carrés ou rectangulaires, par exemple de taille 16x16, 8x8, 4x4, 16x8, 8x16, .... Puis, un bloc bc à décoder d'une image II( est sélectionné selon un sens 25 de parcours de l'image II( prédéterminé. Pour un bloc bc d'une image à reconstruire, lors de l'étape E10, des catégories de modes de prédiction sont obtenues. En EH, on élimine des catégories sur la base d'au moins un critère d'élimination et on met à jour en E12 les catégories non éliminées en supprimant les modes de prédiction communs avec les catégories éliminées. Ces étapes E10 à E12 sont réalisées selon un 30 mode particulier de réalisation identique au mode de réalisation utilisé lors du codage du flux de 3053555 20 données STR. Elles comprennent un ensemble de sous-étapes qui ont été décrites ci-dessus selon différents modes de réalisation de réalisation de l'invention en relation avec les figures 1 et 2. Lors d'une étape D20, les données du flux de données STR correspondant au bloc bc sont décodées par un module de décodage entropique pour fournir d'une part des éléments de syntaxe relatifs au 5 mode de codage (ou mode de prédiction) du bloc courant I), et d'autre part un groupe de coefficients de résidus de prédiction du bloc courant bc. Les éléments de syntaxe décodés comprennent notamment une information de mode de prédiction identifiant pour le bloc courant I), un mode de prédiction parmi les modes de prédiction des catégories de modes de prédiction mises à jour selon l'invention. Par exemple, si on suppose que les catégories mises à jour sont 10 ordonnées, ainsi que les modes de prédiction qui les constituent, une telle information est codée dans le flux sous la forme d'un index idx de la liste ordonnée formée par les modes de prédiction restants. Selon une variante, l'information de mode de prédiction est codée sous la forme d'un identifiant de catégorie et d'un index idx de position dans la catégorie identifiée. Lors d'une étape D21, les coefficients de résidus de prédiction du bloc bc subissent une 15 quantification inverse, puis une transformation inverse pour délivrer un résidu de prédiction décodé RES'. Lors d'une étape D22, le bloc courant bc est reconstruit à partir du bloc prédicteur P associé au mode de prédiction décodé et du résidu de prédiction RES' associé au bloc courant I), qui a été décodé à partir du flux de données codées STR. Le bloc prédicteur P a été calculé précédemment 20 lors de l'étape E10. Un bloc reconstruit REC pour le bloc courant I), est donc obtenu en ajoutant le bloc prédicteur P au résidu de prédiction décodé RES'. Lors d'une étape D23, il est vérifié si tous les blocs de l'image à décoder ont été décodés et reconstruits. Dans le cas négatif, le procédé de décodage reprend à l'étape E10 en procédant au bloc suivant selon un parcours prédéterminé de l'image à décoder. 25 Dans le cas où tous les blocs de l'image ont été traités, lors d'une étape D24, une image Ikrec est reconstruite à partir des blocs reconstruits REC et sauvegardée dans une liste d'images de référence pour être utilisée ultérieurement comme référence lors du décodage des images suivantes de la séquence d'images. Les procédés de codage et de décodage décrits précédemment peuvent être intégrés dans des 30 codeurs/décodeurs vidéo standards tels que H.266, HEVC/H.265, AVC/H.264 ou tout type de codeurs/décodeurs vidéo propriétaires. Les procédés de codage et de décodage selon l'invention 3053555 21 s'appliquent également à tous types de codeurs/décodeurs d'images fixes et plus généralement de signaux utilisant un codage prédictif à l'aide de plusieurs modes de prédiction disponibles. Les procédés de codage et de décodage ont été décrits précédemment dans le cas du codage spatial de bloc (codage intra). Ces procédés s'appliquent aisément au cas du codage d'un bloc 5 selon d'autres types de modes de codage, inter par exemple. La liste des modes de prédiction construite peut ainsi comprendre différents types de modes de codage (intra, inter, inter-couches, 7.9 Dispositif de codage La figure 8 présente la structure simplifiée d'un dispositif de codage 100 adapté pour 10 mettre en oeuvre le procédé de codage selon l'un quelconque des modes particuliers de réalisation de l'invention. Le dispositif de codage 100 est adapté pour coder au moins une image sous la forme d'un flux de données codées, ladite image étant découpée en blocs, au moins deux modes de prédiction étant disponibles pour prédire un bloc de ladite image, dit bloc courant. Le dispositif de codage 100 est notamment configuré pour : 15 - obtenir au moins deux catégories de modes de prédiction parmi un ensemble de modes de prédiction disponibles pour prédire ledit bloc courant, un bloc prédicteur associé au mode de prédiction disponible, - éliminer au moins une catégorie en fonction d'au moins un critère d'élimination, - mettre à jour les catégories non éliminées, en supprimant les modes de prédiction 20 communs avec les catégories éliminées, - sélectionner parmi les catégories mises à jour un mode de prédiction pour coder le bloc courant, - coder dans le flux de données, une information identifiant pour ledit bloc courant ledit mode de prédiction sélectionné dans les catégories mises à jour. 25 Selon un mode particulier de réalisation de l'invention, les étapes du procédé de codage sont mises en oeuvre par des instructions de programme d'ordinateur. Pour cela, le dispositif de codage 100 a l'architecture classique d'un ordinateur et comprend notamment une mémoire MEM, une unité de traitement UT, équipée par exemple d'un microprocesseur PROC, et pilotée par le programme d'ordinateur PG stocké en mémoire MEM. Le programme d'ordinateur PG comprend des instructions 3053555 22 pour mettre en oeuvre les étapes du procédé de codage tel que décrit ci-dessus, lorsque le programme est exécuté par le processeur PROC. A l'initialisation, les instructions de code du programme d'ordinateur PG sont par exemple chargées dans une mémoire RAM avant d'être exécutées par le processeur PROC. Le processeur PROC de 5 l'unité de traitement UT met notamment en oeuvre les étapes du procédé de codage décrit ci- dessus, selon les instructions du programme d'ordinateur PG. Selon un autre mode particulier de réalisation de l'invention, le procédé de codage est mis en oeuvre par des modules fonctionnels. Pour cela, le dispositif de codage COD comprend en outre: - un module d'obtention OBT pour obtenir au moins deux catégories de modes de prédiction 10 parmi un ensemble de modes de prédiction disponibles pour prédire ledit bloc courant, un bloc prédicteur associé au mode de prédiction disponible, - un module d'élimination ELIM pour éliminer au moins une catégorie en fonction d'au moins un critère d'élimination, - un module de mise à jour MAJ pour mettre à jour les catégories non éliminées, en 15 supprimant les modes de prédiction communs avec les catégories éliminées, - un module de sélection SEL pour sélectionner parmi les catégories mises à jour un mode de prédiction pour coder le bloc courant, - un module de codage COD pour coder dans le flux de données, une information identifiant pour ledit bloc courant ledit mode de prédiction sélectionné dans les catégories mises à 20 jour. L'unité de traitement UT coopère avec les différents modules fonctionnels décrits ci-dessus et la mémoire MEM afin de mettre en oeuvre les étapes du procédé de codage. Les différents modules fonctionnels décrits ci-dessus peuvent être sous forme matérielle et/ou logicielle. Sous une forme logicielle, un tel module fonctionnel peut comprendre un processeur, une 25 mémoire et des instructions de code de programme pour mettre en oeuvre la fonction correspondante au module lorsque les instructions de code sont exécutées par un le processeur. Sous une forme matérielle, un tel module fonctionnel peut mis en oeuvre par tout type de circuits d'encodage adaptés, tels que par exemple et de manière non limitative des microprocesseurs, des processeurs de traitement du signal (DSP pour Digital Signal Processor en anglais), des circuits 3053555 23 intégrés spécifiques à des applications (ASICs pour Application Specific Integrated Circuit en anglais), des circuits FPGA pour Field Programmable Gate Arrays en anglais, un câblage d'unités logiques. De façon avantageuse, un tel dispositif 100 peut être intégré à un équipement terminal 5 d'utilisateur ET. Le dispositif 100 est alors agencé pour coopérer au moins avec le module suivant du terminal ET : - une mémoire MEM1 dans laquelle sont stockées notamment les catégories de modes de prédiction ; - un module E/R1 d'émission/réception de données, par l'intermédiaire duquel le flux de 10 données codées STR est transmis dans un réseau de télécommunications, par exemple un réseau filaire ou un réseau hertzien à destination d'un ou plusieurs décodeurs. 7.10 Dispositif de décodage La figure 9 présente la structure simplifiée d'un dispositif de décodage 200 adapté pour 15 mettre en oeuvre le procédé de décodage selon l'un quelconque des modes particuliers de réalisation de l'invention. Le dispositif de décodage 200 est adapté pour décoder un flux de données codées représentatif d'au moins une image, ladite image étant découpée en blocs, au moins deux modes de prédiction étant disponibles pour prédire un bloc, dit bloc courant, de l'image. Le dispositif de décodage 200 est notamment configuré pour: 20 - obtenir au moins deux catégories de modes de prédiction parmi un ensemble de modes de prédiction disponibles pour prédire ledit bloc courant, un bloc prédicteur associé au mode de prédiction disponible, - éliminer au moins une catégorie en fonction d'au moins un critère d'élimination, - mettre à jour les catégories non éliminées, en supprimant les modes de prédiction 25 communs avec les catégories éliminées, - sélectionner parmi les catégories mises à jour un mode de prédiction pour coder le bloc courant, - décoder à partir du flux de données codées, une information identifiant pour ledit bloc courant, un mode de prédiction parmi les catégories mises à jour, 3053555 24 - reconstruire ledit bloc courant à partir du bloc prédicteur associé audit mode de prédiction identifié. Selon un mode particulier de réalisation de l'invention, le dispositif de décodage 200 a l'architecture classique d'un ordinateur et comprend notamment une mémoire MEMO, une unité de 5 traitement UTO, équipée par exemple d'un microprocesseur PROCO, et pilotée par le programme d'ordinateur PG0 stocké en mémoire MEMO. Le programme d'ordinateur PG0 comprend des instructions pour mettre en oeuvre les étapes du procédé de décodage tel que décrit ci-dessus, lorsque le programme est exécuté par le processeur PROCO. A l'initialisation, les instructions de code du programme d'ordinateur PG0 sont par exemple 10 chargées dans une mémoire RAM avant d'être exécutées par le processeur PROCO. Le processeur PROCO de l'unité de traitement UTO met notamment en oeuvre les étapes du procédé de décodage décrit ci-dessus, selon les instructions du programme d'ordinateur PGO. Selon un autre mode particulier de réalisation de l'invention, le procédé de décodage est mis en oeuvre par des modules fonctionnels. Pour cela, le dispositif de décodage 200 comprend en outre : 15 - un module d'obtention OBTO pour obtenir au moins deux catégories de modes de prédiction parmi un ensemble de modes de prédiction disponibles pour prédire ledit bloc courant, un bloc prédicteur associé au mode de prédiction disponible, - un module d'élimination ELIMO pour éliminer au moins une catégorie en fonction d'au moins un critère d'élimination, 20 - un module de mise à jour MAJO pour mettre à jour les catégories non éliminées, en supprimant les modes de prédiction communs avec les catégories éliminées, - un module de décodage DC pour décoder à partir du flux de données codées, une information identifiant pour ledit bloc courant, un mode de prédiction parmi les catégories mises à jour, 25 - un module de reconstruction RC pour reconstruire ledit bloc courant à partir du bloc prédicteur associé audit mode de prédiction identifié. L'unité de traitement UTO coopère avec les différents modules fonctionnels décrits ci-dessus et la mémoire MEMO afin de mettre en oeuvre les étapes du procédé de décodage. 3053555 25 Les différents modules fonctionnels décrits ci-dessus peuvent être sous forme matérielle et/ou logicielle. Sous une forme logicielle, un tel module fonctionnel peut comprendre un processeur, une mémoire et des instructions de code de programme pour mettre en oeuvre la fonction correspondante au module lorsque les instructions de code sont exécutées par le processeur. Sous 5 une forme matérielle, un tel module fonctionnel peut mis en oeuvre par tout type de circuits d'encodage adaptés, tels que par exemple et de manière non limitative des microprocesseurs, des processeurs de traitement du signal (DSP pour Digital Signal Processor en anglais), des circuits intégrés spécifiques à des applications (ASICs pour Application Specific Integrated Circuit en anglais), des circuits FPGA pour Field Programmable Gate Arrays en anglais, un câblage d'unités 10 logiques. De façon avantageuse, un tel dispositif 200 peut être intégré à un équipement terminal ET. Le dispositif 200 est alors agencé pour coopérer au moins avec le module suivant du terminal ET : - une mémoire MEM2 dans laquelle sont stockées notamment les catégories de modes de prédiction ; 15 - un module E/R2 d'émission/réception de données, par l'intermédiaire duquel le train binaire STR est reçu d'un réseau de télécommunications, par exemple un réseau filaire ou un réseau hertzien en provenance d'un codeur. Il va de soi que les modes de réalisation qui ont été décrits ci-dessus ont été donnés à titre purement indicatif et nullement limitatif, et que de nombreuses modifications peuvent être 20 facilement apportées par l'homme de l'art sans pour autant sortir du cadre de l'invention. REVENDICATIONS1. Procédé de décodage d'un flux de données codées (STR) représentatif d'au moins une image (Ik), ladite image étant découpée en blocs (b,), un ensemble d'au moins deux modes de prédiction étant disponible pour prédire un bloc, dit bloc courant, caractérisé en ce que ledit procédé comprend les étapes suivantes : - Obtention (E10) d'au moins deux catégories de modes de prédiction à partir de l'ensemble ; - Elimination (E11) d'au moins une catégorie en fonction d'au moins un premier critère d'élimination prédéterminé ; - Mise à jour (E12) des catégories non éliminées par suppression des modes de prédiction communs avec la au moins une catégorie éliminée ; - Décodage (D20) à partir du flux de données d'une information identifiant pour le bloc courant un mode de prédiction parmi les modes des catégories mises à jour. 2. Procédé de codage d'une image sous la forme d'un flux de données codées, ladite image étant divisée en blocs, un ensemble d'au moins deux modes de prédiction étant disponible pour prédire un bloc, dit bloc courant, caractérisé en ce que ledit procédé comprend les étapes suivantes : - Obtention (E10) d'au moins deux catégories de modes de prédiction à partir de l'ensemble ; - Elimination (E11) d'au moins une catégorie en fonction d'au moins un premier critère d'élimination prédéterminé ; - Mise à jour (E12) des catégories non éliminées par suppression des modes de prédiction communs avec la au moins une catégorie éliminée ; - Sélection (E13) d'un mode de prédiction dans une des catégories mises à jour ; - Codage (E14) en fonction des catégories mises à jour d'une information identifiant le mode de prédiction sélectionné, et insertion de l'information codées dans le flux de données codées. 3. Procédé selon l'une des revendications 1 ou 2, caractérisé en ce que l'étape d'obtention comprend une lecture (E101) d'informations d'identification desdites catégories dans une mémoire. 3053555 27 4. 5 5. 10 6. 15 7. Procédé selon l'une des revendications précédentes, caractérisé en ce que l'étape d'obtention comprend une analyse (E102) d'au moins une caractéristique d'un contenu de blocs déjà traités et une création (E103) des catégories à partir d'au moins un critère de regroupement des modes de prédiction et en fonction de la au moins une caractéristique analysée. Procédé selon l'une des revendications précédentes, caractérisé en ce qu'il comprend, pour une catégorie obtenue, une étape de détermination (E121) d'un mode de prédiction représentant cette catégorie et en ce que l'étape d'élimination de la catégorie comprend une élimination (E122) du mode de prédiction représentant, l'élimination de la catégorie étant déclenchée par l'élimination du mode de prédiction le représentant. Procédé selon l'une des revendications 1 à 4, caractérisé en ce que, pour une catégorie obtenue, l'étape d'élimination (E11) de la catégorie comprend l'élimination successive de ses modes de prédiction et la comparaison du nombre de modes de prédiction éliminés dans la catégorie à un seuil prédéterminé, l'élimination de la catégorie étant déclenchée lorsque le nombre de modes éliminés est supérieur au seuil. Procédé selon l'une des revendications 1 à 4, caractérisé en ce qu'il comprend, pour une catégorie obtenue, ladite catégorie étant associée à un critère de regroupement de modes de prédiction, une étape d'analyse du contenu des blocs voisins déjà traités destinée à fournir une caractéristique du contenu et en ce que l'étape d'élimination élimine la catégorie lorsque la caractéristique et le critère de regroupement sont incompatibles entre eux. 20 8. Dispositif (200) de décodage d'un flux de données codées (STR) représentatif d'au moins une image, ladite image étant découpée en blocs, un ensemble d'au moins deux modes de prédiction étant disponible pour prédire un bloc, dit bloc courant, caractérisé en ce que ledit dispositif est configuré pour : - Obtenir au moins deux catégories de modes de prédiction à partir de l'ensemble ; 25 - Eliminer au moins une catégorie en fonction d'au moins un premier critère d'élimination prédéterminé ; - Mettre à jour des catégories non éliminées par suppression des modes de prédiction communs avec la au moins une catégorie éliminée ; et - Décoder à partir du flux de données une information identifiant pour le bloc courant un 30 mode de prédiction parmi les modes des catégories mises à jour. 3053555 28 9. Dispositif (100) de codage d'une image sous la forme d'un flux de données codées, ladite image étant découpée en blocs, un ensemble d'au moins deux modes de prédiction étant disponible pour prédire un bloc, dit bloc courant, caractérisé en ce que le dispositif est configuré pour : 5 - Obtenir au moins deux catégories de modes de prédiction à partir de l'ensemble ; - Eliminer au moins une catégorie en fonction d'au moins un premier critère d'élimination prédéterminé ; - Mettre à jour des catégories non éliminées par suppression des modes de prédiction communs avec la au moins une catégorie éliminée ; 10 - Sélectionner un mode de prédiction dans une des catégories mises à jour ; - Coder en fonction des catégories mises à jour d'une information identifiant le mode de prédiction sélectionné, et insérer l'information codée dans le flux de données codées. 10. Equipement terminal (ET) comprenant un dispositif (100) de codage d'au moins une image en un flux de données codées selon la revendication 9 et un dispositif (200) de décodage d'un 15 flux de données codées selon la revendication 8. 11. Programme d'ordinateur comprenant des instructions pour la mise en oeuvre du procédé selon l'une des revendications 1 à 7, lorsqu'il est exécuté par un processeur.