Brevet FR3163514A1 — publié le 20251219

Titre : Procédés de codage et de décodage, dispositifs et programme d’ordinateur correspondants. L’invention concerne un procédé de codage d’un signal comprenant au moins un bloc d’échantillons à coder, mettant en œuvre les étapes suivantes, pour le codage (10) d’au moins un desdits blocs, représenté par un ensemble d’éléments de syntaxe, dit bloc courant : si au moins deux éléments de syntaxe dudit ensemble portent une valeur différente : affectation (111) d’une première valeur à un premier indicateur de codage associé audit bloc courant, codage (112) de la valeur desdits au moins deux éléments de syntaxe dudit ensemble selon une technique de codage, sinon : affectation (113) d’une deuxième valeur, distincte de ladite première valeur, audit premier indicateur de codage, codage (114) de la valeur d’un premier élément de syntaxe dudit ensemble selon ladite technique de codage, codage (12) de la valeur dudit premier indicateur de codage associé audit bloc courant. Figure pour l’abrégé : figure 1 Procédés de codage et de décodage, dispositifs et programme d’ordinateur correspondants. 1. Domaine de l’invention Le domaine de l’invention est celui du codage et du décodage d’un signal numérique, par exemple un signal audio et/ou vidéo. L’invention concerne notamment la compression d’un tel signal en proposant une nouvelle syntaxisation. 2. Art antérieur Les signaux numériques font en général l’objet d’un codage source visant à les compresser afin de limiter les ressources nécessaires à leur transmission et/ou à leur stockage. Il existe de nombreux standards de codage, tels que, pour les images fixes, les standards de la famille JPEG, et pour les images animées, ou vidéo, les standards des organismes ITU/MPEG (H.264/AVC, H.265/HEVC, H.266/VVC, etc.) ainsi que leurs extensions (MVC, SVC, 3D-HEVC, etc.). Classiquement, deux principales étapes sont mises en œuvre pour le codage d’un signal numérique que l’on cherche à compresser. Une première étape dite de « syntaxisation » consiste à décrire les échantillons du signal dans leur ensemble (par exemple les pixels ayant des composantes de luminance ou de couleur rouge (R), verte (G) ou bleue (B)), à partir d’un ensemble de descripteurs appelés « éléments de syntaxe » pouvant chacun prendre plusieurs valeurs. De tels éléments de syntaxe, ainsi que leur usage pour décrire les échantillons du signal d’entrée, sont notamment définis dans les standards comme HEVC ou VVC. A titre d’exemple, un élément de syntaxe de type block_size peut décrire la taille des blocs divisant une image (par exemple valeur 0 pour une taille de bloc 4x4, valeur 1 pour une taille de bloc 8x8, .., valeur 6 pour une taille de bloc 256x256), un autre élément de syntaxe de type split_block peut indiquer si un bloc est divisé en sous-blocs (par exemple valeur 0 si pas de division en sous-blocs, valeur 1 sinon), un autre élément de syntaxe de type pred_mod peut décrire le type de prédiction utilisé (par exemple valeur 0 pour une prédiction intra ou valeur 1 pour une prédiction inter), etc. A l’issue de cette étape, le signal d’entrée est décrit par une suite finie de valeurs d’éléments de syntaxe. Cette étape n’est pas toujours sans perte, et les valeurs transmises des éléments de syntaxe ne permettent pas toujours de reconstruire intégralement le signal d’entrée. La quantité d’information perdue est variable en fonction de l’économie de débit souhaitée. Une deuxième étape de codage entropique consiste à transformer la suite d’éléments de syntaxe en une suite binaire qui forme le signal codé, qui peut être stocké et/ou transmis. Au cours de cette étape, une technique de codage entropique est mise en œuvre, par exemple de type codage de Huffman ou codage arithmétique, comme le codage CABAC tel que décrit dans le document « CABAC : Context-Based Adaptive Binary Arithmetic Coding in the H.264/AVC Video Compression Standard », Detlev Marpe, Heiko Schwarz, et Thomas Wiegand). Classiquement, on cherche au cours de cette étape de codage entropique à coder les éléments de syntaxe avec le moins de bits possibles, en exploitant les caractéristiques de probabilité des éléments de syntaxe : on cherche à coder une valeur fréquente d’un élément de syntaxe avec peu de bits et une valeur moins fréquente avec plus de bits. On code donc une valeur d’un élément de syntaxe selon une caractéristique de probabilité. Comme indiqué ci-dessus, les éléments de syntaxe peuvent prendre des valeurs entières (par exemple l’élément de syntaxe block_size) ou binaires (par exemple l’élément de syntaxe split_block). Il existe donc plusieurs techniques de codage entropique, parmi lesquelles on peut distinguer les méthodes N-aires et les méthodes binaires. Les méthodes N-aires peuvent traiter des valeurs entières non binaire, par exemple le train suivant : 12,3,-5,0,2… Les méthodes binaires traitent uniquement des flux constitués de 0 et de 1. Pour des raisons d’implémentation sur circuit imprimé, il est préférable d’utiliser une méthode binaire. Afin de pouvoir coder des valeurs N-aires avec un codeur binaire, il a notamment été proposé d’effectuer une « binarisation » des valeurs des éléments de syntaxe avant la mise en œuvre du codage entropique. Une telle binarisation consiste à convertir une valeur N-aire d’un élément de syntaxe en une série de 0 et de 1. Par exemple, un codage binaire direct est possible, mais d’autres méthodes existent : codes Exp-Golomb, code unaire, etc… Une fois qu’un élément de syntaxe a été binarisé, chaque élément binaire (appelé « bin ») qu’il comporte peut être codé selon la probabilité binaire associée. L’étape de codage entropique (avec binarisation ou non) est généralement sans perte, c’est-à-dire qu’au décodage, on peut reconstruire intégralement les valeurs originales des éléments de syntaxe. On peut noter que la qualité d’un code entropique dépend de la qualité de la caractéristique de probabilité utilisée. De façon symétrique, deux principales étapes sont mises en œuvre pour le décodage d’un signal codé comme décrit ci-dessus. Une première étape dite de « parsing » ou de décodage entropique consiste à reconstruire la suite d’éléments de syntaxe à partir de la suite binaire reçue. Au cours de cette étape, une technique de décodage entropique est mise en œuvre, effectuant l’étape inverse du codage entropique. Ainsi, le flux de 0 et de 1 est lu, et le décodage entropique (de Huffman, arithmétique, etc) délivre les valeurs décodées des éléments de syntaxe. Une deuxième étape de « synthèse » consiste à lire la suite d’éléments de syntaxe précédemment décodés, et en utilisant les règles de construction définies par la méthode de synthèse (par exemple définie dans le standard HEVC ou VVC), construire les valeurs décodées des échantillons du signal. Si le codeur entropique code une zone portant beaucoup d’échantillons nuls, la probabilité de codage d’une valeur nulle pour les éléments de syntaxe représentatifs de ces échantillons nuls sera très élevée. Comme la probabilité de codage d’un élément de syntaxe courant dépend de la probabilité de codage des éléments de syntaxe précédemment codés, le codeur estimera une probabilité très élevée de codage d’une valeur nulle pour l’élément de syntaxe courant. Toutefois, pour des raisons structurelles, un codeur entropique limite les valeurs de ses probabilités extrêmes à où est faible (par exemple ). Lorsqu’une valeur est quasi certaine (probabilité proche de 1), cela introduit un surcoût en débit. Il existe donc un besoin pour une solution permettant d’améliorer la compression d’un signal, notamment lorsqu’un grand nombre d’échantillons du signal possède une même valeur. 3. Exposé de l’invention L’invention propose une solution sous la forme d’un procédé de codage d’un signal comprenant au moins un bloc d’échantillons à coder mettant en œuvre les étapes suivantes, pour le codage d’au moins un desdits blocs, représenté par un ensemble d’éléments de syntaxe, dit bloc courant : si au moins deux éléments de syntaxe dudit ensemble portent une valeur différente : affectation d’une première valeur à un premier indicateur de codage associé audit bloc courant (par exemple Fx=0), codage de la valeur desdits au moins deux éléments de syntaxe dudit ensemble selon une technique de codage, sinon : affectation d’une deuxième valeur, distincte de ladite première valeur, audit premier indicateur de codage (par exemple Fx=1), codage de la valeur d’un premier élément de syntaxe dudit ensemble selon ladite technique de codage, codage de la valeur dudit premier indicateur de codage (Fx) associé audit bloc courant. L’invention propose ainsi une nouvelle solution pour le codage d’au moins un bloc d’échantillons, reposant sur un nouvel élément de syntaxe au niveau bloc, appelé premier indicateur de codage, permettant de signaler si tous les échantillons du bloc, ou tous les éléments de syntaxe représentatifs de ces échantillons, portent une même valeur ou au moins deux valeurs différentes. En particulier, si au moins deux échantillons du bloc, ou au moins deux éléments de syntaxe correspondants, portent une valeur distincte, le codeur code les échantillons, ou éléments de syntaxe correspondants. Par exemple, la valeur de tous les échantillons du bloc, ou de tous les éléments de syntaxe correspondants, est codée. En revanche, si tous les échantillons du bloc, ou éléments de syntaxe correspondant, portent une même valeur, le codeur code une seule valeur de ces échantillons, ou éléments de syntaxe, distincts. Afin que le décodeur sache si une seule valeur ou plusieurs valeurs ont été codées pour ce bloc, la valeur du premier indicateur de codage associé au bloc est codée dans le flux compressé. Un procédé de codage selon l’invention propose ainsi une solution contribuant à améliorer la compression du signal en codant des groupes d’échantillons ou éléments de syntaxe ayant la même valeur avec une méthode spécifique et en introduisant de nouveaux éléments de syntaxe. Dans un mode de réalisation particulier, le procédé met également en œuvre les étapes suivantes pour le codage dudit bloc courant : si tous les éléments de syntaxe dudit ensemble portent une valeur identique nulle : affectation d’une première valeur à un deuxième indicateur de codage associé audit bloc courant (par exemple Zb=1), si au moins un élément de syntaxe dudit ensemble porte une valeur non-nulle : affectation d’une deuxième valeur, distincte de ladite première valeur, audit deuxième indicateur de codage (par exemple Zb=0), codage de la valeur dudit deuxième indicateur de codage (Zb) associé audit bloc courant. Un nouvel élément de syntaxe au niveau bloc, appelé deuxième indicateur de codage, permettant de signaler si tous les échantillons du bloc (ou tous les éléments de syntaxe représentatifs de ces échantillons) portent une valeur nulle, ou si au moins un échantillon du bloc (ou un élément de syntaxe) porte une valeur non-nulle, peut ainsi être introduit. Afin que le décodeur sache si une seule valeur nulle ou au moins une valeur non-nulle a été codée pour ce bloc, la valeur du deuxième indicateur de codage associé au bloc est également codée dans le flux compressé. Dans un mode de réalisation particulier, le procédé de codage met également en œuvre le codage de la valeur d’un premier indicateur haut niveau (flat_blocks) associé à un ensemble d’au moins deux blocs indiquant l’utilisation dudit premier indicateur de codage pour chaque bloc dudit ensemble. On peut ainsi inscrire dans le flux compressé des informations qui concerne le codage d’au moins deux blocs. En particulier, un tel premier indicateur haut niveau permet d’activer la fonctionnalité de codage d’un bloc entier de valeurs identiques par un unique indicateur. Si ce mode n’est pas actif, le codeur code tous les échantillons du bloc, ou tous les éléments de syntaxe correspondants, un par un, même s’ils sont identiques. Dans un mode de réalisation particulier, le procédé de codage met également en œuvre le codage de la valeur d’un deuxième indicateur haut niveau (zero_blocks) associé à un ensemble d’au moins deux blocs indiquant l’utilisation dudit deuxième indicateur de codage pour chaque bloc dudit ensemble. En particulier, un tel deuxième indicateur haut niveau permet d’activer la fonctionnalité de codage d’un bloc entier de valeurs nulles par un unique indicateur. Si ce mode n’est pas actif, le codeur code tous les échantillons du bloc, ou tous les éléments de syntaxe correspondants, un par un, même s’ils sont nuls. Dans un mode de réalisation particulier, les éléments de syntaxe représentatifs d’au moins un bloc d’échantillons dudit signal sont obtenus à partir d’un réseau de neurones, par exemple un réseau ARM (par exemple de type totalement connecté (« fully connected ») ou de type réseau convolutif (Convolutional Neural Network) ou encore une combinaison des deux). Cette approche permet d’obtenir une performance de compression élevée. De plus, les réseaux de neurones produisent typiquement des couches latentes à coder, ces couches latentes étant organisées en tableaux à deux dimensions se prêtant bien à une division en blocs. Par ailleurs, il est possible, lors de l’apprentissage du réseau de neurones, de favoriser la production de blocs dont tous les échantillons ont la même valeur, pouvant ainsi être efficacement codés selon un mode de réalisation particulier de l’invention. Dans un mode de réalisation particulier, le procédé de codage comprend la transmission d’au moins un paramètre et/ou une topologie dudit réseau de neurones à un décodeur. Par exemple, ces informations sont transmises dans le signal codé. En variante, ces informations sont transmises dans un signal distinct. De cette façon, le décodeur dispose des informations nécessaires pour paramétrer un réseau de neurones similaire à celui utilisé par le codeur. Dans un mode de réalisation particulier, les éléments de syntaxe représentatifs d’au moins un bloc d’échantillons sont groupés dans au moins une latente, découpée en blocs d’éléments de syntaxe correspondant chacun à un bloc d’échantillons, et ledit procédé est mis en œuvre latente par latente et bloc par bloc pour une latente. Dans un autre mode de réalisation, l’invention concerne un dispositif de codage correspondant. Un tel dispositif de codage, également appelé codeur, est notamment adapté à mettre en œuvre le procédé de codage décrit précédemment. Il pourra bien sûr comporter les différentes caractéristiques relatives au procédé de codage selon l’invention, qui peuvent être combinées ou prises isolément. Ainsi, les caractéristiques et avantages du codeur sont les mêmes que ceux du procédé décrit précédemment. Par conséquent, ils ne sont pas détaillés plus amplement. L’invention concerne également un procédé de décodage d’un signal comprenant au moins un bloc d’échantillons à décoder, mettant en œuvre les étapes suivantes, pour le décodage d’au moins un desdits blocs, représenté par un ensemble d’éléments de syntaxe, dit bloc courant : décodage de la valeur d’un premier indicateur de codage (Fx) associé audit bloc courant, si la valeur décodée dudit premier indicateur de codage est égale à une première valeur (par exemple Fx=0) : décodage de la valeur d’au moins deux éléments de syntaxe dudit ensemble selon une technique de décodage, si la valeur décodée dudit premier indicateur de codage est égale à une deuxième valeur (par exemple Fx=1), distincte de ladite première valeur : décodage de la valeur d’un premier élément de syntaxe dudit ensemble selon ladite technique de décodage, reconstruction de la valeur décodée d’au moins un deuxième élément de syntaxe dudit ensemble d’éléments de syntaxe par répétition de la valeur décodée dudit premier élément de syntaxe. Un tel procédé de décodage est notamment adapté à décoder un signal codé en utilisant le procédé de codage décrit ci-dessus. Il 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 du procédé de décodage et du décodeur sont les mêmes que ceux du procédé de codage et du codeur décrits précédemment. Comme pour le codage, dans un mode de réalisation particulier, le procédé de décodage met également en œuvre les étapes suivantes pour le décodage dudit bloc courant : décodage de la valeur d’un deuxième indicateur de codage (Zb) associé audit bloc courant, si la valeur décodée dudit deuxième indicateur de codage est égale à une première valeur (par exemple Zb=1) : reconstruction de la valeur décodée de tous les éléments de syntaxe dudit ensemble d’éléments de syntaxe avec une valeur nulle, si la valeur décodée dudit deuxième indicateur de codage est égale à une deuxième valeur (par exemple Zb=0), distincte de ladite première valeur : mise en œuvre de ladite étape de décodage de la valeur dudit premier indicateur de codage. Dans un mode de réalisation particulier, le procédé de décodage met en œuvre le décodage de la valeur d’un premier indicateur haut niveau (flat_blocks) associé à un ensemble d’au moins deux blocs indiquant l’utilisation dudit premier indicateur de codage pour chaque bloc dudit ensemble. Dans un mode de réalisation particulier, le procédé de décodage met en œuvre le décodage de la valeur d’un deuxième indicateur haut niveau (zero_blocks) associé à un ensemble d’au moins deux blocs indiquant l’utilisation dudit deuxième indicateur de codage pour chaque bloc dudit ensemble. Dans un mode de réalisation particulier, les éléments de syntaxe représentatifs d’au moins un bloc d’échantillons dudit signal sont obtenus à partir d’un réseau de neurones, par exemple un réseau ARM (par exemple de type totalement connecté (« fully connected ») ou de type réseau convolutif (Convolutional Neural Network) ou encore une combinaison des deux). Dans un mode de réalisation particulier, ledit procédé de décodage comprend la construction dudit réseau de neurones à partir d’au moins un paramètre transmis et/ou une topologie transmise dans ledit signal codé. En variante, ledit au moins un paramètre et/ou une topologie sont transmis dans un signal distinct du signal codé. De cette façon, le décodeur dispose des informations nécessaires pour paramétrer un réseau de neurones similaire à celui utilisé par le codeur. Dans un mode de réalisation particulier, les éléments de syntaxe représentatifs d’au moins un bloc d’échantillons sont groupés dans au moins une latente, découpée en blocs d’éléments de syntaxe correspondant chacun à un bloc d’échantillons, et ledit procédé est mis en œuvre latente par latente et bloc par bloc pour une latente. Dans un autre mode de réalisation, l’invention concerne un dispositif de décodage correspondant. Un tel dispositif de décodage, également appelé décodeur, est notamment adapté à mettre en œuvre le procédé de décodage décrit précédemment. Il pourra bien sûr comporter les différentes caractéristiques relatives au procédé de décodage selon l’invention, qui peuvent être combinées ou prises isolément. Ainsi, les caractéristiques et avantages du décodeur sont les mêmes que ceux du procédé décrit précédemment. Par conséquent, ils ne sont pas détaillés plus amplement. L’invention concerne encore un ou plusieurs programmes d’ordinateur comportant des instructions pour la mise en œuvre d’un procédé tel que décrit ci-dessus lorsque ce ou ces programmes sont exécutés par au moins un processeur. L’invention concerne aussi un support d’informations lisible par un ordinateur, et comportant des instructions d’un programme d’ordinateur tel que mentionné ci-dessus. 4. Liste des figures D’autres caractéristiques et avantages de l’invention apparaitront plus clairement à la lecture de la description suivante d’un mode de réalisation particulier, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés parmi lesquels : la FIG. 1 illustre les principales étapes mises en œuvre par un procédé de codage selon un mode de réalisation particulier, la FIG. 2 illustre les principales étapes mises en œuvre par un procédé de décodage selon un mode de réalisation particulier, la FIG. 3 illustre un exemple d’implémentation d’un codeur selon un mode de réalisation particulier, la FIG. 4 illustre un algorithme de codage mis en œuvre dans un codeur selon l’exemple de la FIG. 3 , la FIG. 5 illustre un exemple de prise en compte du voisinage causal d’un échantillon courant pour son codage ou son décodage selon un mode de réalisation particulier, la FIG. 6 illustre un exemple d’implémentation d’un décodeur selon un mode de réalisation particulier, la FIG. 7 illustre un algorithme de décodage mis en œuvre dans un décodeur selon l’exemple de la FIG. 6 , la FIG. 8 présente la structure simplifiée d’un codeur selon un mode de réalisation de l’invention, la FIG. 9 présente la structure simplifiée d’un décodeur selon un mode de réalisation de l’invention. 5. Description d’un mode de réalisation 5.1 Définitions Au sens de l’invention, on entend par encodage, ou « codage », l’opération qui consiste à représenter un ensemble d’échantillons sous une forme compacte portée par exemple par un train binaire numérique. On entend par décodage l’opération qui consiste à traiter un train binaire numérique pour restituer des échantillons décodés. Par « échantillon » du signal, on entend une valeur prélevée dans le signal. L’échantillonnage du signal produit une suite de valeurs discrètes nommées échantillons. Dans le cas d’un signal d’image, l’échantillon prend le nom de pixel qui peut être par exemple un pixel couleur représenté traditionnellement par un triplet de valeurs, par exemple (R,G,B) ou (Y,U,V). De manière générale, un échantillon est représenté par un vecteur d’une ou plusieurs composantes, ou données. Un échantillon peut appartenir à un bloc d’échantillons. Un échantillon peut être représenté par un ou plusieurs éléments de syntaxe, ou moins si l’on considère un bloc d’échantillons et un élément de syntaxe représentatif de l’ensemble du bloc. Par exemple, un échantillon peut être décrit par deux éléments de syntaxe (comme l’amplitude et le signe de l’échantillon). Un échantillon peut faire partie d’une latente. Par « latente », on entend une représentation abstraite du signal comportant une pluralité de données scalaires variables, que l’on appelle aussi valeurs caractéristiques, comprenant par exemple des échantillons du signal ou des éléments de syntaxe représentatifs du signal, par exemple des nombres réels ou entiers. De manière connue, ces cartes de caractéristiques sont aussi désignées sous le terme de « représentation latente » ou « représentation dans le domaine latent » du signal d’entrée. Ces cartes de caractéristiques peuvent avoir une représentation bidimensionnelle sous forme d’images de valeurs scalaires, unidimensionnelle sous forme de vecteurs, ou correspondre à un ensemble de valeurs scalaires. Une latente possède généralement un ordre de parcours des valeurs caractéristiques, par exemple l’ordre lexicographique. Dans un autre exemple, une latente peut être découpée en blocs de taille définie, les blocs étant parcourus dans l’ordre lexicographique, les valeurs caractéristiques à l’intérieur de chaque bloc étant elles-mêmes parcourues dans l’ordre lexicographique. Par « réseau de neurones », on entend un réseau neuronal tel un réseau de type totalement connecté ou de type réseau neuronal convolutif, une combinaison des deux, etc. Le réseau de neurones est défini par exemple par une pluralité de couches de neurones artificiels et par un ensemble de fonctions d’activation, de pondération et d’addition (par exemple, une couche peut calculer y = f(Ax+b), où y et b sont des vecteurs de dimension N, x un vecteur de dimension M, A est une matrice de dimension MxN, et f est la fonction d’activation). Une pluralité de tels réseaux peut être mise en cascade. Par « paramètre du réseau de neurones », on entend une des valeurs qui caractérise le réseau de neurones, par un exemple un poids associé à l’un des neurones (coefficient de filtre ou de convolution, pondération, biais, valeur affectant le fonctionnement de la non-linéarité, etc.) Par « information relative à un élément de syntaxe (ou un échantillon) courant », on entend un scalaire ou un vecteur, de type entier ou flottant ou numérique, qui est associé à l’élément de syntaxe (ou à l’échantillon) courant. Une telle information relative à l’élément de syntaxe (ou à l’échantillon) courant est utilisée pour dériver une information de probabilité liée aux éléments binaires issus de la binarisation de cet élément de syntaxe (ou échantillon) courant. Cette information relative à un élément de syntaxe (ou échantillon) courant peut être représentative directement de la probabilité de l’élément de syntaxe (ou de l’échantillon), par exemple, ce peut être sa probabilité, ou son espérance, ou sa dispersion, ou une composition de ces valeurs, ou être liée par une relation plus générale. Par « codage d’un élément de syntaxe », respectivement d’un élément binaire, on entend le codage de la valeur de l’élément de syntaxe, respectivement de la valeur de l’élément binaire. Par « décodage d’un élément de syntaxe », respectivement d’un élément binaire, on entend le décodage de la valeur codée de l’élément de syntaxe, respectivement de la valeur codée de l’élément binaire. Par ailleurs, les termes « valeur codée de l’élément de syntaxe » ou « élément de syntaxe codé » sont utilisés indifféremment. Les termes « valeur codée de l’élément binaire » ou « élément binaire codé » sont utilisés indifféremment. Les termes « valeur décodée de l’élément de syntaxe » ou « élément de syntaxe décodé » sont utilisés indifféremment. Les termes « valeur décodée de l’élément binaire » ou « élément binaire décodé » sont utilisés indifféremment. De manière générale, on considère que les étapes d’un procédé de codage ou décodage ne doivent pas être interprétées comme étant liées à une notion de succession temporelle. Autrement dit, les étapes peuvent être effectuées dans un ordre différent de celui illustré en figures 1 et 2, voire en parallèle. 5.2 Principe général Le principe général de l’invention repose sur un codage spécifique de blocs d’échantillons présentant une même valeur, et la signalisation de ce codage spécifique en utilisant au moins un nouvel élément de syntaxe associé à un bloc d’échantillons. On cherche ainsi à améliorer les performances en termes de compression d’une paire codeur-décodeur, ou en termes de décompression d’un décodeur. On note que la solution proposée s’applique à toute technique de codage, et pas nécessairement au codage entropique. La FIG. 1 illustre les principales étapes d’un procédé de codage selon un mode de réalisation de l’invention. Un tel procédé prend en entrée un signal S. Par exemple, un tel signal d’entrée est un signal audio, vidéo, une image, etc. Le procédé de codage selon un mode de réalisation met en œuvre au moins une étape de codage 10 d’au moins un bloc d’échantillons à coder du signal d’entrée. On décrit ci-après les étapes mises en œuvre pour le codage d’un bloc courant B_b. Les échantillons x_i du bloc courant B_b sont parcourus au cours d’une première étape 11. Si au moins deux échantillons du bloc courant B_b portent une valeur différente, le procédé de codage met en œuvre une étape d’affectation 111 d’une première valeur à un premier indicateur de codage associé audit bloc courant, par exemple Fx=0. Dans ce cas, la valeur des différents échantillons est codée au cours d’une étape de codage 112, en utilisant une technique de codage. Par exemple, il est possible de coder la valeur de chaque échantillon avec un code de Huffman prédéterminé, adapté à la statistique des échantillons. Alternativement, on peut utiliser un code unaire pour décrire l’amplitude de chaque échantillon, et un bit pour coder le signe de chaque échantillon. Alternativement, il est possible d’effectuer une binarisation de type Exp-Golomb de l’amplitude de chaque échantillon (telle que décrite dans le standard de codage HEVC), et de coder par codage arithmétique de type CABAC les éléments binaires issus de cette binarisation (tel que décrit dans HEVC). Le signe peut quant à lui être codé par un bit. Sinon, si tous les échantillons du bloc courant B_b portent une valeur identique, le procédé de codage met en œuvre une étape d’affectation 113 d’une deuxième valeur, distincte de la première valeur, au premier indicateur de codage associé au bloc courant, par exemple Fx=1. Dans ce cas, la valeur d’un seul échantillon, par exemple le premier échantillon, est codée au cours d’une étape de codage 114, en utilisant la même technique de codage. Au cours d’une étape suivante 12, la valeur du premier indicateur de codage Fx associé au bloc courant B_b peut être codée. Ces étapes peuvent être itérées pour le codage des autres blocs d’échantillons. Bien entendu, un tel bloc courant peut être représenté par un ensemble d’éléments de syntaxe, par exemple obtenus en sortie d’une étape de syntaxisation. Dans ce cas, les éléments de syntaxe ES_i de l’ensemble d’éléments de syntaxe associé au bloc courant peuvent être parcourus au cours de la première étape 11. Si au moins deux éléments de syntaxe ES_i de l’ensemble portent une valeur différente, le procédé de codage met en œuvre l’étape 111 d’affectation d’une première valeur à un premier indicateur de codage associé audit bloc courant, par exemple Fx=0. Dans ce cas, la valeur des différents éléments de syntaxe est codée au cours d’une étape de codage 112, en utilisant une technique de codage. Sinon, si tous les éléments de syntaxe ES_i de l’ensemble portent une valeur identique, le procédé de codage met en œuvre l’étape 113 d’affectation d’une deuxième valeur, distincte de la première valeur, au premier indicateur de codage associé au bloc courant, par exemple Fx=1. Dans ce cas, la valeur d’un seul élément de syntaxe, par exemple le premier élément de syntaxe, est codée au cours d’une étape de codage 114, en utilisant la technique de codage considérée. A l’issue de ces différentes étapes, on obtient un signal codé S_c, destiné à être transmis et/ou stocké. On décrit à présent, en relation avec la FIG. 2 , les principales étapes d’un procédé de décodage selon un mode de réalisation de l’invention. Un tel procédé de décodage prend en entrée un signal codé S_c. Le procédé de décodage selon un mode de réalisation met en œuvre au moins une étape de décodage 20 d’au moins un bloc d’échantillons à décoder du signal codé S_c. On décrit ci-après les étapes mises en œuvre pour le décodage d’un bloc courant B_b. La valeur d’un premier indicateur de codage (Fx) associé au bloc courant est décodée au cours d’une première étape 21. Si la valeur décodée du premier indicateur de codage est égale à une première valeur, par exemple Fx=0, cela signifie qu’au moins deux échantillons du bloc courant B_b portent une valeur différente. Dans ce cas, le procédé de décodage met en œuvre un décodage 211 de la valeur des différents échantillons du bloc courant selon une technique de décodage. Si la valeur décodée du premier indicateur de codage est égale à une deuxième valeur, par exemple Fx=1, cela signifie que tous les échantillons du bloc courant B_b portent une même valeur. Dans ce cas, le procédé de décodage met en œuvre un décodage 211 de la valeur d’un seul échantillon du bloc courant, par exemple le premier échantillon, selon la technique de décodage considérée. La valeur décodée d’au moins un deuxième échantillon du bloc courant est reconstruite au cours d’une étape 213, par exemple par répétition de la valeur décodée du premier échantillon. Ces étapes peuvent être itérées pour le décodage des autres blocs d’échantillons codés. Les blocs d’échantillons peuvent ainsi être décodés pour reconstruire le signal décodé S_d. Bien entendu, un tel bloc courant peut être représenté par un ensemble d’éléments de syntaxe. Dans ce cas, si la valeur décodée du premier indicateur de codage est égale à une première valeur, par exemple Fx=0, cela signifie qu’au moins deux éléments de syntaxe représentatifs du bloc courant B_b portent une valeur différente. Dans ce cas, le procédé de décodage met en œuvre un décodage 211 de la valeur des différents éléments de syntaxe selon une technique de décodage. Si la valeur décodée du premier indicateur de codage est égale à une deuxième valeur, par exemple Fx=1, cela signifie que tous les éléments de syntaxe représentatifs du bloc courant B_b portent une même valeur. Dans ce cas, le procédé de décodage met en œuvre un décodage 211 de la valeur d’un seul élément de syntaxe, par exemple le premier élément de syntaxe, selon la technique de décodage considérée. La valeur décodée d’au moins un deuxième élément de syntaxe représentatif du bloc courant est reconstruite au cours de l’étape 213, par exemple par répétition de la valeur décodée du premier élément de syntaxe. Les éléments de syntaxe peuvent ainsi être décodés pour reconstruire le signal décodé S_d. 5.3 Exemple de mise en œuvre On décrit ci-après un exemple de mise en œuvre de l’invention pour le codage d’un signal d’origine, délivrant un flux compressé, puis le décodage du flux compressé pour reconstruire le signal d’origine. 5.3.1 Codage La FIG. 3 illustre un exemple de codeur 3 permettant de transformer un signal d’entrée IO, correspondant par exemple à une image d’origine, en un flux binaire compressé B. Le signal d’entrée IO est tout d’abord traité par un module de syntaxisation 31 permettant d’obtenir des éléments de syntaxe représentatifs de l’image d’origine. Selon l’exemple illustré en figure 3, on considère que le module de syntaxisation 31 met en œuvre une unité de synthèse de latentes 311, permettant de générer au moins une latente. Par exemple, l’unité de synthèse des latentes 311 génère une série de L latentes notées L_1,.., L_l, .., L_L, avec , représentatives du signal d’entrée IO. Dans un premier mode de réalisation, les latentes obtenues en sortie de l’unité de synthèse de latentes 311 portent les valeurs des éléments de syntaxe ES représentatifs des échantillons du signal d’entrée. Dans un deuxième mode de réalisation, les latentes obtenues en sortie de l’unité de synthèse de latentes 311 portent des échantillons du signal d’entrée. Dans ce cas, un module de compression, non illustré, peut être mis en œuvre pour générer des éléments de syntaxe ES représentatifs des échantillons du signal d’entrée groupés dans au moins une latente. Selon un premier exemple, le module de syntaxisation 31 met en œuvre un réseau de neurones, qui prend en entrée le signal d’entrée correspondant à une image d’origine et effectue une inférence sur cette image d’origine pour produire au moins une latente. Selon un deuxième exemple, le module de syntaxisation 31 met en œuvre un système conventionnel, comme le module de syntaxisation d’un codeur HEVC ou VVC, qui produit au moins une latente portant les valeurs des éléments de syntaxe (comme des indicateurs de division en bloc, des vecteurs de mouvement, des indicateurs de modes de prédiction intra, etc). Selon un troisième exemple, le module de syntaxisation 31 met en œuvre un système hybride entre un codeur conventionnel et des réseaux de neurones. Selon un quatrième exemple, le module de syntaxisation 31 met en œuvre un codeur par représentation implicite comme le codeur Cool-Chic, tel que décrit dans le document « COOL-CHIC: Coordinate-based Low Complexity Hierarchical Image Codec » (Theo Ladune et al.), ou NeRV, tel que décrit dans le document « NeRV: Neural Representations for Videos (Hao Chen et al.), qui effectue un apprentissage d’une représentation du signal sous forme de latentes et de paramètres de réseau de neurones de reconstruction du signal, les deux ensemble formant les éléments de syntaxe. D’autres exemples sont également envisageables. Les latentes L_1,.., L_l, .., L_L obtenues en sortie de l’unité de synthèse de latentes 311 portent des valeurs caractéristiques du signal, par exemple les échantillons du signal d’entrée (éventuellement des blocs d’échantillons), ou les valeurs des éléments de syntaxe représentatifs de ces échantillons ou blocs d’échantillons. On note que si le module de syntaxisation 31 met en œuvre un réseau de neurones, il peut s’agir de latentes au sens neuronal du terme. Les latentes L_1,.., L_l, .., L_L obtenues en sortie de l’unité de synthèse de latentes 311 peuvent être organisées en une série de listes ou tableaux mono ou multi-dimensionnels. Il n’y pas de contrainte sur la structure des latentes. Dans la suite, on considère par exemple que les latentes sont organisées en une série de tableaux bidimensionnels. Chaque latente L_l, avec , est découpée en B blocs B_b, avec . Les latentes sont ensuite parcourues et les valeurs des éléments de syntaxe ES associés à ces latentes, obtenues en sortie du module de syntaxisation 31, sont codées entropiquement dans un module de codage entropique 32 décrit ci-après. Le codage entropique des valeurs des éléments de syntaxe ES associés aux latentes génère le flux compressé B. On décrit ci-après, en relation avec la FIG. 4 , un exemple d’algorithme de codage mis en œuvre par le module de codage entropique 32. Au cours d’une première étape 41, facultative, des indicateurs haut niveau peuvent être initialisés. De tels indicateurs peuvent être inscrits par exemple en en-tête du flux compressé (par exemple en en-tête de l’image codée) de façon à informer le décodeur des informations qui concerne le flux entier (par exemple l’image entière). De façon plus générale, de tels indicateurs portent des informations qui concernent tout ou partie du signal d’origine. Par exemple, le codeur peut décider s’il va découper le signal d’entrée en blocs d’échantillons, i.e. s’il va découper l’image d’origine en blocs de pixels. S’il n’y a pas de divisions en blocs, un codage (entropique ou direct) de la valeur 0 pour un élément de syntaxe block_size (tel que défini par exemple dans les standards HEVC ou VVC) peut être codé. Dans ce cas, algorithmiquement, l’image est considérée comme un seul bloc. Si le codeur décide de découper l’image d’origine en blocs, il peut coder leur taille BS comme valeur de l’élément de syntaxe block_size. A titre d’exemple, le codeur utilise une taille de bloc BS=8, ce qui signifie que chaque latente est découpée en blocs d’échantillons de taille 8x8 valeurs. Dans ce cas, un codage (entropique ou direct) de la valeur 8 pour l’élément de syntaxe block_size peut être codé En variante, d’autres éléments de syntaxe « haut niveau » relatifs à la taille des blocs, comme block_size_h, block_size_w peuvent être codés. Par ailleurs, selon le mode de réalisation illustré en FIG. 4 , si un découpage par blocs est mis en œuvre au codage, un premier indicateur haut niveau noté flat_blocks, associé à un ensemble d’au moins deux blocs (et par exemple à l’image entière ou plus généralement au signal d’entrée), peut être initialisé. Ce premier indicateur flat_blocks permet d’indiquer l’utilisation d’un premier indicateur de codage Fx pour chaque bloc dudit ensemble. Un tel premier indicateur de codage Fx est un élément de syntaxe associé à un bloc. Il permet de décrire si tous les échantillons du bloc (ou les éléments de syntaxe représentatifs des échantillons du bloc) portent des valeurs identiques ou si au moins deux échantillons du bloc (ou au moins deux éléments de syntaxe représentatifs des échantillons du bloc) portent des valeurs différentes Le codeur peut ainsi activer la fonctionnalité de codage d’un bloc entier d’échantillons portant des valeurs identiques par un unique indicateur, en affectant une valeur prédéterminée au premier indicateur haut niveau flat_blocks (par exemple flat_blocks =1). Dans le mode de réalisation illustré en FIG. 4 , cette fonctionnalité de codage est activée. Si cette fonctionnalité n’est pas activée, il n’est pas possible de coder un bloc ainsi, et il faut coder tous les échantillons du bloc un par un, même s’ils sont tous identiques, ou coder toutes les valeurs des éléments de syntaxe décrivant ces échantillons même si elles sont identiques. Un deuxième indicateur haut niveau, noté zero_blocks, associé à un ensemble d’au moins deux blocs (et par exemple à l’image entière ou plus généralement au signal d’entrée), peut également être initialisé selon le mode de réalisation illustré en FIG. 4 , si un découpage par blocs est mis en œuvre au codage. Ce deuxième indicateur zero_blocks permet d’indiquer l’utilisation d’un deuxième indicateur de codage Zb pour chaque bloc dudit ensemble. Un tel deuxième indicateur de codage Zb est un élément de syntaxe associé à un bloc. Il permet de décrire si tous les échantillons du bloc (ou tous les éléments de syntaxe représentatifs des échantillons du bloc) portent une valeur nulle ou si au moins un échantillon du bloc (ou au moins un élément de syntaxe représentatifs des échantillons du bloc) porte une valeur non-nulle. Le codeur peut ainsi activer la fonctionnalité de codage d’un bloc entier d’échantillons nuls par un unique indicateur, en affectant une valeur prédéterminée au deuxième indicateur haut niveau zero_blocks (par exemple zero_blocks = 1). Dans le mode de réalisation illustré en FIG. 4 , cette fonctionnalité de codage est activée. Si cette fonctionnalité n’est pas activée, il n’est pas possible de coder un bloc ainsi, et il faut coder tous les échantillons du bloc un par un, même s’ils sont tous nuls, ou coder toutes les valeurs des éléments de syntaxe décrivant ces échantillons même si elles sont toutes nulles. L’étape suivante est une étape de sélection 42 de la première latente L_l = L_1. Au cours de cette étape, on suppose que les latentes sont ordonnées et qu’il existe un parcours prédéterminé parmi elles. La première latente dans cet ordre de parcours est sélectionnée comme latente courante L_l. L’étape suivante est une étape de sélection 43 du premier bloc B_b = B_1 Au cours de cette étape, on suppose que les blocs sont ordonnés dans la latente courante (par exemple dans l’ordre lexicographique) et qu’il existe un parcours prédéterminé parmi eux. Le premier bloc dans cet ordre de parcours est sélectionné comme bloc courant B_b. L’étape suivante est une étape de test 44 de codage du bloc à zéro. Cette étape est notamment mise en œuvre si la fonctionnalité de codage d’un bloc entier d’échantillons nuls par un unique indicateur est activée (par exemple zero_blocks = 1). Si le bloc courant B_b ne contient que des échantillons nuls 441 (ou est représenté par des éléments de syntaxe portant des valeurs nulles), alors on affecte 4411 une première valeur au deuxième indicateur de codage Zb associé au bloc courant B_b (par exemple Zb=1), et on code (entropiquement ou non) cette première valeur dans le flux B. L’étape suivante 4412 est alors l’étape de sélection du bloc suivant B_b = B_b+1, tant que l’on n’a pas atteint le dernier bloc B_b = B_B. Si le bloc courant B_b ne contient pas que des échantillons nuls 442 (ou est représenté par au moins un élément de syntaxe portant une valeur non nulle), alors on affecte 4421 une deuxième valeur, distincte de la première valeur, au deuxième indicateur de codage Zb associé au bloc courant B_b (par exemple Zb=0), et on code (entropiquement ou non) cette deuxième valeur dans le flux B. L’étape suivante est alors une étape de test 45 de codage du bloc à une valeur fixe X. Cette étape est notamment mise en œuvre si la fonctionnalité de codage d’un bloc entier d’échantillons portant des valeurs identiques par un unique indicateur est activée (par exemple flat_blocks = 1). Si le bloc courant B_b ne contient pas que des échantillons identiques 452 (ou est reprénté par au moins deux éléments de syntaxe portant des valeurs différentes), alors on affecte 4521 une première valeur au premier indicateur de codage Fx associé au bloc courant B_b (par exemple Fx=0), et on code (entropiquement ou non) cette première valeur dans le flux B. Si le bloc courant B_b ne contient que des échantillons identiques 451 (ou est représenté par des éléments de syntaxe portant des valeurs identiques), alors on affecte 4511 une deuxième valeur, distincte de la première valeur, au premier indicateur de codage Fx associé au bloc courant B_b (par exemple Fx=1), et on code (entropiquement ou non) cette deuxième valeur dans le flux B. L’étape suivante est alors une étape de sélection 46 du premier échantillon x_i = x_1 du bloc courant B_b, ou d’un premier élément de syntaxe ES_i = ES_1 représentatif d’au moins un échantillon du bloc courant B_b. On décrit ci-après le cas où le codeur travaille sur les échantillons du bloc courant. Il suffit de remplacer « échantillon » par « élément de syntaxe » dans la suite si le codeur travaille sur les éléments de syntaxe représentatifs d’au moins un échantillon du bloc courant. Au cours de cette étape, on suppose que les échantillons sont ordonnés dans le bloc courant B_b (par exemple dans l’ordre lexicographique) et qu’il existe un parcours prédéterminé parmi eux. Le premier échantillon dans cet ordre de parcours est sélectionné comme échantillon courant. L’étape suivante est une étape d’obtention 461 d’une information Pe_c relative à l’échantillon courant, à partir de la valeur codée d’au moins un échantillon précédemment codé. Pour le premier échantillon, cette information Pe_c peut être initialisée à une valeur prédéfinie. Une telle information Pe_c relative à l’échantillon courant peut être représentative de la probabilité de l’échantillon. Par exemple, l’information Pe_c relative à l’échantillon courant appartient au groupe comprenant : une moyenne des valeurs codées d’au moins deux échantillons précédemment codés, une espérance des valeurs codées d’au moins deux échantillons précédemment codés , une variance des valeurs codées d’au moins deux échantillons précédemment codés , une probabilité d’au moins une valeur possible pour l’échantillon courant, une combinaison d’au moins deux des éléments ci-dessus. Cette information Pe_c peut être monodimensionnelle, pluridimensionnelle, flottante ou entière. Par exemple, comme illustré en FIG. 5 , l’information Pe_c relative à l’échantillon courant x_i de valeur x situé dans la latente L_l aux coordonnées (i,j) peut être obtenue à partir de la valeur codée d’au moins un échantillon précédemment codé {a, b, c, d, e, f}, localisé à gauche et au-dessus de l’échantillon courant de valeur x. Dans un mode de réalisation particulier, l’information Pe_c relative à l’échantillon courant peut être obtenue en sortie d’un réseau de neurones. Ainsi, en revenant à la FIG. 3 , un réseau de neurones 33, par exemple un réseau ARM (par exemple de type totalement connecté (« fully connected ») ou de type réseau convolutif (Convolutional Neural Network) ou encore une combinaison des deux), peut fournir en sortie une information Pe_c relative à l’échantillon courant, en prenant en entrée le voisinage causal de l’échantillon courant de valeur x (par exemple dans un même bloc ou une même latente), constitué par exemple des échantillons de valeurs a,b,c…,f. L’information Pe_c relative à l’échantillon courant obtenue en sortie du réseau de neurones 33 comprend par exemple deux variables Mu et Sigma, à valeurs flottantes. Dans ce mode de réalisation, les variables Mu et Sigma sont respectivement représentatives d’une prédiction de la valeur de l’échantillon courant (obtenue par exemple à partir d’une moyenne des valeurs d’au moins deux échantillons précédemment codés) et d’une erreur de prédiction de la valeur de l’échantillon courant (obtenue par exemple à partir d’une variance ou dispersion des valeurs d’au moins deux échantillons précédemment codés). Par la suite, on dit que Mu et Sigma sont respectivement représentatives d’une moyenne et d’une variance de l’échantillon courant. En particulier, le réseau de neurones ARM peut être adapté aux caractéristiques de l’image courante devant être codée entropiquement (par exemple l’image d’origine, ce qui signifie que ses paramètres sont optimisés sur l’image courante, avec une fonction de coût qui peut être le débit total de l’image courante, après codage entropique de l’image courante). En variante, le réseau ARM peut produire une information Pe_c relative à l’échantillon courant correspondant à la probabilité complète de l’échantillon courant, c’est-à-dire la probabilité de chaque valeur qu’il peut prendre. Dans un autre mode de réalisation, l’information Pe_c relative à l’échantillon courant x_i est simplement la moyenne d’un nombre prédéterminé d’échantillons précédemment traités, par exemple la moyenne des dix derniers échantillons. Si l’information Pe_c relative à l’échantillon courant est obtenue en sortie d’un réseau de neurones, au moins un paramètre et/ou une topologie du réseau de neurones peut être transmis à un décodeur, afin que ce dernier puisse reconstruire une telle information notée Pe_d côté décodeur, avec Pe_d = Pe_c. Dans un autre mode de réalisation non illustré, l’information Pe_c relative à l’échantillon courant n’est pas obtenue en sortie d’un réseau de neurones. Par exemple, l’information Pe_c relative à l’échantillon courant est obtenue à partir d’une fonction non linéaire, ou d’un algorithme prédéterminé, ou d’une table d’association, etc. Un exemple d’algorithme consiste à générer une information Pe_c relative à l’échantillon courant multidimensionnelle, qui comporte une probabilité estimée pour un certain nombre d’échantillons précédant l’échantillon courant dans l’ordre de parcours. Par exemple, les probabilités estimées peuvent être initialisées à une valeur prédéfinie, puis mises à jour au fil de l’eau en comptant les occurrences des valeurs de chaque échantillon. On considère ci-après, à titre d’exemple, que l’information Pe_c relative à l’échantillon courant est une valeur bidimensionnelle flottante, qui comporte les variables Mu et Sigma respectivement représentatives d’une moyenne et d’une variance de l’échantillon courant. Au cours d’une étape suivante 462, facultative, on peut appliquer un pré-traitement à l’échantillon courant. Par exemple, on peut soustraire à la valeur x de l’échantillon courant x_i la valeur Mu qui correspond à la moyenne de l’échantillon courant. On obtient ainsi une nouvelle valeur y représentative de l’échantillon courant pré_traité y_i : y=x-Mu L’étape suivante est une étape de binarisation 463, ou transformation M-aire/binaire, de l’échantillon courant, délivrant au moins un élément binaire (ou « bin »), associé à l’échantillon courant. Si l’échantillon courant a été pré-traité, l’étape de binarisation est mise en œuvre sur la valeur pré-traitée de l’échantillon courant, à savoir y. Sinon, l’étape de binarisation est directement mise en œuvre sur la valeur de l’échantillon courant, à savoir x. On considère par exemple que l’échantillon courant a été pré-traité. Classiquement, un échantillon se présente comme une valeur entière signée. Ainsi, selon un premier exemple, l’étape de binarisation 463 de l’échantillon courant pré-traité est la suivante : un premier élément binaire gt0 (pour « greater than 0 ») indique si la valeur absolue de l’échantillon courant pré-traité est supérieure à 0. Il peut prendre une première valeur si la valeur absolue de l’échantillon courant est égale à 0, ou une deuxième valeur si la valeur absolue de l’échantillon courant est supérieure à 0. Par exemple, la valeur de l’élément binaire gt0 est égale à 0 si et seulement si y vaut 0 ; dans ce cas, seule la valeur de gt0 est codée dans le flux compressé B, si la valeur absolue du premier élément binaire gt0 est égale à 1, la valeur d’un deuxième élément binaire sign, qui indique le signe de l’échantillon courant pré-traité, est codée dans le flux compressé B, un troisième élément binaire gt1 (pour « greater than 1 ») indique si la valeur absolue de l’échantillon courant pré-traité est supérieure à 1. La valeur absolue de l’élément binaire gt1 est égale à 0 si et seulement si y vaut 1 ; dans ce cas, les valeurs de gt0, sign et gt1 sont codées dans le flux compressé B, un quatrième élément binaire gt2 (pour « greater than 2 ») indique si la valeur absolue de l’échantillon courant pré-traité est supérieure à 2. La valeur absolue de l’élément binaire gt2 est égale à 0 si et seulement si y vaut 2 ; dans ce cas, les valeurs de gt0, sign, gt1 et gt2 sont codées dans le flux compressé B, un cinquième élément binaire gt3 (pour « greater than 3 ») indique si la valeur absolue de l’échantillon courant pré-traité est supérieure à 3. La valeur absolue de l’élément binaire gt3 est égale à 0 si et seulement si y vaut 3 ; dans ce cas, les valeurs de gt0, sign, gt1, gt2 et gt3 sont codées dans le flux compressé B, si la valeur absolue du cinquième élément binaire gt3 est égale à 1, alors y est nécessairement supérieur à 3. Les valeurs de gt0, sign, gt1, gt2 et gt3 sont codées dans le flux compressé B, suivi par une binarisation de la valeur y. On peut ainsi binariser la valeur y de l’échantillon courant pré_traité y_i, ou binariser la valeur (y-4) afin de réduire l’amplitude de la valeur à coder, par exemple en utilisant une binarisation Exp-Golomb (telle que décrite dans le standard VVC par exemple) qui produit une série d’éléments binaires eg0, eg1, eg2,… (sans limitation de taille). Dans un mode de réalisation particulier de l’invention, les éléments binaires obtenus à l’issue de l’étape de binarisation de l’échantillon courant (éventuellement pré-traité) sont indexés par une fonction d’indexation. Par exemple, les éléments binaires gt0, sign, gt1,…,gt3 ,eg0, eg1, eg2,… sont indexés de façon directe par une fonction d’indexation binidx(EB_i,j) : binidx(gt0)=0, binidx(sign)=1,…, binidx(eg0)=5, … Selon d’autres exemples, l’étape de binarisation 463 de l’échantillon courant (éventuellement pré-traité) met en œuvre d’autres techniques de binarisation, comme un codage binaire direct, un codage unaire, un codage Exp-Golomb, etc. L’étape suivante est une étape de sélection 47 du premier élément binaire (associé à l’échantillon courant x_i) comme élément binaire courant EB_i,j = EB_i,1. L’étape suivante est une étape d’obtention 471 d’une information Pb_c relative à la probabilité de codage de l’élément binaire courant, à partir l’information Pe_c relative à l’échantillon courant. On cherche ici à déterminer la probabilité selon laquelle coder l’élément binaire courant EB_i,j avec une méthode de codage entropique considérée. Par exemple, si le codage entropique est un codage arithmétique de type CABAC, il y a 64 probabilités possibles pour coder un élément binaire, dénotées par un index, comme décrit dans le document « Context-Based Adaptive Binary Arithmetic Coding in the H.264/AVC Video Compression Standard » cité en relation avec l’art antérieur. L’information Pb_c relative à la probabilité de codage de l’élément binaire courant peut être : une probabilité, un index dans une table de probabilité prédéterminée, ou toute autre information représentative de la probabilité avec laquelle on va coder entropiquement l’élément binaire courant. Selon un mode de réalisation particulier, afin de déterminer l’information Pb_c relative à la probabilité de codage de l’élément binaire courant, on utilise à la fois l’information Pe_c relative à l’échantillon courant auquel est associé l’élément binaire courant (éventuellement multidimensionnelle) et l’élément binaire courant EB_i,j en cours de codage. On présente ci-après un exemple de détermination de l’information Pb_c relative à la probabilité de codage de l’élément binaire courant à partir de l’information Pe_c relative à l’échantillon courant. Selon cet exemple, on détermine l’entier le plus proche de la variable Mu (par exemple en utilisant une fonction Round(Mu)), et on soustrait cet entier à la valeur Mu. On obtient ainsi une valeur Mu-Round(Mu) comprise entre -0,5 et +0,5. Cette valeur Mu-Round(Mu) est quantifiée, par exemple sur 17 valeurs possibles notées muidx {0, 1, .., 16} réparties uniformément entre -0.5 et +0.5. Bien entendu, d’autres pas de quantification sont envisageables, par exemple une quantification uniforme sur 64 valeurs, ou une quantification non uniforme. De même, la valeur sigma est quantifiée entre -5 et +4, par exemple sur 50 valeurs possibles notées sigidx {0, .., 49} réparties uniformément entre -5 et +4. A nouveau, d’autres pas de quantification sont envisageables, par exemple une quantification uniforme sur 100 valeurs, ou une quantification non uniforme. Une table d’association tridimensionnelle probaT, indexée par muidx, sigidx et binidx(EB_i,j), donne la probabilité selon laquelle coder l’élément binaire courant EB_i,j. Il y a donc une information Pb_c relative à la probabilité de codage de l’élément binaire courant associée de façon prédéterminée à chaque triplet (muidx, sigidx, binidx(EB_i,j)) : Pb_c = probaT[muidx][sigidx][binidx(EB_i,j)] Cette table d’association peut être construite avant le codage. Elle peut être transmise ou accessible pour le codeur et le décodeur. Pour construire cette table, on peut par exemple produire une statistique des éléments binaires sur un grand nombre de signaux d’entrée (par exemple d’images d’entrée), et déduire la probabilité de la statistique ainsi compilée. D’autres méthodes sont bien entendu envisageables. Une simple lecture de la table tridimensionnelle en tenant compte du triplet (muidx, sigidx, binidx(EB_i,j)) donne l’information Pb_c relative à la probabilité de codage de l’élément binaire courant. L’information Pb_c relative à la probabilité de codage de l’élément binaire courant est ainsi obtenue à partir d’une table préalablement déterminée associant une valeur de probabilité à l’élément binaire courant en fonction : de l’élément binaire courant, i.e. de quel élément binaire courant est en cours de codage (binidx(EB_i,j)), d’une prédiction de la valeur de l’échantillon courant (muidx), et d’une erreur de prédiction de la valeur de l’échantillon courant (sigidx). Dans un autre mode de réalisation, l’information Pb_c relative à la probabilité de codage de l’élément binaire courant peut être obtenue différemment. Par exemple, l’information Pb_c relative à la probabilité de codage de l’élément binaire courant est obtenue en appliquant une fonction prédéterminée à l’information Pe_c relative à l’échantillon courant, ou à une version quantifiée de l’information Pe_c relative à l’échantillon courant. Une telle fonction f est par exemple une fonction linéaire ou une fonction linéaire par morceaux, telle que f(Pe_c, binidx(EB_i,j))=Pb_c. Par exemple, si Pe_c dépend des deux variables Mu et Sigma, on a : f(Mu,Sigma, binidx(EB_i,j))=Pb_c. Une fois l’information Pb_c relative à la probabilité de codage de l’élément binaire courant obtenue, une étape de codage entropique 472 de la valeur de l’élément binaire courant, tenant compte de ladite information Pb_c est mise en œuvre. Au cours de cette étape 472, la valeur de l’élément binaire courant EB_i,j est codée entropiquement selon l’information Pb_c, par exemple par un codage CABAC, ou par toute autre technique de codage entropique binaire. Un autre exemple de technique de codage entropique binaire consiste à regrouper les éléments binaires selon une taille prédéterminée (par exemple, 8 éléments binaires successifs) puis à leur appliquer un codage par dictionnaire de type LZW selon l’algorithme de compression Lempel-Ziv-Welch (décrit dans le document « Lempel-Zip Complexity Reference », Giulio Ruffini, Jan. 2017 Starlab Technical Note TN00344 (V1.0). L’étape suivante est une étape de test 473 de dernier élément binaire. Si l’élément binaire courant est le dernier élément binaire associé à l’échantillon courant (EB_i,j = EB_i,M), alors l’étape suivante est une étape de test 48 de dernier échantillon, sinon, l’étape suivante est une étape 474 de sélection de l’élément binaire suivant (EB_i,j = EB_i,j+1). Dans ce cas, les étapes décrites précédemment peuvent être itérées pour ce nouvel élément binaire. Dans un mode de réalisation particulier, si l’information relative à la probabilité de codage de l’élément binaire courant est proche d’un extremum, l’étape de codage entropique de l’élément binaire suivant dépend de la valeur codée de l’élément binaire courant. Plus précisément, l’étape de codage entropique de l’élément binaire suivant applique un premier mode de codage ou un deuxième mode de codage à au moins un élément binaire suivant associé à l’échantillon courant, selon la valeur codée de l’élément binaire courant. Un tel élément binaire suivant est localisé après l’élément binaire courant selon l’ordre de codage des éléments binaires, mais non nécessairement voisin direct de l’élément binaire courant. La valeur codée de l’élément binaire courant peut être utilisée pour coder l’élément binaire suivant. On considère par exemple que la probabilité de codage de l’élément binaire courant est proche d’un minimum si elle est comprise entre 0 et 0,1 (dans ce cas elle est notée Pmin), ou proche d’un maximum si elle est comprise entre 0,9 et 1 (dans ce cas, elle est notée Pmax). Ainsi, le deuxième mode de codage est par exemple mis en œuvre : si la probabilité de codage d’une valeur égale à 0 de l’élément binaire courant est Pmax, et que la valeur codée de l’élément binaire courant est égale à 1, si la probabilité de codage d’une valeur égale à 0 de l’élément binaire courant Pmin, et que la valeur codée de l’élément binaire courant est égale à 0, si la probabilité de codage d’une valeur égale à 1 de l’élément binaire courant est Pmax, et que la valeur codée de l’élément binaire courant est égale à 0, si la probabilité de codage d’une valeur égale à 1 de élément binaire courant est Pmin, et que la valeur codée de l’élément binaire courant est égale à 1. Par exemple, le premier mode de codage met en œuvre un codage entropique d’au moins un élément binaire suivant, selon lequel l’information relative à la probabilité de codage dudit au moins un élément binaire suivant est déterminée de manière classique, par exemple comme décrit dans le standard HEVC.. Par exemple, le deuxième mode de codage met en œuvre un codage entropique d’au moins un élément binaire suivant, tenant compte d’une information relative à une probabilité de codage prédéterminée. Une telle probabilité de codage prédéterminée est par exemple comprise entre 0,4 et 0,6. Par exemple, elle est égale à 0,5. Eventuellement, une nouvelle transformation M-aire/binaire de l’élément de syntaxe courant en cours de codage est mise en œuvre, et le deuxième mode de codage met en œuvre un codage entropique du ou des nouveaux éléments binaires. En effet, les probabilités de codage possibles, par exemple au nombre de 64 si l’on considère un codeur entropique de type CABAC, sont classées. Si ces probabilités indiquent la probabilité que l’élément binaire courant soit à 0, par exemple gt0=0, alors les probabilités sont typiquement échantillonnées dans l’intervalle ]0.0, 1.0[. Ceci est par exemple décrit dans l’équation (8) de la référence CABAC précitée. Par construction, les probabilités sont strictement inférieures à 1 et strictement supérieur à 0. Il y a une probabilité la plus élevée parmi les 64 probabilités possibles, notée Pmax. Dans ce mode de réalisation particulier, si l’élément binaire courant est codé selon la probabilité Pmax (par exemple gt0 = 0 est très probable) et que l’élément binaire courant a pour valeur 1, alors le deuxième mode de codage est mis en œuvre pour le codage des éléments binaires suivants. Ainsi, par exemple, tous les éléments binaires suivants associés au même échantillon courant sont codés avec une probabilité prédéterminée, par exemple égale 0,5. Alternativement, une nouvelle binarisation peut être mise en œuvre pour coder la valeur de l’élément courant x-1 (ou y-1 si l’élément courant a été pré-traité). En effet, on a considéré selon cet exemple que l’élément binaire courant gt0 = 0 est très probable, alors que l’élément binaire courant gt0 a pour valeur 1. Cela signifie que la valeur absolue de l’échantillon courant x (ou y) est supérieure à 0 (i.e. au moins égale à 1). On peut donc appliquer une nouvelle binarisation à x-1 (ou y-1). Par exemple, x-1 (ou y-1) est binarisé en utilisant une binarisation de type codage binaire direct, d’un codage unaire, d’un codage Exp-Golomb, etc et tous les nouveaux éléments binaires produits sont codés avec une probabilité 0,5. En effet, lorsque le bin gt0 = 0 est codé selon la probabilité Pmax, c’est qu’une valeur 0 est extrêmement probable, et qu’on est donc dans une zone de la latente présentant beaucoup d’échantillons nuls. Lorsqu’un échantillon non nul arrive, il s’agit d’une transition brute, et la valeur de l’échantillon est imprédictible. Pour éviter une explosion du débit (si les autres éléments binaires de l’échantillon courant sont codés à 1 alors que la probabilité de zéro est très forte), on code le reste de l’échantillon courant (par exemple le reste de son l’amplitude) avec un codage raisonnable (par exemple une probabilité 0,5). Bien entendu, la condition énoncée plus tôt (« si l’élément binaire gt0 est codé selon la probabilité Pmax mais qu’il a pour valeur 1 ») peut aussi s’énoncer à l’envers selon que l’on utilise des probabilités que l’élément binaire soit à 0 ou des probabilités que l’élément binaire soit à 1 (« si l’élément binaire gt0 est codé selon la probabilité Pmin mais qu’il a pour valeur 0 »). Si l’élément binaire courant est le dernier élément binaire associé à l’échantillon courant, on teste si l’échantillon courant est le dernier échantillon au cours de l’étape 48 (x_i = x_N). Au cours de cette étape, on peut notamment tester si l’échantillon courant est le dernier échantillon du bloc courant (ce qui signifie qu’il faut passer au bloc suivant). Si un premier indicateur de codage Fx est utilisé pour le bloc courant, on peut également tester si la valeur de ce premier indicateur de codage Fx est égale à 1, ce qui signifie que l’on vient de coder le premier échantillon d’un bloc qui ne contient que des valeurs identiques. Si l’un ou l’autre de ces tests est vérifié, la prochaine étape est une étape de vérification 481 si le bloc courant est le dernier bloc (B_b = B_B). Sinon, la prochaine étape est une étape de sélection 482 de l’échantillon suivant dans le bloc courant. Dans ce cas, les étapes décrites précédemment peuvent être itérées pour ce nouvel échantillon. L’étape de vérification 481 permet de tester si le bloc courant est le dernier bloc dans la latente courante. Si c’est le cas, la prochaine étape est une étape de vérification 49 si la latente courante est la dernière latente (L_l = L_l). Sinon, la prochaine étape est une étape de sélection du bloc suivant 4412 dans la latente courante. Dans ce cas, les étapes décrites précédemment peuvent être itérées pour ce nouveau bloc. L’étape de vérification 49 permet de tester si la latente courante est la dernière latente représentative du signal d’origine. Si tel le cas, le processus de codage est terminé. Sinon, la prochaine étape est une étape de sélection 491 de la latente suivante. Dans ce cas, les étapes décrites précédemment peuvent être itérées pour cette nouvelle latente. A l’issue du processus de codage, le flux binaire résultant B peut être stocké et/ou transmis à un décodeur. 5.3.2 Décodage La FIG. 6 illustre un exemple de décodeur 6 permettant de reconstruire, à partir du flux binaire compressé B, un signal décodé ID, correspondant à l’image d’origine codée-décodée. Comme indiqué en relation avec la FIG. 3 , le flux binaire compressé B peut être représenté par des éléments de syntaxe codés associés aux latentes L_1, …, L_l, …, L_L. Selon la FIG. 6 , un module de décodage entropique 61 est mis en œuvre pour reconstruire les valeurs décodées des éléments de syntaxe à partir du flux binaire compressé. Les valeurs décodées des éléments de syntaxe sont ensuite traitées par un module de synthèse 62, permettant de reconstruire les valeurs décodées des échantillons formant le signal décodé. Selon l’exemple illustré en FIG. 6 , on considère que le module de synthèse 62 met en œuvre un synthétiseur 621. Dans un premier mode de réalisation illustré en FIG. 6 , les valeurs décodées des éléments de syntaxe en sortie du module de décodage entropique 61 sont groupées dans les latentes L_1, …, L_l, …, L_L. Les latentes en entrée du synthétiseur 621 portent donc des éléments de syntaxe décodés. A partir des valeurs des éléments de syntaxe précédemment décodés, on peut construire des valeurs décodées des échantillons du signal. Dans un deuxième mode de réalisation, non illustré, les valeurs décodées des éléments de syntaxe en sortie du module de décodage entropique 61 peuvent être synthétisées dans le synthétiseur pour reconstruire les valeurs décodées des échantillons du signal. Ces valeurs décodées des échantillons du signal peuvent être groupées dans les latentes L_1, …, L_l, …, L_L. De façon symétrique au module de syntaxisation 31 décrit en relation avec la FIG. 3 , le module de synthèse 62 peut mettre en œuvre un réseau de neurones, un système conventionnel, comme le module de synthèse d’un décodeur HEVC ou VVC, un système hybride entre un décodeur conventionnel et des réseaux de neurones, un décodeur par représentation implicite comme le décodeur Cool-Chic ou NeRV, etc. La synthèse des valeurs décodées des éléments de syntaxe permet de reconstruire les valeurs décodées des échantillons formant le signal décodé ID. On décrit ci-après, en relation avec la FIG. 7 , un exemple d’algorithme de décodage mis en œuvre par le module de décodage entropique 61. Au cours d’une première étape 71, facultative, des indicateurs haut niveau peuvent être décodés. Cette étape peut être mise en œuvre si de tels indicateurs sont présents dans le flux binaire compressé, par exemple dans l’en-tête du flux compressé (par exemple dans l’en-tête de l’image codée). De tels indicateurs portent des informations qui concernent l’image entière si le signal d’origine est une image. De façon plus générale, de tels indicateurs portent des informations qui concernent tout ou partie du signal d’origine. Par exemple, le décodeur décode (décodage directe ou entropique) la valeur d’un élément de syntaxe block_size qui indique si le codeur a utilisé une division en blocs et si, de façon symétrique, le décodeur doit utiliser une division en blocs. Si la valeur 0 (par exemple) est décodée, cela signifie qu’il n’y a pas de divisions en blocs. Dans ce cas, algorithmiquement, l’image est considérée comme un seul bloc. Si une valeur non nulle est décodée pour l’élément de syntaxe block_size, cela signifie qu’il y a une division en blocs. En particulier, si le codeur a codé la taille BS des blocs comme valeur de l’élément de syntaxe block_size, le décodeur peut décoder cette valeur pour obtenir la taille des blocs pour la mise en œuvre d’une division en blocs. A titre d’exemple, on considère une taille de bloc BS=8, ce qui signifie que chaque latente est découpée en blocs d’échantillons de taille 8x8 valeurs. En variante, d’autres éléments de syntaxe relatifs à la taille des blocs, comme block_size_h, block_size_w peuvent être décodés. Par ailleurs, selon le mode de réalisation illustré en FIG. 7 , si un découpage par blocs est mis en œuvre au codage, le premier indicateur haut niveau flat_blocks, associé à un ensemble d’au moins deux blocs, peut être décodé. Comme déjà indiqué en relation avec la FIG. 4 , ce premier indicateur flat_blocks permet d’indiquer l’utilisation d’un premier indicateur de codage Fx pour chaque bloc dudit ensemble. Le décodeur peut ainsi activer la fonctionnalité de décodage d’un bloc entier d’échantillons portant des valeurs identiques par un unique indicateur, en décodant une valeur prédéterminée du premier indicateur haut niveau flat_blocks (par exemple flat_blocks =1). Dans le mode de réalisation illustré en FIG. 7 , cette fonctionnalité de décodage est activée. Si cette fonctionnalité n’est pas activée, il n’est pas possible de décoder un bloc ainsi, et il faut décoder tous les échantillons du bloc un par un, même s’ils sont tous identiques, ou décoder toutes les valeurs des éléments de syntaxe décrivant ces échantillons même si elles sont identiques. Enfin, selon le mode de réalisation illustré en FIG. 7 , si un découpage par blocs est mis en œuvre au codage, le deuxième indicateur haut niveau zero_blocks, associé à un ensemble d’au moins deux blocs, peut être décodé. Comme déjà indiqué en relation avec la FIG. 4 , ce deuxième indicateur zero_blocks permet d’indiquer l’utilisation d’un deuxième indicateur de codage Zb pour chaque bloc dudit ensemble. Le décodeur peut ainsi activer la fonctionnalité de décodage d’un bloc entier d’échantillons nuls par un unique indicateur, en décodant une valeur prédéterminée du deuxième indicateur haut niveau zero_blocks (par exemple zero_blocks = 1). Dans le mode de réalisation illustré en FIG. 7 , cette fonctionnalité de décodage est activée. Si cette fonctionnalité n’est pas activée, il n’est pas possible de décoder un bloc ainsi, et il faut décoder tous les échantillons du bloc un par un, même s’ils sont tous nuls, ou décoder toutes les valeurs des éléments de syntaxe décrivant ces échantillons même si elles sont toutes nulles. L’étape suivante est une étape de sélection 72 de la première latente L_l = L_1 portant au moins un bloc portant au moins un échantillon codé. Au cours de cette étape, on suppose que les latentes sont ordonnées et qu’il existe un parcours prédéterminé parmi elles. La première latente dans cet ordre de parcours est sélectionnée comme latente courante L_l. L’étape suivante est une étape de sélection 73 du premier bloc B_b = B_1. Au cours de cette étape, on suppose que les blocs sont ordonnés dans la latente courante (par exemple dans l’ordre lexicographique) et qu’il existe un parcours prédéterminé parmi eux. Le premier bloc dans cet ordre de parcours est sélectionné comme bloc courant B_b. L’étape suivante est une étape de décodage (entropique ou non) 74 de la valeur du deuxième indicateur de codage Zb. Cette étape est notamment mise en œuvre si la fonctionnalité de décodage d’un bloc entier d’échantillons nuls par un unique indicateur est activée (par exemple zero_blocks = 1). On teste ensuite 741 la valeur décodée du deuxième indicateur de codage Zb. Si la valeur décodée du deuxième indicateur de codage Zb est égale à une première valeur (par exemple Zb=1), cela signifie que le bloc courant B_b avant codage ne contient que des valeurs nulles (tous les échantillons du bloc courant ou tous les éléments de syntaxe représentatifs du bloc courant portent une valeur nulle). Dans ce cas, le décodeur reconstruit un bloc portant uniquement des valeurs nulles. L’étape suivante est une étape de sélection 742 du bloc suivant B_b+1, tant que l’on n’a pas atteint le dernier bloc B_B. Si la valeur décodée du deuxième indicateur de codage Zb est égale à une deuxième valeur (par exemple Zb=0), cela signifie que le bloc courant B_b avant codage ne contient pas que des valeurs nulles (au moins un échantillon du bloc courant ou au moins un élément de syntaxe représentatif du bloc courant porte une valeur non nulle). Dans ce cas, l’étape suivante est une étape de décodage (entropique ou non) 75 de la valeur du premier indicateur de codage Fx. Cette étape est notamment mise en œuvre si la fonctionnalité de décodage d’un bloc entier d’échantillons portant des valeurs identiques par un unique indicateur est activée (par exemple flat_blocks = 1). Si la valeur décodée du premier indicateur de codage Fx est égale à une première valeur (par exemple Fx=0), cela signifie que le bloc courant B_b avant codage ne contient pas que des valeurs identiques (au moins deux échantillons du bloc courant ou au moins deux éléments de syntaxe représentatifs du bloc courant portent une valeur différente). A l’inverse, si la valeur décodée du premier indicateur de codage Fx est égale à une deuxième valeur (par exemple Fx=1), cela signifie que le bloc courant B_b avant codage ne contient que des valeurs identiques (tous les échantillons du bloc courant ou tous les éléments de syntaxe représentatifs du bloc courant portent une valeur identique). L’étape suivante est une étape de sélection 76 du premier échantillon y_i = y_1 du bloc courant B_b, ou d’un premier élément de syntaxe ES_i = ES_1 représentatif d’au moins un échantillon du bloc courant B_b. Comme pour le codeur, on décrit ci-après le cas où le décodeur travaille sur les échantillons du bloc courant. Il suffit de remplacer « échantillon » par « élément de syntaxe » dans la suite si le décodeur travaille sur les éléments de syntaxe représentatifs d’au moins un échantillon du bloc courant. Au cours de cette étape, on suppose que les échantillons codés sont ordonnés dans le bloc courant B_b (par exemple dans l’ordre lexicographique) et qu’il existe un parcours prédéterminé parmi eux. Le premier échantillon dans cet ordre de parcours est sélectionné comme échantillon courant. L’étape suivante est l’étape d’obtention 761 d’une information Pe_d relative à l’échantillon courant, à partir de la valeur décodée d’au moins un échantillon codé précédemment décodé. Pour le premier échantillon, cette information Pe_d peut être initialisée à une valeur prédéfinie. Une telle information Pe_d relative à l’échantillon courant peut être représentative de la probabilité de l’échantillon. Par exemple, l’information Pe_d relative à l’échantillon courant appartient au groupe comprenant : une moyenne des valeurs décodées d’au moins deux échantillons précédemment décodés, une espérance des valeurs décodées d’au moins deux échantillons précédemment décodés, une variance des valeurs décodées d’au moins deux échantillons précédemment décodés, une probabilité d’au moins une valeur codée possible pour l’échantillon courant, une combinaison d’au moins deux des éléments ci-dessus. Cette information Pe_d peut être monodimensionnelle, pluridimensionnelle, flottante ou entière. L’information Pe_d relative à l’échantillon courant côté décodage est normalement identique ou corrélée à l’information relative à l’échantillon courant côté codage puisque les étapes de codage/décodage entropique sont généralement sans perte. Par exemple, comme illustré en FIG. 5 et déjà décrit en relation avec le codeur, l’information Pe_d relative à l’échantillon courant de valeur x (ou y s’il y a eu un pré-traitement côté codeur) situé dans la latente L_l aux coordonnées (i,j) peut être obtenue à partir de la valeur décodée d’au moins un échantillon précédemment décodé {a, b, c, d, e, f}, localisé à gauche et au-dessus de l’échantillon courant de valeur x. Dans un mode de réalisation particulier, l’information Pe_d relative à l’échantillon courant peut être obtenue en sortie d’un réseau de neurones. Ainsi, en revenant à la FIG. 6 , un réseau de neurones 63, par exemple un réseau ARM (par exemple de type totalement connecté ou convolutif) peut fournir en sortie une information Pe_d relative à l’échantillon courant, en prenant en entrée le voisinage causal de l’échantillon courant (par exemple dans un même bloc ou une même latente), constitué par exemple des échantillons décodés de valeurs a,b,c…,f. L’information Pe_d relative à l’échantillon courant obtenue en sortie du réseau de neurones 63 comprend par exemple deux variables Mu et Sigma, à valeurs flottantes. En variante, le réseau ARM peut produire une information Pe_d relative à l’échantillon courant correspondant à la probabilité complète de l’échantillon courant, c’est-à-dire la probabilité de chaque valeur qu’il peut prendre. En particulier, le réseau de neurones peut être reconstruit au décodeur à partir d’au moins un paramètre transmis et/ou une topologie transmise dans le signal codé ou dans un signal distinct. Dans un autre mode de réalisation non illustré, l’information Pe_d relative à l’échantillon codé courant n’est pas obtenue en sortie d’un réseau de neurones. Par exemple, l’information Pe_d relative à l’échantillon courant est obtenue à partir d’une fonction non linéaire, ou d’un algorithme prédéterminé, ou d’une table d’association, etc. De manière générale, le décodeur met en œuvre, pour déterminer l’information Pe_d relative à l’échantillon courant, un traitement similaire à celui mis en œuvre par le codeur pour déterminer l’information Pe_c relative à l’échantillon courant. On considère ci-après, à titre d’exemple, que l’information Pe_d relative à l’échantillon courant est une valeur bidimensionnelle flottante, qui comporte les variables Mu et Sigma respectivement représentatives d’une prédiction de la valeur décodée de l’échantillon courant (obtenue par exemple à partir d’une moyenne des valeurs décodées d’au moins deux échantillons précédemment décodés) et d’une erreur de prédiction de la valeur décodée de l’échantillon courant (obtenue par exemple à partir d’une variance ou dispersion des valeurs décodées d’au moins deux échantillons précédemment décodés). Par la suite, on dit que Mu et Sigma sont respectivement représentatives d’une moyenne et d’une variance de l’échantillon courant. L’étape suivante est une étape de sélection 77 du premier élément binaire (associé à l’échantillon courant) comme élément binaire courant EB_i,j = EB_i,1. L’étape suivante est une étape d’obtention 771 d’une information Pb_d relative à la probabilité de décodage de l’élément binaire courant, à partir l’information Pe_d relative à l’échantillon courant. On cherche ici à déterminer la probabilité selon laquelle décoder l’élément binaire courant EB_i,j avec une méthode de décodage entropique considérée. Par exemple, si le décodage entropique est un décodage arithmétique de type CABAC, il y a 64 probabilités possibles pour décoder un élément binaire, dénotées par un index, comme décrit dans le document « Context-Based Adaptive Binary Arithmetic Coding in the H.264/AVC Video Compression Standard » cité en relation avec l’art antérieur. L’information Pb_d relative à la probabilité de décodage de l’élément binaire courant peut être : une probabilité, un index dans une table de probabilité prédéterminée, ou toute autre information représentative de la probabilité avec laquelle on va décoder entropiquement l’élément binaire courant. Selon un mode de réalisation particulier, afin de déterminer l’information Pb_d relative à la probabilité de décodage de l’élément binaire courant, on utilise à la fois l’information Pe_d relative à l’échantillon courant auquel est associé l’élément binaire courant (éventuellement multidimensionnelle) et l’élément binaire courant EB_i,j en cours de décodage. On présente ci-après un exemple de détermination de l’information Pb_d relative à la probabilité de décodage de l’élément binaire courant à partir de l’information Pe_d relative à l’échantillon courant. Selon cet exemple, la valeur Mu-Round(Mu) est quantifiée entre -0,5 et +0,5, par exemple sur 17 valeurs possibles, notées muidx {0, 1, .., 16} réparties uniformément entre -0,5 et +0,5. Bien entendu, d’autres pas de quantification sont envisageables, par exemple une quantification uniforme sur 64 valeurs, ou une quantification non uniforme. De même, la valeur sigma est quantifiée entre -5 et +4, par exemple sur 50 valeurs possibles sigidx {0, .., 49} réparties uniformément entre -5 et +4. Bien entendu, d’autres pas de quantification sont envisageables, par exemple une quantification uniforme sur 100 valeurs, ou une quantification non uniforme. Une table d’association tridimensionnelle probaT, indexée par muidx, sigidx et binidx(EB_i,j), donne la probabilité selon laquelle décoder l’élément binaire courant EB_i,j. Il y a donc une information Pb_d relative à la probabilité de décodage de l’élément binaire courant associée de façon prédéterminée à chaque triplet (muidx, sigidx, binidx(EB_i,j)) : Pb_d = probaT[muidx][sigidx][binidx(EB_i,j)] Comme déjà indiqué, cette table d’association peut être construite avant le décodage. Elle peut être transmise ou accessible pour le codeur et le décodeur. Une simple lecture de la table tridimensionnelle en tenant compte du triplet (muidx, sigidx, binidx(EB_i,j)) donne l’information Pb_d relative à la probabilité de décodage de l’élément binaire courant. L’information Pb_d relative à la probabilité de décodage de l’élément binaire courant est ainsi obtenue à partir d’une table préalablement déterminée associant une valeur de probabilité à l’élément binaire courant en fonction : de l’élément binaire courant, i.e. de quel élément binaire courant est en cours de décodage (binidx(EB_i,j)), d’une prédiction de la valeur décodée de l’échantillon courant (muidx), et d’une erreur de prédiction de la valeur décodée de l’échantillon courant (sigidx). Dans un autre mode de réalisation, l’information Pb_d relative à la probabilité de décodage de l’élément binaire courant peut être obtenue différemment. Par exemple, l’information Pb_d relative à la probabilité de décodage de l’élément binaire courant est obtenue en appliquant une fonction prédéterminée à l’information Pe_d relative à l’échantillon courant, ou à une version quantifiée de l’information Pe_d relative à l’échantillon courant. Une telle fonction f est par exemple une fonction linéaire ou une fonction linéaire par morceaux, telle que f(Pe_d, binidx(EB_i,j))=Pb_d. Par exemple, si Pe_d dépend des deux variables Mu et Sigma, on a : f(Mu,Sigma, binidx(EB_i,j))=Pb_d. Une fois l’information Pb_d relative à la probabilité de décodage de l’élément binaire courant obtenue, une étape de décodage entropique 772 de la valeur de l’élément binaire courant, tenant compte de ladite information Pb_d est mise en œuvre. Au cours de cette étape 772, la valeur de l’élément binaire courant EB_i,j est décodée entropiquement selon l’information Pb_d, par exemple par un codage CABAC, ou par toute autre technique de décodage entropique binaire. L’étape suivante est une étape de test 773 de dernier élément binaire. Si l’élément binaire courant est le dernier élément binaire associé à l’échantillon courant (EB_i,j = EB_i,M), alors l’étape suivante est une étape de débinarisation (transformation binaire / M-aire) 78. Dans un mode de réalisation particulier, l’étape de de test 773 de dernier élément binaire peut dépendre de la valeurs des éléments binaires précédemment décodés, selon la binarisation choisie au codage. Si l’on considère la binarisation proposée en relation avec la FIG. 4 , délivrant les éléments binaires gt0, sign, gt1,gt2, gt3, eg0, eg1,…, le décodeur peut considérer qu’il a atteint le dernier élément binaire si la valeur décodée de l’élément binaire gtX vaut 0, ou après le décodage du dernier élément binaire egX si la valeur décodée de l’élément binaire gt3 vaut 1. Si l’élément binaire courant n’est pas le dernier élément binaire associé à l’échantillon courant, l’étape suivante est une étape 774 de sélection de l’élément binaire suivant (EB_i,j =EB_i,j+1). Dans ce cas, les étapes décrites précédemment peuvent être itérées pour ce nouvel élément binaire. Dans un mode de réalisation particulier, si l’information relative à la probabilité de décodage de l’élément binaire courant est proche d’un extremum, l’étape de décodage entropique 772 de l’élément binaire suivant dépend de la valeur décodée de l’élément binaire courant. Plus précisément, l’étape de décodage entropique de l’élément binaire suivant applique un premier mode de décodage ou un deuxième mode de décodage à au moins un élément binaire suivant associé à l’échantillon courant, selon la valeur décodée de l’élément binaire courant. On considère par exemple que la probabilité de décodage de l’élément binaire courant est proche d’un minimum si elle est comprise entre 0 et 0,1 (dans ce cas elle est notée Pmin), ou proche d’un maximum si elle est comprise entre 0,9 et 1 (dans ce cas, elle est notée Pmax). Ainsi, le deuxième mode de codage est par exemple mis en œuvre : si la probabilité de décodage d’une valeur égale à 0 de l’élément binaire courant est Pmax, et que la valeur décodée de l’élément binaire courant est égale à 1, si la probabilité de décodage d’une valeur égale à 0 de l’élément binaire courant Pmin, et que la valeur décodée de l’élément binaire courant est égale à 0, si la probabilité de décodage d’une valeur égale à 1 de l’élément binaire courant est Pmax, et que la valeur décodée de l’élément binaire courant est égale à 0, si la probabilité de décodage d’une valeur égale à 1 de élément binaire courant est Pmin, et que la valeur décodée de l’élément binaire courant est égale à 1. Par exemple, le premier mode de décodage met en œuvre un décodage entropique d’au moins un élément binaire suivant, tenant compte d’une information Pb_d relative à la probabilité de décodage dudit au moins un élément binaire suivant. Par exemple, le deuxième mode de décodage met en œuvre un décodage entropique d’au moins un élément binaire suivant, tenant compte d’une probabilité de décodage prédéterminée. Une telle probabilité de codage prédéterminée est par exemple comprise entre 0,4 et 0,6. Par exemple, elle est égale à 0,5. Eventuellement, le deuxième mode de décodage est mis en œuvre lorsque le codeur a mis en œuvre une modification, par exemple une nouvelle binarisation, de l’échantillon courant en cours de décodage. En effet, les probabilités de décodage possibles, par exemple au nombre de 64 si l’on considère un décodeur entropique de type CABAC, sont classées. Si ces probabilités indiquent la probabilité que l’élément binaire courant soit à 0, par exemple gt0 = 0, alors les probabilités sont typiquement échantillonnées dans l’intervalle ]0.0, 1.0[. Si l’élément binaire courant est décodé selon la probabilité Pmax (par exemple gt0 = 0 est très probable) et que la valeur décodée de l’élément binaire courant est égale à 1, alors le deuxième mode de codage est mis en œuvre pour le décodage des éléments binaires suivants. Ainsi, par exemple, tous les éléments binaires suivants associés au même échantillon courant sont décodés avec une probabilité prédéterminée, par exemple égale 0,5. Alternativement, si une nouvelle binarisation a été mise en œuvre côté codeur comme décrit précédemment, tous les éléments binaires produits sont décodés avec une probabilité 0,5 par exemple. En effet, lorsque le bin gt0 est décodé selon la probabilité Pmax, c’est qu’une valeur 0 est extrêmement probable, et qu’on est donc dans une zone de la latente présentant beaucoup d’échantillons nuls. Lorsqu’un échantillon non nul arrive, il s’agit d’une transition brute, et la valeur de l’échantillon est imprédictible. Pour éviter une explosion du débit (si les autres éléments binaires de l’échantillon courant sont codés à 1 alors que la probabilité de zéro est très forte), on décode l’échantillon courant (par exemple le reste de son amplitude) avec un décodage raisonnable (par exemple une probabilité 0,5). Bien entendu, la condition énoncée plus tôt (« si l’élément binaire gt0 est décodé selon la probabilité Pmax mais qu’il a pour valeur 1 ») peut aussi s’énoncer à l’envers selon que l’on utilise des probabilités que l’élément binaire soit à 0 ou des probabilités que l’élément binaire soit à 1 (« si l’élément binaire gt0 est décodé selon la probabilité Pmin mais qu’il a pour valeur 0 »). Si l’élément binaire courant est le dernier élément binaire associé à l’échantillon courant (EB_i,j = EB_i,M), l’étape suivante de débinarisation (transformation binaire / M-aire) 78 permet de reconstruire l’échantillon courant (pré-traité ou non). Avantageusement, la débinarisation de l’échantillon courant met en œuvre une opération inverse de la binarisation mise en œuvre au codage. On considère par exemple la binarisation proposée en relation avec la FIG. 4 , appliqué à un échantillon courant pré-traité, délivrant les éléments binaires gt0, sign, gt1,gt2, gt3, eg0, eg1,…, Au cours de l’étape 78, la valeur de l’échantillon courant pré-traité y peut être décodée de de la façon suivante : si la valeur décodée du premier élément binaire gt0 est à une première valeur (indiquant que la valeur de l’échantillon pré-traité courant est égale à 0 comme expliqué en relation avec l’étape 463), par exemple gt0 = 0, alors la valeur décodée de l’échantillon pré-traité courant est égale à 0. Dans ce cas, le décodeur peut considérer que seule la valeur de gt0 a été codée dans le flux compressé B, et il peut considérer que l’élément binaire gt0 est le dernier élément binaire à traiter, si la valeur absolue décodée du premier élément binaire gt0 est à une deuxième valeur (indiquant que la valeur absolue de l’échantillon pré-traité courant est supérieure à 0 comme expliqué en relation avec l’étape 463), par exemple gt0 = 1, alors la valeur décodée du deuxième élément binaire (sign) indique le signe de l’échantillon pré-traité courant, si la valeur absolue décodée du troisième élément binaire gt1 est à une première valeur (indiquant que la valeur absolue de l’échantillon pré-traité courant est égale à 1 comme expliqué en relation avec l’étape 463), par exemple gt1 = 0, alors la valeur absolue décodée de l’échantillon pré-traité courant est égale à 1. Dans ce cas, le décodeur peut considérer que seules les valeurs de gt0, sign et gt1 ont été codées dans le flux compressé B, et il peut considérer que l’élément binaire gt1 est le dernier élément binaire à traiter, si la valeur absolue décodée du quatrième élément binaire gt2 est à une première valeur (indiquant que la valeur absolue de l’échantillon pré-traité courant est égale à 2 comme expliqué en relation avec l’étape 463), par exemple gt2 = 0, alors la valeur absolue décodée de l’échantillon pré-traité courant est égale à 2. Dans ce cas, le décodeur peut considérer que seules les valeurs de gt0, sign, gt1 et gt2 ont été codées dans le flux compressé B, et il peut considérer que l’élément binaire gt2 est le dernier élément binaire à traiter, si la valeur absolue décodée du cinquième élément binaire gt3 est à une première valeur (indiquant que la valeur absolue de l’échantillon pré-traité courant est égale à 3 comme expliqué en relation avec l’étape 463), par exemple gt3 = 0, alors la valeur absolue décodée de l’échantillon pré-traité courant est égale à 3. Dans ce cas, le décodeur peut considérer que seules les valeurs de gt0, sign, gt1, gt2 et gt3 ont été codées dans le flux compressé B, et il peut considérer que l’élément binaire gt3 est le dernier élément binaire à traiter, si la valeur absolue décodée du cinquième élément binaire gt3 est à une deuxième valeur (indiquant que la valeur absolue de l’échantillon pre-traité courant est supérieure à 3 comme expliqué en relation avec l’étape 463), par exemple gt3 = 1, alors la valeur y décodée de l’échantillon pré-traité courant peut être reconstruite en utilisant une technique de transformation binaire/M-aire de type Exp-Golomb à partir de l’ensemble d’éléments binaires eg0, eg1, eg2,… ,sans limitation de taille. Eventuellement, le décodeur cherche à reconstruire y-4, si c’est cette valeur que l’encodeur a choisi de coder, et que le décodage de gt3 indique que l’amplitude de l’échantillon courant est inférieure à 4 en valeur absolue. Selon d’autres exemples, l’étape de débinarisation 78 de l’échantillon courant (éventuellement pré-traité) met en œuvre d’autres techniques de débinarisation, à partir d’un codage binaire direct, d’un codage unaire, d’un codage Exp-Golomb, etc. L’étape suivante est une étape de post traitement 781 de l’échantillon courant pré-traité. Une telle étape est facultative, et peut notamment être mise en œuvre si une étape de pré-traitement a été mise en œuvre côté codage. Au cours de cette étape, le décodeur ajoute par exemple, à la valeur décodée de l’échantillon courant, une moyenne des valeurs décodées d’au moins deux échantillons précédemment décodés. Par exemple, l’échantillon courant pré-traité se voit attribuer la valeur x, en ajoutant la valeur Mu à y : x=y+Mu. Le décodeur teste ensuite si l’échantillon courant est le dernier échantillon au cours d’une étape 79 (x_i = x_N). Au cours de cette étape, on peut notamment tester si l’échantillon courant est le dernier échantillon du bloc courant B_b (ce qui signifie qu’il faut passer au bloc suivant B_b+1). Si un premier indicateur de codage Fx est utilisé pour le bloc courant, on peut également tester si la valeur décodée de ce premier indicateur de codage Fx est égale à 1, ce qui signifie que le décodeur vient de décoder la valeur du premier échantillon d’un bloc qui ne contient que des valeurs identiques. Si l’un ou l’autre de ces tests est vérifié, la prochaine étape est une étape de vérification 791 si le bloc courant est le dernier bloc (B_b = B_B). Si aucun de ces tests n’est vérifié, la prochaine étape est une étape de sélection 792 de l’échantillon suivant y_i = y_i+1 dans le bloc courant. Dans ce cas, les étapes décrites précédemment peuvent être itérées pour ce nouvel échantillon. L’étape de vérification 791 permet de tester si le bloc courant est le dernier bloc dans la latente courante. Si tel est le cas, la prochaine étape est une étape de vérification 793 si la latente courante est la dernière latente (L_l = L_L). Sinon, la prochaine est l’étape de sélection 742 du bloc suivant (B_b = B_b+1) dans la latente courante L_l. Dans ce cas, les étapes décrites précédemment peuvent être itérées pour ce nouveau bloc. L’étape de vérification 793 permet de tester si la latente courante est la dernière latente représentative du signal codé. Si tel le cas, le processus de décodage est terminé. Sinon, la prochaine étape est une étape de sélection 794 de la latente suivante. Dans ce cas, les étapes décrites précédemment peuvent être itérées pour cette nouvelle latente. 5.4 Variantes On a décrit ci-dessus un exemple de mise en œuvre de l’invention pour le codage et le décodage d’un signal. Il s’agit toutefois d’un exemple illustratif, et certaines étapes sont facultatives. Notamment, l’exemple décrit repose sur une représentation du signal sous forme de latentes, qui peuvent être décomposées en blocs. L’utilisation de latentes est facultative. La taille des blocs n’est pas fixée. Dans un mode de réalisation particulier, on peut considérer un seul bloc d’échantillons. De même, l’exemple de mise en œuvre décrit ci-dessus repose sur le traitement d’échantillons du signal. Bien entendu, les mêmes étapes, en particulier les étapes de codage / décodage entropique, peuvent être mises en œuvre sur des éléments de syntaxe représentatifs du signal. 5.5 Dispositifs de codage et de décodage On présente finalement, en relation avec les figures 8 et 9, les structures simplifiées d’un codeur et d’un décodeur selon au moins un mode de réalisation de l’invention. Comme illustré en FIG. 8 , un codeur comprend au moins une mémoire 81, au moins une unité de traitement 82, équipée par exemple d’une machine de calcul programmable ou d’une machine de calcul dédiée, par exemple un processeur P, et pilotée par le programme d’ordinateur 83, mettant en œuvre les étapes du procédé de codage selon au moins un mode de réalisation de l’invention. A l’initialisation, les instructions de code du programme 83 sont par exemple chargées dans une mémoire RAM avant d’être exécutées par le processeur de l’unité de traitement 82. Le processeur de l’unité de traitement 82 met en œuvre des étapes du procédé de codage décrit précédemment sur un signal d’origine, selon les instructions du programme d’ordinateur 83, pour générer un signal codé. Comme illustré en FIG. 9 , un décodeur comprend au moins une mémoire 91, au moins une unité de traitement 92, équipée par exemple d’une machine de calcul programmable ou d’une machine de calcul dédiée, par exemple un processeur P, et pilotée par le programme d’ordinateur 93, mettant en œuvre les étapes du procédé de décodage selon au moins un mode de réalisation de l’invention. A l’initialisation, les instructions de code du programme 93 sont par exemple chargées dans une mémoire RAM avant d’être exécutées par le processeur de l’unité de traitement 92. Le processeur de l’unité de traitement 92 met en œuvre des étapes du procédé de décodage décrit précédemment sur un signal codé, selon les instructions du programme d’ordinateur 93, pour reconstruire un signal d’origine. Procédé de codage d’un signal comprenant au moins un bloc d’échantillons à coder, ledit procédé mettant en œuvre les étapes suivantes, pour le codage (10) d’au moins un desdits blocs, représenté par un ensemble d’éléments de syntaxe, dit bloc courant : si au moins deux éléments de syntaxe dudit ensemble portent une valeur différente : affectation (111) d’une première valeur à un premier indicateur de codage associé audit bloc courant, codage (112) de la valeur desdits au moins deux éléments de syntaxe dudit ensemble selon une technique de codage, sinon : affectation (113) d’une deuxième valeur, distincte de ladite première valeur, audit premier indicateur de codage, codage (114) de la valeur d’un premier élément de syntaxe dudit ensemble selon ladite technique de codage, codage (12) de la valeur dudit premier indicateur de codage associé audit bloc courant. Procédé de codage selon la revendication 1, caractérisé en ce que ledit procédé met également en œuvre les étapes suivantes pour le codage (10) dudit bloc courant : si tous les éléments de syntaxe dudit ensemble portent une valeur identique nulle : affectation d’une première valeur à un deuxième indicateur de codage associé audit bloc courant, si au moins un élément de syntaxe dudit ensemble portent une valeur non nulle : affectation d’une deuxième valeur, distincte de ladite première valeur, audit deuxième indicateur de codage, codage de la valeur dudit deuxième indicateur de codage associé audit bloc courant. Procédé de codage selon l'une quelconque des revendications 1 et 2, caractérisé en ce qu’il met en œuvre le codage de la valeur d’un premier indicateur haut niveau associé à un ensemble d’au moins deux blocs indiquant l’utilisation dudit premier indicateur de codage pour chaque bloc dudit ensemble. Procédé de codage selon l'une quelconque des revendications 2 et 3, caractérisé en ce qu’il met en œuvre le codage de la valeur d’un deuxième indicateur haut niveau associé à un ensemble d’au moins deux blocs indiquant l’utilisation dudit deuxième indicateur de codage pour chaque bloc dudit ensemble. Procédé de codage selon l'une quelconque des revendications 1 à 4, caractérisé en ce que les éléments de syntaxe représentatifs d’au moins un bloc d’échantillons dudit signal sont obtenus à partir d’un réseau de neurones. Procédé de codage selon la revendication 5, caractérisé en ce qu’il comprend la transmission d’au moins un paramètre et/ou une topologie dudit réseau de neurones à un décodeur. Procédé de décodage d’un signal comprenant au moins un bloc d’échantillons à décoder, ledit procédé mettant en œuvre les étapes suivantes, pour le décodage d’au moins un desdits blocs, représenté par un ensemble d’éléments de syntaxe, dit bloc courant : décodage (21) de la valeur d’un premier indicateur de codage associé audit bloc courant, si la valeur décodée dudit premier indicateur de codage est égale à une première valeur : décodage (211) de la valeur d’au moins deux éléments de syntaxe dudit ensemble selon une technique de décodage, si la valeur décodée dudit premier indicateur de codage est égale à une deuxième valeur, distincte de ladite première valeur : décodage (212) de la valeur d’un premier élément de syntaxe dudit ensemble selon ladite technique de décodage, reconstruction (213) de la valeur décodée d’au moins un deuxième élément de syntaxe dudit ensemble d’éléments de syntaxe par répétition de la valeur décodée dudit premier élément de syntaxe. Procédé de décodage selon la revendication 7, caractérisé en ce que ledit procédé met également en œuvre les étapes suivantes pour le décodage dudit bloc courant : décodage de la valeur d’un deuxième indicateur de codage associé audit bloc courant, si la valeur décodée dudit deuxième indicateur de codage est égale à une première valeur : reconstruction de la valeur décodée de tous les éléments de syntaxe dudit ensemble d’éléments de syntaxe avec une valeur nulle, si la valeur décodée dudit deuxième indicateur de codage est égale à une deuxième valeur, distincte de ladite première valeur : mise en œuvre de ladite étape de décodage de la valeur dudit premier indicateur de codage. Procédé de décodage selon l'une quelconque des revendications 7 et 8, caractérisé en ce qu’il met en œuvre le décodage de la valeur d’un premier indicateur haut niveau associé à un ensemble d’au moins deux blocs indiquant l’utilisation dudit premier indicateur de codage pour chaque bloc dudit ensemble. Procédé de décodage selon l'une quelconque des revendications 8 et 9, caractérisé en ce qu’il met en œuvre le décodage de la valeur d’un deuxième indicateur haut niveau associé à un ensemble d’au moins deux blocs indiquant l’utilisation dudit deuxième indicateur de codage pour chaque bloc dudit ensemble. Procédé de décodage selon l'une quelconque des revendications 7 à 10, caractérisé en ce que les éléments de syntaxe représentatifs d’au moins un bloc d’échantillons dudit signal sont obtenus à partir d’un réseau de neurones. Procédé de décodage selon la revendication 11, caractérisé en ce qu’il comprend la construction dudit réseau de neurones à partir d’au moins un paramètre et/ou une topologie transmis dans ledit signal. Dispositif de codage d’un signal comprenant au moins un bloc d’échantillons à coder, ledit dispositif de codage comprenant au moins une unité de traitement configurée pour coder au moins un desdits blocs, représenté par un ensemble d’éléments de syntaxe, dit bloc courant, comprenant : si au moins deux éléments de syntaxe dudit ensemble portent une valeur différente : affecter une première valeur à un premier indicateur de codage associé audit bloc courant, coder la valeur desdits au moins deux éléments de syntaxe dudit ensemble selon une technique de codage, sinon : affecter une deuxième valeur, distincte de ladite première valeur, audit premier indicateur de codage, coder la valeur d’un premier élément de syntaxe dudit ensemble selon ladite technique de codage, coder la valeur dudit premier indicateur de codage associé audit bloc courant. Dispositif de décodage d’un signal comprenant au moins un bloc d’échantillons à décoder, ledit dispositif de décodage comprenant au moins une unité de traitement configurée pour décoder au moins un desdits blocs, représenté par un ensemble d’éléments de syntaxe, dit bloc courant, comprenant : décoder la valeur d’un premier indicateur de codage associé audit bloc courant, si la valeur décodée dudit premier indicateur de codage est égale à une première valeur : décoder la valeur d’au moins deux éléments de syntaxe dudit ensemble selon une technique de décodage, si la valeur décodée dudit premier indicateur de codage est égale à une deuxième valeur, distincte de ladite première valeur : décoder la valeur d’un premier élément de syntaxe dudit ensemble selon ladite technique de décodage, reconstruire la valeur décodée d’au moins un deuxième élément de syntaxe dudit ensemble d’éléments de syntaxe par répétition de la valeur décodée dudit premier élément de syntaxe. Programme d’ordinateur comportant des instructions pour la mise en œuvre d’un procédé selon l'une quelconque des revendications 1 à 12 lorsque ce programme est exécuté par un processeur.