Brevet FR3068556A1 — publié le 20190104

Procédé de décodage d'une image, procédé de codage, dispositifs, équipement 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 ou à venir (JPEG, MPEG, H.264, HEVC, etc et leurs amendements), et au décodage correspondant. 2. 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 est prédit à partir d'un bloc précédemment codé décodé. Un bloc résidu est obtenu par soustraction des valeurs originales aux valeurs prédites. Il est ensuite transformé à l'aide d'une transformation de type DCT (pour « Discrete Cosinus Transfornn », en anglais) ou ondelettes. Les coefficients transformés sont quantifiés puis leurs amplitudes sont soumises à un codage entropique de type Huffnnann ou arithmétique. Un tel codage obtient des performances efficaces, car, du fait de la transformation, les valeurs des amplitudes à coder sont en grande majorité nulles. En revanche, il ne s'applique pas aux valeurs des signes des coefficients, dont les valeurs + et - sont généralement associées à des probabilités d'apparition équivalentes. Ainsi, les signes des coefficients sont codés par un bit 0 ou 1. On connait de la demande de brevet français publiée sous le numéro FR3023112 le fait de sélectionner les signes des coefficients à prédire dans le bloc courant en fonction d'un score associé à un contexte de codage du coefficient, le score étant représentatif d'un niveau de fiabilité d'une prédiction du signe. Un avantage est qu'on s'assure que pour une grande majorité des signes prédits, l'indicateur de prédiction indiquera une prédiction correcte et procurera ainsi un contexte favorable au codage entropique. De cette manière, les performances de compression sont accrues. 3. Inconvénients de l'art antérieur Un inconvénient de cette méthode est que le codeur entropique utilisé est le même quel que soit la séquence de signes à prédire. 5 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 permette 10 d'améliorer les performances de compression. 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, le procédé de décodage comprenant, pour le bloc courant, les étapes suivantes : 15 - Evaluation d'une pluralité d'hypothèses de valeurs d'au moins un élément de description du bloc courant, par calcul d'une mesure de vraisemblance par hypothèse; - Calcul d'une disparité des mesures de vraisemblance obtenues; - Détermination d'au moins un paramètre d'un décodeur en fonction de la disparité calculée ; - Décodage à l'aide du décodeur déterminé d'une information complémentaire d'identification d'au 20 moins une desdites hypothèses ; et - Identification d'une des hypothèses à l'aide de l'information complémentaire décodée et obtention de la valeur du au moins un élément de description pour le bloc courant, à partir de l'hypothèse identifiée. On entend par élément de description d'un bloc toute information, paramètre ou caractéristique 25 destinée à être codée et transmise dans le flux de données, à partir de laquelle le décodeur peut reconstruire des valeurs de pixels de l'image. Avec l'invention, le décodeur évalue une pluralité d'hypothèses de valeurs d'au moins un élément de description du bloc courant à l'aide d'une mesure de vraisemblance et calcule une disparité de ces mesures. La disparité calculée est exploitée pour déterminer le décodeur entropique à utiliser pour 2 3 décoder une information codée et transmise dans le flux, ladite information étant complémentaire d'au moins une desdites hypothèses. Le codage est ainsi adapté aux statistiques particulières de cette information transmise par le codeur au décodeur, ce qui permet d'améliorer les performances de compression. 5 De façon correspondante, l'invention concerne aussi un procédé de codage d'un flux de données représentatif d'au moins une image, ladite image étant découpée en blocs, caractérisé en ce qu'il comprend les étapes suivantes, mises en oeuvre pour un bloc courant: - Pour une pluralité d'hypothèses de valeurs d'au moins un élément de description du bloc courant, obtention d'une mesure de vraisemblance par hypothèse; 10 - Calcul d'une disparité des mesures de vraisemblance obtenues ; - Détermination d'au moins un paramètre d'un codeur en fonction de la disparité calculée ; - Identification d'au moins une hypothèse et détermination d'une information complémentaire d'identification de ladite au moins une des hypothèses; - Codage de ladite information complémentaire à l'aide du codeur déterminé; et 15 - Insertion de l'information codée dans le flux. Les différents modes de réalisation qui vont maintenant être décrits concernent aussi bien le procédé de décodage que le procédé de décodage. Selon un aspect de l'invention, le au moins un paramètre comprend un contexte associé à un codeur ou décodeur arithmétique adaptatif. 20 Par exemple, il s'agit d'un codeur de type CABAC (pour « Context-adaptive binary arithmetic coding », en anglais). Le contexte de ce codeur correspond par exemple à celui décrit dans l'article Marpe, D., Schwarz, H., and Wiegand, T., Context-Based Adaptive Binary Arithnnetic Coding in the H.264/AVC Video Compression Standard, IEEE Trans. Circuits and Systems for Video Technology, Vol. 13, No. 7, pp. 620-636, July, 2003. 25 Un avantage est de définir un contexte de codage/décodage spécifiquement adapté à l'information complémentaire déterminée pour le bloc courant. Selon un autre aspect de l'invention, le au moins un paramètre comprend une probabilité associée à l'information complémentaire. 4 Avantageusement, cette probabilité est utilisée pour initialiser le contexte CABAC servant à coder/décoder l'information complémentaire déterminée pour le bloc courant. Selon encore un autre aspect, le paramètre comprend un identifiant d'un codeur ou décodeur prédéterminé. 5 Un avantage est que le codeur respectivement le décodeur peut ainsi exécuter le codeur/décodeur le mieux adapté à l'information complémentaire. Selon encore un autre aspect de l'invention, le procédé comprend une étape de classement des hypothèses selon un ordre de vraisemblance décroissante, l'information complémentaire comprend 10 un rang dans le classement et la valeur du au moins un élément de description correspond à l'hypothèse classée audit rang. Dans ce mode de réalisation de l'invention, l'information complémentaire permet d'identifier l'hypothèse de combinaisons de valeurs qui correspond à l'élément de description. L'invention exploite la disparité des mesures de vraisemblance des différentes hypothèses pour 15 déterminer le codeur/décodeur le plus adapté à l'information de rang. Un avantage de ce mode de réalisation est que l'information complémentaire est de beaucoup plus petite taille que l'élément de description, ce qui permet de réaliser un gain substantiel en compression. Selon encore un autre aspect, le procédé comprend en outre une étape de prédiction de la valeur 20 du au moins un élément de description par sélection de l'hypothèse de valeur associée à la mesure de vraisemblance la plus élevée, dite valeur prédite et l'information complémentaire comprend une différence entre la valeur prédite et la valeur de l'élément de description, dite valeur résidu. Dans ce mode de réalisation, le décodeur reproduit le fonctionnement du codeur pour déterminer la meilleure hypothèse au sens d'un critère de vraisemblance. Il décode ensuite l'information 25 complémentaire qui représente la différence de valeur entre l'hypothèse choisie et la vraie valeur de l'élément de description. Ce mode de réalisation est notamment bien adapté à la prédiction de signes, pour laquelle la valeur résidu est de petite taille et présente des valeurs de distribution non uniforme. Selon un autre aspect de l'invention, le procédé évalue une pluralité d'hypothèses d'une séquence 30 d'au moins deux éléments de description, pour le premier élément de la séquence, il calcule une disparité des mesures de vraisemblance obtenues pour la pluralité d'hypothèses de la séquence et 5 obtient la valeur du premier élément de description de la séquence, à partir de celle de l'hypothèse identifiée. Avantageusement, une fois le premier élément traité, il est supprimé de la séquence et les étapes du procédé sont répétées pour le deuxième élément, devenu premier élément de la nouvelle 5 séquence. L'invention concerne également un dispositif 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 pourra bien sûr comporter les différentes caractéristiques relatives au procédé selon l'invention. Ainsi, les caractéristiques et avantages de ce dispositif sont les mêmes que ceux du procédé de 10 décodage, et ne sont pas détaillés plus amplement. Selon un mode particulier de réalisation de l'invention, un tel dispositif est compris dans un équipement terminal. L'invention concerne également un dispositif 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 dispositif 15 pourra bien sûr comporter les différentes caractéristiques relatives au procédé selon l'invention. Ainsi, les caractéristiques et avantages de ce dispositif 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 est compris dans un équipement terminal. 20 L'invention concerne aussi un équipement terminal d'utilisateur comprenant un dispositif de décodage d'au moins une image et/ou un dispositif de codage d'au moins une image selon l'invention. L'invention concerne aussi un programme d'ordinateur comportant des instructions pour la mise en oeuvre des étapes d'un procédé de codage d'au moins une image tel que décrit précédemment, lorsque ce programme est exécuté par un processeur. 25 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'au moins une image 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 30 ordinateur. 6 L'invention se rapporte enfin à des supports d'enregistrement, lisibles par un processeur, intégrés ou non au dispositif de codage respectivement de décodage d'au moins une image selon l'invention, éventuellement amovible, mémorisant un programme d'ordinateur mettant en oeuvre un procédé de codage respectivement de décodage, tel que décrit 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 : 10 - la figure 1 illustre de façon schématique une séquence d'images découpées en blocs ; - la figure 2 décrit les étapes d'un procédé de codage d'une image selon l'invention ; - la figure 3 détaille une étape de traitement, destinée à fournir un ensemble d'éléments de description du bloc courant à coder; - la figure 4 décrit les étapes d'un procédé de décodage d'une image selon l'invention ; 15 - la figure 5 décrit les étapes d'un procédé de codage d'une image selon un premier mode de réalisation de l'invention ; la figure 6 illustre de façon schématique un exemple de mesure de coût calculée pour évaluer une mesure de vraisemblance associée à une hypothèse pour le bloc courant selon le premier mode de réalisation de l'invention ; 20 - la figure 7 décrit les étapes d'un procédé de codage d'une image selon une variante du premier mode de réalisation de l'invention ; - la figure 8 décrit les étapes d'un procédé de décodage d'une image selon le premier mode de réalisation de l'invention ; - la figure 9 décrit les étapes d'un procédé de décodage d'une image selon une variante du 25 premier mode de réalisation de l'invention ; - la figure 10 décrit les étapes d'un procédé de codage d'une image selon le deuxième mode de réalisation de l'invention ; - les figures 11, 12 et 13 illustrent de façon schématique l'étape de décodage d'un bloc courant à partir d'une hypothèse de valeur de séquence d'éléments binaires et de données 30 codées de la première portion de flux selon le deuxième mode de réalisation de l'invention; 7 la figure 14 illustre de façon schématique un exemple de mesure de coût calculée pour évaluer une mesure de vraisemblance associée à une hypothèse pour le bloc courant selon le deuxième mode de réalisation de l'invention ; la figure 15 illustre de façon schématique une étape de lecture de données codées dans la 5 première et la deuxième portion de flux à l'aide d'un premier et d'un deuxième pointeurs selon le deuxième mode de réalisation de l'invention ; - la figure 16 décrit les étapes d'un procédé de décodage d'une image selon le deuxième mode de réalisation de l'invention ; - la figure 17 illustre de façon schématique un exemple de structure d'un flux de données 10 comprenant une première et une deuxième portions de flux selon l'invention ; - la figure 18 illustre de façon schématique un exemple de structure matérielle d'un dispositif de codage l'invention ; et - la figure 19 illustre de façon schématique un exemple de structure matérielle d'un dispositif de décodage l'invention. 15 7. Description d'un mode de réalisation particulier de l'invention Le principe général de l'invention repose sur l'évaluation d'hypothèses de valeurs d'une séquence d'éléments binaires représentative d'au moins une partie d'un élément de description du bloc courant, basée sur le calcul d'une mesure de vraisemblance, et sur l'exploitation d'une disparité des mesures calculées pour adapter le codage/décodage entropique d'informations complémentaires 20 d'identification de cette séquence. En relation avec la Figure 1, on considère une vidéo originale constituée d'une suite de M images Il, 12, ...IM, avec M entier non nul. 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 25 les données codées, puis reçues et 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 Il, puis 12, ..., puis IM, cet ordre pouvant différer suivant le mode de réalisation. Lors de l'encodage d'une image Im, avec m entier compris entre 1 et M, celle-ci est subdivisée en blocs de taille maximale qui peuvent à leur tour être subdivisés en blocs plus petits. Chaque bloc 30 C va subir une opération d'encodage ou de décodage consistant en une suite d'opérations, 8 comprenant de manière non exhaustive une prédiction, un calcul de résidu du bloc courant, une transformation des pixels du bloc courant en coefficients, une quantification des coefficients et un codage entropique des coefficients quantifiés. Cette suite d'opérations sera détaillée par la suite. Les étapes du procédé de codage d'une image Im selon l'invention vont maintenant être 5 décrites en relation avec la Figure 2. En E0, 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 NxN pixels. Au cours d'une étape El, on traite un bloc C courant en mettant en oeuvre un schéma de codage, par exemple tel que spécifié dans la norme HEVC, dans le document "ISO/IEC 23008-2:2013 10 - High efficiency coding and media delivery in heterogeneous environnnents -- Part 2: High efficiency video coding », International Organization for Standardization, publié en novembre 2013. Cette étape de traitement est destinée à fournir un ensemble d'éléments de description ED des données à coder pour le bloc courant C. Ces éléments de description peuvent être de types variés. De façon non exhaustive, ils comprennent notamment : 15 les informations relatives à des choix de codage du bloc courant C, par exemple un mode de codage du bloc courant, tel que le mode INTRA, INTER ou SKIP, un mode de prédiction du bloc courant, parmi les 35 modes de prédiction d'un bloc INTRA, un mode de prédiction d'un vecteur mouvement estimé pour le bloc courant, ou encore la signifiance d'une amplitude d'un coefficient , connus en soi dans HEVC; 20 - les valeurs de données à coder, telles que les composantes d'un vecteur mouvement, l'amplitude ou le signe d'un coefficient ; On suppose qu'il existe L découpes en blocs possibles numérotées de 1 à L, et que la découpe utilisée sur le bloc C est la découpe numéro I. Par exemple, il peut y avoir 4 découpes possibles, en blocs de taille 4x4, 8x8, 16x16, et 32x32. 25 En relation avec la Figure 3, on détaille préalablement un exemple de sous-étapes mises en oeuvre par ce traitement El du bloc courant C sélectionné, conformément à la norme HEVC. Au cours d'une étape E11, on détermine une prédiction P du bloc original C. 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) dans le cas d'une prédiction dite INTER, ou 30 par prédiction INTRA (bloc construit à partir des pixels décodés immédiatement adjacents au bloc courant dans l'image ID). Les informations de prédiction liées à P sont codées dans le train binaire 9 TB ou fichier compressé FC. On suppose ici qu'il y a K modes de prédiction possibles M1, m avec K entier non nul, et que le mode de prédiction choisi pour le bloc C est le mode Mk. Au cours d'une étape E12, un résidu original R est formé, par soustraction R = C-P de la prédiction P du bloc courant C au bloc courant C. 5 Au cours d'une étape E13, le résidu R est transformé en un bloc résidu transformé, appelé RT, par une transformée de type DCT ou transformée en ondelettes, toutes les deux connues de l'homme de métier et notamment mises en oeuvre dans les normes JPEG pour la DCT et JPEG2000 pour la transformée en ondelettes. En E14, le résidu transformé RT est quantifié par des moyens classiques de quantification, 10 par exemple scalaire ou vectorielle, en un bloc résidu quantifié RQ. Ce bloc quantifié RQ contient NxN coefficients. 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 nnonodinnensionnel RQ[i], où l'indice i varie de 0 à N2-1. L'indice i est appelé fréquence du coefficient RQ[i]. Classiquement, on scanne ces coefficients par ordre croissant de fréquence, par exemple selon un parcours en zigzag, qui est connu de la 15 norme de codage d'image fixes JPEG. A l'issue de l'étape E14, on dispose donc pour le bloc courant C d'un ensemble E d'éléments de description de données à coder, parmi lesquels on compte les coefficients résidus transformés quantifiés RQ[i] , les signes de ces coefficients, le mode de prédiction Mk etc Lors d'une étape E15, on vient coder les informations d'amplitude des coefficients du bloc 20 résidu RQ par codage entropique. Le codage entropique consiste à exploiter la distribution des éléments de syntaxe pour en réduire le débit. Par exemple, pour un élément de syntaxe prenant de multiples valeurs possibles, on attribuera un code binaire court aux valeurs fréquentes et un code binaire long aux valeurs rares. Ceci permet de réduire, en moyenne, le nombre de bits nécessaires au codage de ces valeurs. Le code Morse est un exemple de code entropique adapté à la statistique 25 des lettres (qui constituent dans ce cas les éléments de syntaxe) dans la langue anglaise. Le code de Huffnnan est une technique pour construire un code binaire adapté à une statistique donnée, avec pour principe que chaque élément de syntaxe est codé par un nombre entier de bits. Le codage arithmétique permet quant à lui de nnutualiser des bits entre plusieurs éléments de syntaxe, et ainsi de coder un élément de syntaxe sur un nombre non entier de bits. 30 Par amplitude, on entend ici la valeur absolue du coefficient. Des moyens de codage des amplitudes sont par exemple décrits dans la norme HEVC et dans l'article de Sole et al, intitulé « Transfornn Coefficient Coding in HEVC », publié dans la revue IEEE Transactions on Circuits and 10 Systems for Video Technology, Volume 22, Issue: 12, pp. 1765 - 1777, en décembre 2012. Classiquement, on peut coder pour chaque coefficient 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. 5 On suppose que tous les éléments de description du bloc courant ne sont pas codés à ce stade et qu'il reste un ensemble de N éléments de description restant à coder. Par exemple, on ne code pas les signes des coefficients. En E2, on obtient une séquence de M éléments de description dans cet ensemble, avec M entier non nul, M inférieur ou égal à N, représentative d'une partie, d'un ou de plusieurs éléments de description 10 du bloc courant issus de cet ensemble E. En E3, on considère la pluralité d'hypothèses de valeurs possibles pour la séquence de M éléments binaires obtenue. On les évalue en calculant une mesure de vraisemblance par hypothèse. En E4, on calcule une disparité des mesures de vraisemblances obtenues et on détermine en E5 au moins un paramètre d'un codeur entropique en fonction de la disparité calculée. 15 En E6, on détermine une information complémentaire d'identification d'au moins une hypothèse de la pluralité d'hypothèses ; En E7, on code ladite information complémentaire à l'aide du codeur déterminé et on insère l'information codée dans le flux. En E8, on reconstruit le bloc courant C. 20 En E9, on insère les données codées pour le bloc C dans le train binaire et on teste en El0 s'il reste un bloc C à traiter. Si oui, on répète les étapes El à E10. Sinon on a terminé le traitement. Le train binaire TB produit par le procédé selon l'invention est destiné à être présenté en entrée d'un décodeur, local ou distant. Par exemple, un signal portant le train binaire est transmis au décodeur par l'intermédiaire d'un réseau de communication. 25 En relation avec la Figure 4, on décrit les étapes d'un procédé de décodage selon l'invention. En DO, on sélectionne un bloc courant C' à décoder. 11 En D1, on traite le bloc C' courant en mettant en oeuvre le schéma de décodage, correspondant au schéma de codage utilisé par l'encodeur, par exemple tel que spécifié dans la norme HEVC. En particulier, au cours de cette étape, on identifie un ensemble d'éléments ED de description des données à décoder pour le bloc courant C'. 5 En D2, on sélectionne dans cet ensemble au moins un élément de description du bloc courant. En D3, on évalue une pluralité d'hypothèses de valeurs du au moins un élément de description sélectionné sur la base d'une mesure de vraisemblance par hypothèse; En D4, on calcule une disparité des mesures de vraisemblance obtenues; En D5, on détermine au moins un paramètre d'un décodeur en fonction de la disparité DV calculée ; 10 En D6, on décode l'aide du décodeur déterminé une information représentative d'une valeur du au moins un élément de description; En D7, on obtient la valeur du au moins un élément de description pour le bloc courant, à partir d'une des hypothèses testées, des mesures de vraisemblance obtenues et de l'information décodée. En D8, on reconstruit le bloc à l'aide de la valeur du au moins un élément de description. 15 En D9, on teste s'il reste des blocs à décoder dans l'image. Si c'est le cas, on répète les étapes DO à D9. 7.1 Description d'un premier mode de réalisation de l'invention 7.1.1 Procédé de codage selon le premier mode de réalisation de l'invention Dans l'exemple de réalisation de l'invention qui va être maintenant détaillé en relation avec 20 la Figure 5, on considère des éléments de description d'un type particulier, par exemple des signes de coefficients transformés et quantifiés du bloc courant RQ. Bien sûr, l'invention n'est pas limitée à ce type d'éléments et s'applique à tout autre élément de description du bloc courant. D'autres exemples seront présentés ci-après. Au cours d'une étape E2 on sélectionne une séquence d'éléments de description du bloc courant à 25 prédire SEP. Par exemple, on commence par définir un sous-ensemble initial d'éléments de description à prédire. Par exemple il s'agit de tous les signes des coefficients résidus transformés quantifiés RQ[i] non nuls du bloc courant. 12 De façon avantageuse, on exploite la connaissance d'un contexte Cx; associé à chaque coefficient parmi une pluralité 3 de contextes prédéterminés, avec 3 entier non nul et j entier compris entre 1 et J. Un tel contexte est défini par au moins une caractéristique du coefficient ou du bloc dont il est issu. 5 De façon avantageuse, on considère les caractéristiques suivantes : la taille du bloc résidu quantifié RQ, l'amplitude du coefficient quantifié RQ[i], la fréquence du coefficient ou indice i dans le bloc RQ, le mode de prédiction du bloc courant Mk parmi les K modes possibles. 10 En effet, la prédiction du signe est d'autant plus fiable que l'amplitude est élevée. De même, il a été constaté que lorsque le bloc est de taille plus grande, la fréquence du coefficient plus faible, la prédiction est plus fiable. Enfin, il a été constaté que la prédiction est plus fiable lorsque le bloc courant est associé à une prédiction intra d'un certain type. 15 De façon alternative, d'autres contextes sont envisageables. Ainsi, il est possible de tenir compte du type d'image dans lequel se trouve le bloc courant, par exemple du type Intra ou Inter, connu de la norme HEVC, en fonction de l'énergie du prédicteur P, ou encore en fonction du nombre total de coefficients non nuls dans le bloc courant. Ensuite, on sélectionne les signes des coefficients du bloc RQ de l'ensemble initial, en fonction 20 d'un score prédéterminé Si, pour le contexte Cx; associé au coefficient RQ[i] considéré. Un tel score Sj est représentatif d'un niveau de fiabilité de la prédiction du signe du coefficient RQ[i]. Par exemple, le score S; prend des valeurs dans un ensemble prédéterminé, par exemple de 0 à 10. Selon une variante, le score est une simple indication binaire, dont l'une des deux valeurs 25 indique que le signe peut être prédit, et l'autre que le signe ne peut pas être prédit. Selon une autre variante, les scores Si correspondent à des probabilités connues a priori, dépendantes du contexte Cxj associé au coefficient RQ[i]. On dispose, dans l'encodeur, d'un ensemble de probabilités de détection correcte des signes des coefficients RQ. Par exemple cet ensemble de probabilités est stocké en mémoire. 30 Ces probabilités ont été construites avant l'encodage et le décodage, soit par accumulation statistique sur un ensemble de signaux représentatifs des signaux à coder, soit par calcul 13 mathématique à partir d'hypothèses sur la distribution des signes des coefficients. Pour un coefficient RQ[i] associé au contexte CxJ, on peut donc obtenir le score S[i] en calculant la probabilité p[1][nnk][i][IRQD11] de prédiction correcte du signe du coefficient RQ[i]. Avantageusement, les signes à prédire sont sélectionnés par seuillage des scores auxquels 5 ils sont associés. Ainsi, pour chaque coefficient RQ[i] qui a un signe (c'est-à-dire, qui n'est pas nul) et qui est associé à un contexte Cx; de score Si, on prédit le signe si et seulement si Si>Th, où Th est un seuil prédéterminé, par exemple égal à 0,7. Par exemple, le seuil Th est connu du codeur et du décodeur. Selon une variante, le seuil Th peut être choisi en cours de codage et inscrit dans le fichier 10 compressé ou dans le train binaire comprenant les données codées représentatives de l'image numérique Im. Par exemple, si l'unité qui effectue l'encodage ne dispose pas d'assez de ressources de calcul à un moment donné, il lui est possible d'augmenter ce seuil Th de façon à prédire moins de signes, et donc mettre en oeuvre moins de calculs. Il serait également possible de faire varier le seuil Th en fonction du contenu des images à 15 coder : une image comportant beaucoup de contenu, tel que des variations de luminosité importantes ou des mouvements nombreux utiliserait un seuil élevé, et une image comportant peu de contenu tel que des variations de luminosité faibles ou mouvements peu nombreux, utiliserait un seuil Th plus bas, de façon à lisser la complexité ou la mémoire nécessaire au codage de chaque image. A l'issue de cette sélection, les signes des coefficients RQ[i] sélectionnés sont tous associés 20 à un contexte Cx; et à un score Si supérieur au seuil Th prédéterminé et forment un ensemble SE d'éléments EP de description à prédire. Avantageusement, on ordonne les éléments de description à prédire EP en une séquence SEP. Cet ordre peut être prédéfini, et par exemple correspondre à l'ordre de balayage (Pour « scanning », en anglais) des signes, tel que défini dans la norme HEVC. De façon 25 préférentielle, on les ordonne en fonction de leur score associé. Par exemple si le score utilisé est représentatif d'une probabilité de prédiction correcte, on ordonne les éléments par score décroissant. On obtient une séquence Sec]; dite initiale, d'éléments de description à prédire. Supposons que l'on dispose à ce stade de M signes ordonnés à prédire Seq = { EPo-so, Au cours d'une étape E10, on encode de façon classique les éléments de description ENP qui 30 n'appartiennent pas au sous-ensemble SE sélectionné. Cette étape met en oeuvre des techniques de codage connues de l'homme de métier. Pour les signes des coefficients RQ[i] par exemple, il est connu notamment de la norme HEVC, en particulier de l'article de Sole et al., déjà cité, le fait de 14 transmettre chaque signe sous forme d'un élément binaire 0 ou 1, avec une convention associant l'un au signe plus et l'autre au signe moins. En E3, on évalue les différentes possibilités ou hypothèses de combinaisons de valeurs de la séquence SEP d'éléments à prédire, à l'aide d'une fonction de vraisemblance V prédéterminée qui 5 peut être aussi considérée comme l'inverse d'une fonction de coût CT. On suppose qu'on a K hypothèses Hk ou combinaisons possibles, avec K entier non nul. Dans le cas où les éléments de description à prédire sont les M signes Sm d'une séquence, un signe pouvant prendre la valeur + ou la valeur -, le nombre de combinaisons possibles est K =2m. Par exemple, pour une hypothèse donnée cette fonction produit un coût, par exemple : 10 FV({s0 = -,s1=+,s2=-,s3=-,...,sM-1-+) = CT = 4240 Ici, l'hypothèse Hk est {-,+,-,-,...,+} et le coût résultant est 4240. Bien sûr, la fonction de vraisemblance doit faire en sorte de générer un coût minimal lorsque l'hypothèse de signes est la plus vraisemblable. Il existe plusieurs fonctions FV de vraisemblance/coût connues de l'état de l'art et présentées dans l'article de Koyanna et al, [CITER REF]. 15 De façon avantageuse, on utilise une fonction de vraisemblance qui consiste à mesurer la distorsion le long de frontières gauche FG et supérieure FS du bloc courant avec des blocs précédemment traités. En relation avec la Figure 6, on a représenté une image décodée ID et un bloc décodé virtuel DVs de taille NxN pixels de cette image avec l'hypothèse de combinaison de signes dont on veut mesurer la vraisemblance ou le coût. DVs(lin,col) est la valeur du pixel du bloc 20 DVs situé sur la ligne lin et la colonne col du bloc. On considère un opérateur « Side Matching » SM(,B)), avec',à' image courante et C bloc courant. Il est défini comme suit : N-1 N-1 SM(Z5, C) = a) - (lin - 1, col + a))2 + (C (a, 0) - (lin + a, col - 1))2 a=0 a=0 25 avec C(i,j) la valeur des coefficients dans le bloc décodé virtuel DVs, avec i, j entiers compris entre 0 et N-1. Sur la figure 6 on a représenté les pixels situés le long de la frontière gauche FG dont les valeurs sont de bas en haut yi à ya et situés les pixels situés le long de la frontière supérieure FS du bloc décodé virtuel DVs dont les valeurs sont de gauche à droite ya à y7, ainsi que les pixels xi à x4 30 et x4 à x8 respectivement situés de l'autre côté des frontières FG et FS. 15 Appliquer cet opérateur revient à former la somme (xi-y)2+ (x2-y2)2 (x3-y3 ) 2 _L (x-y4)2 (X5-y4)2+ (x5-y5)2 (x7-y6)2 (x8-y7)2 - On détermine le bloc décodé virtuel optimal DVopt qui minimise cette mesure : DI10pt = ar gminDvsS M (ID, DI1s) 5 où ID représente l'image reconstruite après décodage. Alternativement, la fonction de vraisemblance utilisée minimise l'erreur avec un bloc prédicteur P du bloc courant. Cela consiste à sélectionner le bloc décodé virtuel qui minimise l'erreur avec le prédicteur P. Le résidu virtuel associé au bloc décodé virtuel optimal est ainsi identifié. 10 Bien sûr, on pourrait recourir à d'autres fonctions de vraisemblance ou de coût, tels que par exemple un critère de minimisation d'une mesure de distance/proximité à une valeur prédéterminée, par exemple moyenne ou la minimisation de l'énergie du bloc résidu. Pour générer un bloc courant décodé correspondant à une hypothèse de signes Hk, on procède de la façon suivante : 15 on attribue à chaque coefficient du bloc résidu courant son signe réel (s'il s'agit d'un coefficient dont le signe n'est pas prédit), ou l'hypothèse de signe (s'il s'agit d'un coefficient dont le signe est à prédire). à l'aide des moyens classiques de déquantification et de transformée inverse, on obtient un bloc de résidu décodé, dont les échantillons {r1,r2,...,r7} voisins des bloc précédemment 20 décodés sont ajoutés aux éléments prédits correspondants du bloc P pour former les éléments reconstruits y1 = r1 +p1,y2 = p2 + r2, y7=p7+r7 du bloc décodé virtuel DV, comme indiqué sur la figure 6. Le bloc décodé virtuel obtenu DV est utilisé pour calculer le coût CTk associé à l'hypothèse de combinaison Hk évaluée. 25 Dans la suite, on considère que la séquence initiale SEPi-{so,s1,s2} compte 3 signes à prédire. On suppose que les valeurs réelles de la séquence initiale sont so = -, 5i = + et s2 On évalue donc les coûts CTk des 8 hypothèses suivantes : CTo-FV({+,+,+}) CT1=FV({+,+,-}) 30 CT2=FV({+,-,+}) CT3=FV({+,-,-}) CT4=FV({-,+,+}) 16 CT5=FV({-,+,-}) CT6=FV({-,-,+}) CT7=FV({-,-,-}) On identifie la combinaison H2 associée au coût minimal CT2 donc à la vraisemblance 5 maximale Vz. En E4, on prédit la séquence d'éléments de prédiction SEP à l'aide de la combinaison H2 identifiée. En E5, on dérive une valeur d'un indicateur de prédiction IP correspondant. Dans ce mode de réalisation, on détermine un indicateur de prédiction par élément binaire de la séquence SEB. 10 Pour ce faire, on compare la valeur prédite H2 à la valeur réelle de la séquence SEB. Par exemple, pour le premier signe sO, l'indicateur IPO indique si le signe prédit pour sO est égal à ou différent du signe réel. Par exemple, il vaut 0 si le signe prédit et le signe réel sont égaux, 1 sinon. En l'espèce, la valeur prédite est un +, la valeur réelle un -, donc l'indicateur IP du premier signe sO est fixé à 1. On réalise la même opération pour les autres signes de la séquence. On obtient ainsi une séquence 15 de M indicateurs de prédiction, ou séquence de résidus de signes. Il s'agit maintenant de coder la séquence d'indicateurs de prédiction obtenue. Pour ce faire on utilise classiquement un codeur entropique, par exemple un codeur de Huffnnan, un codeur arithmétique, un codeur CABAC tel qu'utilisé dans la norme HEVC. En effet, du fait que la prédiction est réalisée avec une probabilité de réussite supérieure à un seuil (dans le mode 20 de réalisation préféré), il y a plus souvent des 1 que des O. Ceci est mis à profit par le codage entropique pour réduire la taille du signal compressé. En général, le codeur entropique utilise un paramètre de codage représentatif d'une densité de probabilité associée à l'élément à coder. Ainsi, si l'élément à coder est binaire, on n'utilisera pas le même codeur entropique si les deux valeurs de l'élément binaire ont une probabilité d'apparition 25 de 0.9 et 0.1 respectivement, ou de 0.6 et 0.4 respectivement. On notera qu'il est possible d'utiliser pour ces deux cas, soit deux codeur entropiques différents (par exemple, deux codes de Huffnnan différents), soit un même codeur entropique parannétré de deux façons différentes (dans le cas d'un codeur entropique qui soit paramétrable, comme par exemple le codeur entropique CABAC, pour lequel on utilisera deux contextes différents). 30 En E6, on évalue une mesure de disparité DV des valeurs de vraisemblance. D'une façon générale, une mesure de disparité est une mesure qui est d'autant plus grande que les valeurs de vraisemblance sont différentes entre elles. Ainsi, il est par exemple possible d'utiliser comme mesure de disparité : -la variance des valeurs de vraisemblance ; 17 -l'écart-type des valeurs de vraisemblance ; -la valeur absolue de la différence entre la plus grande et la plus petite des valeurs de vraisemblance ; -la moyenne de la valeur absolue des différences entre les valeurs de vraisemblance et leur moyenne ; ou 5 -l'entropie des valeurs de vraisemblance. Selon l'invention, en E7, on détermine au moins un paramètre p de codage en fonction de la disparité DV évaluée. Selon ce mode de réalisation de l'invention, le paramètre p est calculé de la façon suivate : 10 M=nnax(V(+),V(-)) nn=nnin(V(+),V(-)) p=0.5+0.5*(1-nn/M). où V(+) désigne la vraisemblance du signe + pour la séquence d'éléments binaires courante, V(-) la séquence du signe -. 15 Avantageusement, lorsque le codeur entropique est de type CABAC, p est la probabilité utilisée pour initialiser le contexte CABAC servant à coder l'information IP associée à chaque signe de la séquence SEB. Selon une variante, la probabilité utilisée pour coder entropiquennent l'information est dépendante de l'intervalle prédéterminé dans lequel se trouve une valeur dépendante de V(+) et V(- 20 ). Ainsi, on calcule le ratio R=M/nn. En fonction de ce ratio, on définit préalablement la probabilité avec laquelle coder l'information, comme suit : R - proba Table : 1 Selon le deuxième mode de réalisation, le dispositif 100 est configuré pour classer les hypothèses selon un ordre de vraisemblance décroissante et pour déterminer l'information à coder comme un rang dans le classement. Le dispositif 100 comprend en outre une unité BD1 de stockage des mesures de 5 vraisemblance obtenues, des disparités calculées et des paramètres de codage déterminés. Ces unités sont pilotées par le processeur p..1 de l'unité de traitement 110. En relation avec la figure 17, on présente maintenant un exemple de structure simplifiée d'un dispositif 200 de décodage d'une image numérique selon l'invention. Le dispositif 200 met en oeuvre le procédé de décodage selon l'invention qui vient d'être décrit dans ses différents modes de 10 réalisation. Par exemple, le dispositif 200 comprend une unité de traitement 210, équipée d'un processeur p2, et pilotée par un programme d'ordinateur Pg2 220, stocké dans une mémoire 230 et mettant en oeuvre le procédé de selon l'invention. A l'initialisation, les instructions de code du programme d'ordinateur Pgi 220 sont par 15 exemple chargées dans une mémoire RAM avant d'être exécutées par le processeur de l'unité de traitement 210. Le processeur de l'unité de traitement 210 met en oeuvre les étapes du procédé décrit précédemment, selon les instructions du programme d'ordinateur 220. Dans cet exemple de réalisation de l'invention, le dispositif 200 comprend une machine de calcul dédiée à ou configurée pour : 20 - Evaluer (EVAL) une pluralité d'hypothèses de valeurs d'au moins un élément de description du bloc courant par calcul d'une mesure de vraisemblance par hypothèse; - Calculer (CALC DV) une disparité des mesures de vraisemblance obtenues ; - Déterminer (DET p) au moins un paramètre d'un codeur en fonction de la disparité calculée ; - Décoder (DEC IC) une information complémentaire d'identification d'au moins une desdites 25 hypothèses ; - Obtenir la valeur du au moins un élément de description pour le bloc courant à partir de la au moins une hypothèse identifiée. Avantageusement, selon le premier mode de réalisation de l'invention, le dispositif 100 est configuré pour prédire le au moins un élément de description par sélection de l'hypothèse de valeur associée 30 à la mesure de vraisemblance la plus élevée, dite valeur prédite, pour déterminer l'information 41 comme une différence entre la valeur prédite et la valeur de l'élément de description, dite valeur résidu, et pour reconstruire le bloc par correction de la valeur prédite à l'aide de la valeur résidu. Selon le deuxième mode de réalisation, le dispositif 200 est configuré pour classer les hypothèses selon un ordre de vraisemblance décroissante, pour interpréter l'information décodée comme un rang 5 dans le classement, pour identifier l'hypothèse associée audit rang et pour déterminer la valeur du au moins un élément de description comme celle de l'hypothèse identifiée. Le dispositif 200 comprend en outre une unité BD2 de stockage des mesures de vraisemblance obtenues, des disparités calculées et des paramètres de décodage déterminés. Ces unités sont pilotées par le processeur p.2 de l'unité de traitement 210. 10 De façon avantageuse, les dispositifs 100 et 200 peuvent être intégré à un terminal d'utilisateur TU. Ils sont alors agencés pour coopérer au moins avec les modules suivants du terminal TU : - un module E/R d'émission/réception de données, par l'intermédiaire duquel le train binaire TB ou le fichier compressé FC est transmis dans un réseau de télécommunications, par exemple un réseau filaire ou un réseau hertzien, respectivement reçu ; 15 - un module d'affichage DISP des images décodées. Grâce à ses bonnes performances, et notamment un gain en compression de l'ordre de 1 °/0, l'invention qui vient d'être décrite dans ses différents modes de réalisation s'applique à tout schéma de compression vidéo par bloc. En particulier, les procédés de codage et de décodage décrits 20 précédemment peuvent être intégrés dans des codeurs/décodeurs vidéo standards tels que H.266, HEVC/H.265, AVC/H.264 ou d'une future norme Post-HEVC, ou encore dans tout type de codeurs/décodeurs vidéo propriétaires. Les procédés de codage et de décodage selon l'invention s'appliquent également à tous types de codeurs/décodeurs d'images fixes. Il va de soi que les modes de réalisation qui ont été décrits ci-dessus ont été donnés à titre 25 purement indicatif et nullement limitatif, et que de nombreuses modifications peuvent être 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 représentatif d'au moins une image (Ini), ladite image étant découpée en blocs, caractérisé en ce que le procédé de décodage comprend, pour un bloc courant, les étapes suivantes : - Evaluation (D3) d'une pluralité d'hypothèses de valeurs d'au moins un élément de description du bloc courant, par calcul d'une mesure de vraisemblance (V) par hypothèse; - Calcul (D4) d'une disparité (DV) des mesures de vraisemblance obtenues; - Détermination (D5) d'au moins un paramètre (p) d'un décodeur en fonction de la disparité calculée (DV); - Décodage (D6) à l'aide du décodeur déterminé d'une information complémentaire d'identification (IC) d'au moins une desdites hypothèses ; et - Identification (D7) d'au moins une des hypothèses à l'aide de l'information complémentaire décodée et obtention de la valeur du au moins un élément de description pour le bloc courant, à partir de la au moins une hypothèse identifiée. Procédé de codage d'un flux de données représentatif d'au moins une image (Im), ladite image étant découpée en blocs, caractérisé en ce qu'il comprend les étapes suivantes, mises en oeuvre pour un bloc courant: - Evaluation (E3) d'une pluralité d'hypothèses de valeurs d'au moins un élément de description du bloc courant, par calcul d'une mesure de vraisemblance (V) par hypothèse; - Calcul (E4) d'une disparité (DV) des mesures de vraisemblance obtenues ; - Détermination (E5) d'au moins un paramètre (p) d'un codeur en fonction de la disparité (DV) calculée ; - Identification d'au moins une hypothèse et détermination (E6) d'une information complémentaire d'identification de ladite au moins une des hypothèses; - Codage (E7) de ladite information complémentaire à l'aide du codeur déterminé; et - Insertion (E9) de l'information codée dans le flux. Procédé selon l'une des revendications 1 ou 2, caractérisé en ce que le au moins un paramètre comprend un contexte associé à un codeur respectivement décodeur arithmétique binaire adaptatif. Procédé selon l'une des revendications 1 ou 2, caractérisé en ce que le au moins un paramètre comprend une probabilité associée à l'information complémentaire. 422. 25 3. 30 4. e. - 43 Procédé selon l'une des revendications 1 ou 2, caractérisé en ce que le au moins un paramètre comprend un identifiant d'un codeur respectivement décodeur prédéterminé. 6. Procédé selon l'une des revendications précédentes, caractérisé en ce qu'il comprend une étape de classement (C2', D2) des hypothèses selon un ordre de vraisemblance décroissante, 5 en ce que l'information complémentaire (IC) comprend un rang dans le classement et en ce que la valeur du au moins un élément de description correspond à l'hypothèse classée audit rang. 7. Procédé selon l'une des revendications 1 à 5, caractérisé en ce qu'il comprend en outre une étape de prédiction (E4, E34', DS, D53') de la valeur du au moins un élément de description par sélection de l'hypothèse de valeur associée à la mesure de vraisemblance la plus élevée, dite 10 valeur prédite et en ce que l'information complémentaire comprend une différence entre la valeur prédite et la valeur de l'élément de description, dite valeur résidu. Procédé selon la revendication 6, caractérisé en ce qu'il évalue (D5') une pluralité d'hypothèses d'une séquence d'au moins deux éléments de description, en ce que pour le premier élément de la séquence, il calcule une disparité des mesures de vraisemblance obtenues pour la pluralité 15 d'hypothèses de la séquence et en ce que la valeur du premier élément de description de la séquence correspond à celle de l'hypothèse identifiée. Dispositif (200) de décodage d'un flux de données codées représentatif d'au moins une image (Im), ladite image étant découpée en blocs, caractérisé en ce qu'il comprend une machine de calcul configurée pour ou dédiée à : 20 pour le bloc courant : Evaluer (EVAL) une pluralité d'hypothèses de valeurs d'au moins un élément de description du bloc courant, par calcul d'une mesure de vraisemblance (V) par hypothèse; Calculer (CALC DV) une disparité des mesures de vraisemblance obtenues; Déterminer (DET p) au moins un paramètre d'un décodeur en fonction de la disparité calculée ; Décoder (DEC IC) à l'aide du décodeur déterminé une information complémentaire d'identification d'au moins une desdites hypothèses ; Identifier au moins une des hypothèses à l'aide de l'information complémentaire décodée et obtenir (DER ED) la valeur du au moins un élément de description pour le bloc courant, à partir de la au moins une hypothèse identifiée. 10. Dispositif (100) de codage d'un flux de données représentatif d'au moins une image (Im), ladite image étant découpée en blocs, caractérisé en ce qu'il comprend une machine de calcul configurée pour ou dédiée à : 44 pour le bloc courant : - Evaluer (EVAL) une pluralité d'hypothèses de valeurs d'au moins un élément de description du bloc courant, par calcul d'une mesure de vraisemblance (V) par hypothèse; - Calculer (CALC DV) une disparité des mesures de vraisemblance obtenues ; 5 - Déterminer (DET p) au moins un paramètre d'un codeur en fonction de la disparité calculée ; - Coder (COD IC) à l'aide du codeur déterminé une information complémentaire d'identification d'au moins une desdites hypothèses; et - Insérer (INSERT) l'information codée dans le flux. 10 11. Equipennent terminal d'utilisateur (TU, TU') caractérisé en ce qu'il comprend un dispositif de décodage (200) d'au moins une image numérique selon la revendication 9 et/ou un dispositif de codage (100) d'au moins une image numérique selon la revendication 10. 12. Programme d'ordinateur (Pg1, Pg2) comprenant des instructions pour la mise en oeuvre du procédé de selon l'une des revendications 1 à 8, lorsqu'il est exécuté par un processeur. 15 13. Support d'enregistrement lisible par un ordinateur, sur lequel est enregistré un programme d'ordinateur comprenant des instructions de code de programme pour l'exécution des étapes du procédé selon l'une des revendications 1 à 8. 20