Brevet FR3092719A1 — publié le 20200814

Description Titre de l'invention : Procédés et dispositifs de codage et de décodage d'un flux de données représentatif d'au moins une image. [0001] 1. Domaine (le l'invention [0002] Le domaine de l'invention est celui du codage et du décodage d'images ou de séquences d'images, et notamment de flux vidéo. [0003] Plus précisément, l'invention concerne la compression d'images ou de séquences d'images utilisant une représentation par blocs des images. [0004] L'invention peut notamment s'appliquer au codage image ou vidéo mis en oeuvre dans les codeurs actuels ou à venir (JPEG, MPEG, 1-1.264, 1-1EVC, etc et leurs amendements), et au décodage correspondant. [0005] 2. Art Antérieur [0006] Lcs images et séquences d'images numériques occupent beaucoup d'espace en termes de mémoire, ce qui nécessite, lorsque l'on transmet ces images, de les compresser afin d'éviter les problèmes d'encombrement sur le réseau utilisé pour cette transmission. [0007] On connaît déjà de nombreuses techniques de compression de données vidéo. Parmi celles-ci, le standard de compression HEVC (''H igh Efficicncy Video Coding, Coding Tools and Specification", Matthias Wien, Signais and Communication Technology, 2015) propose de mettre en oeuvre une prédiction de pixels d'une image courante par rapport à d'autres pixels appartenant à la même image (prédiction intra) ou à une image précédente ou suivante (prédiction inter). [0008] Plus précisément, la prédiction intra exploite les redondances spatiales au sein d'une image. Pour cc faire, les images sont découpées en blocs de pixels. Lcs blocs de pixels sont alors prédits à l'aide d'informations déjà reconstruites, correspondant aux blocs précédemment codés/décodés dans l'image courante scion l'ordre de parcours des blocs dans l'image. [0009] Par ailleurs, de manière classique, le codage d'un bloc courant est réalisé à l'aide d'une prédiction du bloc courant, dit bloc prédictcur, et d'un résidu de prédiction ou « bloc résiduel », correspondant à une différence entre le bloc courant et le bloc prédicteur. Le bloc résiduel obtenu est alors transformé, par exemple en utilisant une transformée de type DCT (transformée en cosinus discrète). Les coefficients du bloc résiduel transformé sont ensuite quantifiés, puis codés par un codage entropique et transmis au décodeur, qui peut reconstruire le bloc courant en ajoutant ce bloc résiduel au bloc prédicteur. [0010] Le décodage est fait image par image, et pour chaque image, bloc par bloc. Pour 2 chaque bloc, les éléments correspondants du flux sont lus. La quantification inverse et la transformation inverse des coefficients du bloc résiduel sont effectuées. Puis, la prédiction du bloc est calculée pour obtenir le bloc prédicteur et le bloc courant est reconstruit en ajoutant la prédiction (i.c. le bloc prédicteur) au bloc résiduel décodé. [0011] Dans US9253508, une technique de codage DPCM (pour Differential Pulse Code Modulation en anglais) pour coder des blocs en mode Infra est insérée dans un codeur HEVC. Une telle technique consiste à prédire un ensemble de pixels d'un bloc intra par un autre ensemble de pixels du même bloc qui ont été précédemment reconstruits. Dans US9253508, un ensemble de pixels du bloc intra à coder correspond à une ligne du bloc, ou une colonne ou une ligne et une colonne et la prédiction intra utilisée pour prédire l'ensemble de pixels est l'une des prédictions intra directionnelles définies dans le standard HEVC. [0012] Une telle technique n'est toutefois pas optimale. En effet, la prédiction d'un pixel par des pixels voisins précédemment traités est bien adaptée pour coder des données de type naturel (photos, vidéos). Toutefois, lorsque le type de contenu est artificiel, par exemple des contenus correspondant à des captures d'écran, ou à des images de synthèse, les images présentent de fortes discontinuités engendrant des transitions ayant de fortes énergies. [0013] Plus particulièrement, les images de synthèses, par exemple, sont susceptibles de contenir des zones possédant un nombre très faible de valeurs de pixel, aussi appelé niveaux par la suite. Par exemple, certains zones peuvent présenter seulement 2 niveaux : un pour l'arrière-plan et un pour l'avant-plan, tel que du texte noir sur un fond blanc. [0014] En présence d'une telle transition dans une zone de l'image, la valeur d'un pixel à coder est alors très éloignée de la valeur des pixels voisins. Une prédiction d'un tel pixel telle que celle décrite ci-dessus utilisant des pixels voisins précédemment traités peut alors difficilement modéliser de telles transitions. [0015] 11 existe donc un besoin pour une nouvelle méthode de codage et de décodage pour améliorer la compression des données image ou vidéo. [0016] 3. Exposé de l'invention [0017] L'invention vient améliorer l'état de la technique. Elle concerne à cet effet un procédé de décodage d'un flux de données codées représentatif d'au moins une image découpée en blocs. Un tel procédé de décodage comprend, pour au moins un bloc de l'image, dit bloc courant: [0018] - la détermination d'un groupe de valeurs de pixel constantes pour le bloc à partir de pixels précédemment décodés, [0019] - pour chaque pixel du bloc: le décodage d'un résidu de prédiction associé audit pixel, 3 la détermination d'une valeur de prédiction associée au pixel selon un premier mode de prédiction, selon lequel le pixel est prédit à partir d'au moins un autre pixel précédemment décodé, ledit autre pixel précédemment décodé appartenant audit bloc courant ou à un bloc dc l'image précédemment décodé, le décodage à partir du flux dc données, d'une information indiquant si le pixel est prédit selon un deuxième mode dc prédiction selon lequel le pixel est prédit à l'aide d'une prédiction issue dudit groupe de valeurs de pixel constantes pour le bloc, lorsque l'information indique que le pixel est prédit selon le deuxième mode de prédiction: - sélection d'une valeur dudit groupe, - remplacement de ladite valeur de prédiction associée au pixel par ladite valeur sélectionnée, reconstruction dudit pixel à l'aide de la valeur de prédiction associée au pixel et du résidu de prédiction. [0020] Corrélativement, l'invention concerne également un procédé de codage d'un flux de données représentatif d'au moins une image découpée en blocs. Un tel procédé de codage comprend, pour au moins un bloc de l'image, dit bloc courant: [0021] - la détermination d'un groupe de valeurs de pixel constantes pour le bloc à partir de pixels précédemment décodés, [0022] - pour chaque pixel du bloc: la détermination d'une valeur de prédiction associée au pixel selon un premier mode de prédiction selon lequel le pixel est prédit par la valeur de prédiction associée au pixel déterminée à partir d'au moins un autre pixel précédemment décodé, ledit autre pixel précédemment décodé appartenant audit bloc courant ou à un bloc de l'image précédemment décodé, la détermination d'un mode de prédiction pour le pixel parmi le premier mode de prédiction et un deuxième mode de prédiction selon lequel le pixel est prédit à l'aide d'une prédiction issue dudit groupe de valeurs de pixel constantes pour le bloc, le codage dans le flux de données, d'une information indiquant si le pixel est prédit selon le deuxième mode de prédiction, lorsque l'information indique que le pixel est prédit selon le deuxième mode de prédiction: - sélection d'une valeur dudit groupe, - remplacement de ladite valeur de prédiction associée au pixel par ladite valeur sélectionnée, le calcul d'un résidu de prédiction associé audit pixel à l'aide de la valeur de prédiction associée au pixel et de la valeur dudit pixel, le codage du résidu de prédiction associé audit pixel dans le flux de données, la reconstruction dudit pixel à l'aide de la valeur de prédiction associée au pixel et du résidu de prédiction décodé. [0023] L'invention permet ainsi d'améliorer les performances en compression d'un mode de codage utilisant une prédiction locale par des pixels voisins d'un pixel à coder. Avantageusement, un groupe de valeurs de pixels représentatives des valeurs de pixels voisins d'un bloc à coder est déterminé. Par exemple, ce groupe comprend un nombre prédéterminé de valeurs de pixel les plus fréquentes parmi les pixels voisins du bloc à coder. Typiquement, ce groupe de valeurs peut comprendre des valeurs d'intensité des couches de l'image lorsque l'image est représentée en couches, par exemple pour des images de synthèses, ou comprenant des zones avec un avant-plan et un arrière-plan délimité, tel qu'un texte noir sur fond blanc. [0024] Selon un mode particulier de réalisation de l'invention, le groupe de valeurs comprend deux valeurs représentatives des deux valeurs les plus fréquentes dans le voisinage du bloc. [0025] Lorsqu'un pixel situé dans une zone de transition est détecté, sa valeur de prédiction est modifiée pour prendre une des valeurs du groupe ainsi déterminé. [0026] Les valeurs d'un tel groupe sont dits constantes pour le bloc courant car elles sont dé- terminées une seule fois pour tous les pixels du bloc courant. [0027] Selon un mode particulier de réalisation de l'invention, la sélection d'une valeur du groupe est faite en fonction d'une distance entre la valeur de prédiction associée audit pixel et déterminée selon le premier mode de prédiction par rapport aux valeurs de pixel constantes du groupe. [0028] Ce mode particulier de réalisation de l'invention permet de sélectionner aisément une valeur de prédiction du groupe pour un pixel situé dans une zone de transition et ne nécessite pas de transmettre d'informations supplémentaires pour indiquer cette sélection. [0029] Selon un autre mode particulier de réalisation de l'invention, le groupe comprenant une première valeur et une deuxième valeur, lorsqu'une distance entre la valeur de prédiction associée audit pixel et la première valeur est inférieure à une distance entre la valeur de prédiction associée audit pixel et la deuxième valeur, la valeur dudit groupe sélectionnée est la première valeur, et la valeur dudit groupe sélectionnée est la deuxième valeur sinon. [0030] Selon un autre mode particulier de réalisation de l'invention, l'information indiquant si le pixel est prédit selon le deuxième mode de prédiction est décodée à partir du flux de données ou codée dans le flux de données seulement lorsque le résidu de prédiction du pixel est différent de 0. [0031] Ce mode particulier de réalisation permet d'éviter le codage de l'information indiquant une prédiction selon le deuxième mode de prédiction lorsque le résidu de prédiction est différent de 0. Ainsi, selon ce mode particulier de réalisation, au décodeur, le premier mode de prédiction est utilisé par défaut pour prédire le pixel courant. [0032] Ce mode particulier de réalisation de l'invention permet d'éviter le codage d'informations inutiles par le codeur. En effet, au codeur, lorsque la prédiction selon le premier mode de prédiction permet d'obtenir un résidu de prédiction nul, i.c. une prédiction optimale, l'information indiquant que le deuxième mode de prédiction n'est pas utilisé pour le pixel courant est implicite. [0033] Un tel mode particulier de réalisation de l'invention peut être mis en oeuvre au codeur, par une étape préalable de calcul du résidu de prédiction à partir de la prédiction issue du premier mode de prédiction ou bien par une étape de détermination si la valeur d'origine du pixel à coder est éloignée ou non de la valeur de prédiction issue du premier mode de prédiction. [0034] Selon un autre mode particulier de réalisation de l'invention, la détermination d'un groupe de valeurs de pixel constantes pour le bloc à partir de pixels précédemment décodés est réalisée par un calcul d'un histogramme des valeurs de pixels voisins du bloc courant et précédemment reconstruits et la sélection d'au moins deux valeurs de pixels représentatives respectivement de deux valeurs de pixels les plus fréquentes parmi les pixels voisins du bloc courant. [0035] Selon un autre mode particulier de réalisation de l'invention, une valeur de seuil est déterminée à partir d'au moins une valeur dudit groupe de valeurs de pixel constantes pour le bloc à partir de pixels précédemment décodés. Lors de la détermination d'un mode de prédiction pour le pixel, le deuxième mode de prédiction est choisi: [0036] - lorsque la valeur originale dudit pixel est supérieure à ladite valeur de seuil et la valeur de seuil est supérieure à la valeur de prédiction associée au pixel déterminée selon le premier mode de prédiction, ou [0037] - lorsque la valeur originale dudit pixel est inférieure à ladite valeur de seuil et la valeur de seuil est inférieure à la valeur de prédiction associée au pixel déterminée selon le premier mode de prédiction. [0038] L'invention concerne également un dispositif de décodage d'un flux de données codées représentatif d'au moins une image découpée en blocs. Un tel dispositif de décodage comprend un processeur configuré pour, pour au moins un bloc de l'image, dit bloc courant: [0039] - déterminer un groupe de valeurs de pixel constantes pour le bloc à partir de pixels précédemment décodés, [0040] - pour chaque pixel du bloc: 6 décoder un résidu de prédiction associé audit pixel, déterminer une valeur de prédiction associée au pixel, à partir d'au moins un autre pixel précédemment décodé, ledit autre pixel précédemment décodé appartenant audit bloc courant ou à un bloc de l'image précédemment décodé, déterminer à partir du flux de données, une information indiquant si le pixel est prédit à l'aide d'une prédiction issue dudit groupe de valeurs de pixel constantes pour le bloc, lorsque l'information indique que le pixel est prédit à l'aide d'une prédiction issue du groupe de valeurs de pixel constantes pour le bloc: - sélectionner une valeur dudit groupe, - remplacer ladite valeur de prédiction associée au pixel par ladite valeur sélectionnée, reconstruire ledit pixel à l'aide de la valeur de prédiction associée au pixel et du résidu de prédiction. [0041] Selon un mode particulier de réalisation de l'invention, un tel dispositif de décodage est compris dans un terminal. [0042] L'invention concerne également un dispositif de codage d'un flux de données repré- sentatif d'au moins une image découpée en blocs. Un tel dispositif de codage comprend un processeur configure pour, pour au moins un bloc de l'image, dit bloc courant: [0043] - déterminer un groupe de valeurs de pixel constantes pour le bloc à partir de pixels précédemment décodés, [0044] - pour chaque pixel du bloc: déterminer une valeur de prédiction associée au pixel selon un premier mode de prédiction, selon lequel le pixel est prédit à partir d'au moins un autre pixel précédemment décodé, ledit autre pixel précédemment décodé appartenant audit bloc courant ou à un bloc de l'image précédemment décodé, déterminer un mode de prédiction pour le pixel parmi le premier mode de prédiction et un deuxième mode de prédiction selon lequel le pixel est prédit à l'aide d'une prédiction issue dudit groupe de valeurs de pixel constantes pour le bloc, coder dans le flux de données, une information indiquant si le pixel est prédit selon le deuxième mode de prédiction, lorsque l'information indique que le pixel est prédit selon le deuxième mode de prédiction: - sélectionner une valeur dudit groupe, - remplacer ladite valeur de prédiction associée au pixel par ladite valeur sélectionnée, calculer un résidu de prédiction associé audit pixel à l'aide de la valeur de 7 prédiction associée au pixel et de la valeur dudit pixel, coder le résidu de prédiction associé audit pixel dans le flux de données, reconstruire ledit pixel à l'aide de la valeur de prédiction associée au pixel et du résidu de prédiction décodé. [0045] Selon un mode particulier de réalisation de l'invention, un tel dispositif de codage est compris dans un terminal, ou un serveur. [0046] L'invention concerne également un flux de données représentatif d'au moins une image découpée en blocs. Un tel flux de données comprend, pour au moins un bloc de l'image, dit bloc courant, et pour chaque pixel du bloc courant: [0047] - une information représentative d'un résidu de prédiction associé audit pixel, [0048] - une information indiquant si le pixel est prédit à l'aide d'une prédiction issue d'un groupe de valeurs de pixel constantes pour le bloc, le groupe de valeurs de pixel constantes pour le bloc étant déterminé à partir de pixels précédemment décodés. [0049] Le procédé de décodage, respectivement le procédé de codage, selon l'invention peut être mis en oeuvre de diverses manières, notamment sous forme câblée ou sous forme logicielle. Selon un mode particulier de réalisation de l'invention, le procédé de décodage, respectivement le procédé de codage, est mis en oeuvre par un programme d'ordinateur. L'invention concerne également un programme d'ordinateur comportant des instructions pour la mise en oeuvre du procédé de décodage ou du procédé de codage selon l'un quelconque des modes particuliers de réalisation décrits précédemment, lorsque ledit programme est exécuté par un processeur. Un tel programme peut utiliser n'importe quel langage de programmation. Il peut être téléchargé depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur. [0050] Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable. [0051] L'invention vise aussi un support d'enregistrement ou support d'informations lisible par un ordinateur, et comportant des instructions d'un programme d'ordinateur tel que mentionné ci-dessus. Les supports d'enregistrement mentionnés ci-avant peuvent être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage telle qu'une mémoire. D'autre part, les supports d'enregistrement peuvent correspondre à un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet. [0052] Alternativement, les supports d'enregistrement peuvent correspondre à un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou 8 pour être utilisé dans l'exécution du procédé en question. [0053] 4. Liste des figures [0054] D'autres caractéristiques et avantages de l'invention apparaîtront 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 : [0055] [fig.1] La figure 1 présente des étapes du procédé de codage selon un mode particulier de réalisation de l'invention. [0056] [fig.2A] La figure 2A illustre un exemple d'une partie d'un flux de données codées selon un mode particulier de réalisation de l'invention. [0057] [fig.2B] La figure 2B illustre un exemple d'une partie d'un flux de données codées selon un autre mode particulier de réalisation de l'invention. [0058] [fig.3A] La figure 3A illustre un exemple de position des blocs voisins d'un bloc courant pour déterminer un mode de prédiction intra selon un mode particulier de réalisation de l'invention. [0059] [fig.3B] La figure 3B illustre un exemple de position des pixels de référence utilisés pour prédire des pixels d'un bloc courant selon un mode particulier de réalisation de l'invention. [0060] [fig.4] La figure 4 présente des étapes du procédé de décodage selon un mode particulier de réalisation de l'invention. [0061] [fig.5] La figure 5 illustre des exemples de blocs comprenant du contenu de type écrans présentant chacun deux couches de contenus, ainsi que leur voisinage respectif dans l'image selon un mode particulier de réalisation de l'invention. [0062] [fig.6] La figure 6 illustre un exemple de bloc 16x16 comprenant du contenu de type écrans présentant deux couches de contenus et une carte de transition montrant les états de transition des pixels pour ce bloc selon un mode particulier de réalisation de l'invention. [0063] [fig.7] La figure 7 présente la structure simplifiée d'un dispositif de codage adapté pour mettre en oeuvre le procédé de codage selon l'un quelconque des modes particuliers de réalisation de l'invention. 9 [0064] [fig.8] La figure 8 présente la structure simplifiée d'un dispositif de décodage adapté pour mettre en oeuvre le procédé de décodage selon l'un quelconque des modes particuliers de réalisation de l'invention. [0065] 5. Description d'un mode de réalisation de l'invention [0066] 5.1 Principe général [0067] L'invention permet d'améliorer un mode de codage d'un bloc d'une image utilisant une prédiction locale pour des pixels du bloc localisés sur une transition entre deux niveaux de valeurs de pixels très distincts. [0068] Un mode de codage d'un bloc à coder utilisant une prédiction locale permet l'utilisation de pixels de référence appartenant au bloc à coder pour prédire d'autres pixels du bloc à coder. Ce mode de prédiction permet de réduire le résidu de prédiction grâce à l'utilisation de pixels du bloc très proches spatialement du pixel à coder. [0069] Toutefois, ce mode de codage introduit un résidu de codage relativement grand lorsque les pixels d'origine sont éloignés de leur prédiction. C'est généralement le cas pour les contenus de type captures d'écrans, ou image de synthèse. Dans ce type de contenus, un bloc à coder peut présenter de fortes discontinuités. Dans ce cas, des pixels de référence appartenant à un arrière-plan peuvent être utilisés pour prédire des pixels du même bloc appartenant à un avant-plan, ou vice-versa. Dans ce cas, l'information disponible dans les pixels de référence n'est pas adéquate pour une prédiction précise. Les pixels localisés à la frontière entre une zone d'arrière-plan et une zone d'avant-plan sont appelés par la suite pixels de transition. [0070] Avantageusement, l'invention propose de dériver pour un bloc à coder une in- formation relative à chaque couche de l'image, par exemple une information relative à l'avant-plan et une information relative à l'arrière-plan, dans le cas où seulement deux couches sont considérées. Des couches supplémentaires de contenus peuvent évidemment être prises en compte, augmentant d'autant le nombre d'informations à dériver. Par exemple, la dérivation de telles informations consiste à déterminer un groupe de valeurs de pixels constantes pour le bloc. [0071] Selon un mode particulier de réalisation de l'invention, ces informations relatives à chaque couche de l'image sont dérivées à partir d'un voisinage local du bloc à coder. [0072] Avantageusement, ces informations sont utilisées avec un mécanisme de détection des pixels de transition dans le bloc à coder. Ceci permet de réduire l'énergie résiduelle de tels pixels. [0073] La figure 5 illustre des blocs (Bi-b1) comprenant du contenu de type écrans présentant chacun deux couches de contenus, ainsi que leur voisinage (Neigh) respectif dans l'image. Tel qu'illustré sur la figure 5, le voisinage local d'un bloc courant à coder contient des informations utiles relatives au niveau d'intensité des deux couches. [0074] Selon l'invention, lorsque des pixels de transition dans le bloc à coder sont détectés, la valeur de prédiction pour ces pixels est corrigée à l'aide d'un niveau d'intensité de la couche correspondant à celle à laquelle le pixel est susceptible d'appartenir. [0075] Selon un mode particulier de réalisation de l'invention, afin d'avoir une prédiction optimale pour chaque pixel du bloc et un coût en débit limité, un tel mécanisme est limité aux pixels satisfaisant certaines conditions. [0076] En fonction d'un voisinage local d'un pixel à prédire, trois états du pixel à prédire peuvent être définis: [0077] - sl : le pixel appartient à une région homogène dans laquelle la prédiction locale à partir des pixels voisins est très efficace, par exemple elle fournit un résidu de prédiction quantifié nul. Dans ce cas, le pixel n'est pas un pixel de transition. Selon une variante de réalisation, cet état peut être détecté de manière implicite au décodeur, [0078] - s2: le pixel appartient à une région dans laquelle la prédiction locale à partir des pixels voisins est modérément efficace, par exemple elle fournit un résidu de prédiction faible. La prédiction du pixel par le mécanisme de correction cité ci-dessus est autorisée pour ce pixel, mais le mécanisme de correction n'est pas appliqué si l'erreur de prédiction résiduelle n'est pas suffisamment grande par rapport à une valeur de seuil déterminée en fonction des niveaux d'intensité des couches. Dans ce cas, un indicateur est codé spécifiquement pour signaler la non-utilisation du mécanisme de correction, [0079] - s3: le pixel appartient à une région dans laquelle la prédiction locale à partir des pixels voisins n'est pas efficace, par exemple elle fournit un résidu de prédiction important. La prédiction du pixel par le mécanisme de correction cité ci-dessus est autorisée pour ce pixel, et un indicateur est codé spécifiquement pour signaler cette utilisation. [0080] La figure 6 illustre à droite un exemple de bloc 16x16 comprenant un texte clair sur un fond sombre et à droite une carte de transition pour ce bloc montrant comment les états décrits ci-dessus peuvent être assignés aux pixels du bloc. [0081] 5. 2 Exemples de mise en oeuvre [0082] La figure 1 présente des étapes du procédé de codage selon un mode particulier de réalisation de l'invention. Par exemple, on code une séquence d'images II, INb sous la forme d'un flux de données codées STR selon un mode particulier de réalisation de l'invention. Par exemple, un tel procédé de codage est mis en oeuvre par un dispositif de codage tel que décrit plus loin en relation avec la figure 7. [0083] Une séquence d'images II, INb, Nb étant le nombre d'images de la séquence à coder, est fournie en entrée du procédé de codage. Le procédé de codage délivre en sortie un flux de données codees STR représentatif de la séquence d'images fournie en entrée. 11 [0084] De manière connue, le codage de la séquence d'images II, L, ..., Lb est fait image par image selon un ordre de codage préalablement établi et connu du codeur. Par exemple, les images peuvent être codées dans l'ordre temporel I,, L, 1-1,5 ou selon un autre ordre, par exemple 11,13, L,..., [0085] Lors d'une étape E0, une image I, à coder de la séquence d'images I3,Tz, ..., IN, est découpée en blocs, par exemple en blocs de taille 32x32, ou 64x64 pixels ou plus. Un tel bloc peut être subdivisé en sous-blocs carrés ou rectangulaires, par exemple de taille 16x16, 8x8, 4x4, 16x8, 8x16, [0086] Lors d'une étape El, un premier bloc ou sous-bloc X h à coder de l'image 1; est sé- lectionné selon un sens de parcours de l'image I, prédéterminé. Par exemple, il peut s'agir du premier bloc dans l'ordre lexicographique de parcours de l'image. [0087] Lors d'une étape E2, l'encodeur choisit le mode de codage pour coder le bloc courant X . [0088] Selon le mode particulier de réalisation décrit ici, l'encodeur sélectionne le mode de codage pour coder le bloc courant XI, parmi un premier mode de codage Ml et un deuxième mode de codage M2. Des modes de codage supplémentaires (non décrits ici) peuvent être utilisés. [0089] Selon le mode particulier de réalisation décrit ici, le premier mode de codage Ml correspond au codage du bloc courant par prédiction intra classique, par exemple tel que défini selon le standard HEVC et le deuxième mode de codage M2 correspond à un mode de codage par prédiction dit In Loop Residual (ILR) ou DPCM décrit plus loin. [0090] Le principe de l'invention peut être étendu à d'autres types de modes de codage pour le premier mode de codage MI. Par exemple, le premier mode de codage peut correspondre à tout type de modes de codage utilisant une transformation du résidu de prédiction (codage par prédiction inter-images, codage par prédiction spatiale avec "template matching" - pour appariement de modèle-, etc...). [0091] Lors de l'étape E2, le codeur peut réaliser une optimisation débit/distorsion pour dé- terminer le meilleur mode de codage pour coder le bloc courant. Au cours de cette optimisation débit/distorsion, des modes de codage supplémentaires distincts du premier et du deuxième mode de codage peuvent être testés, par exemple un mode de codage en mode inter. Au cours de cette optimisation débit/distorsion, le codeur simule le codage du bloc courant XI, selon les différents modes de codage disponibles afin de déterminer le débit et la distorsion associés à chaque mode de codage et sélectionne le mode de codage offrant le meilleur compromis débit/distorsion, par exemple selon la fonction D+À xR , où R représente le débit nécessaire pour coder le bloc courant selon le mode de 12 codage évalué, D la distorsion mesurée entre le bloc décodé et le bloc courant original et À un multiplicateur lagrangicn, par exemple entré par l'utilisateur ou défini au codeur. [0092] Lors d'une étape E20, une information indiquant le mode de codage sélectionné pour le bloc courant est codée dans le flux de données STR. [0093] Si le bloc courant X b est codé selon le premier mode de codage Ml, le procédé passe à l'étape E21 de codage du bloc selon Ml. Si le bloc courant X b est codé selon le deuxième mode de codage M2, le procédé passe à l'étape E22 de codage du bloc selon M2. [0094] On décrit ci-après l'étape E21 de codage du bloc selon le premier mode de codage Ml, selon un mode particulier de réalisation de l'invention. Selon le mode particulier décrit ici, le premier mode de codage correspond à une prédiction intra classique, telle que celle définie dans le standard HEVC. [0095] Lors d'une étape E210, un pas de quantification 6 est déterminé. Par exemple, le pas de quantification ô 1 peut être fixé par l'utilisateur, ou bien calculé à l'aide d'un paramètre de quanti- fication fixant un compromis entre compression et qualité et entré par l'utilisateur ou défini par le codeur. Ainsi, un tel paramètre de quantification peut être le paramètre À , utilisé dans la fonction de coût débit-distorsion D ±À x R , où D représente la distorsion introduite par le codage et R le débit utilisé pour coder. Cette fonction sert à faire des choix de codage. Classiquement on cherche la façon de coder l'image qui minimise cette fonction. [0096] En variante, le paramètre de quantification peut être le QP, correspondant au paramètre de quantification utilisé classiquement dans les normes AVC ou HEVC. Ainsi, dans la norme HEVC, le pas de quantification I est déterminé par l'équation 61 = levelScale[QP%6J thr > X. Autrement dit, le deuxième mode de prédiction est choisi: [0140] - lorsque la valeur originale X du pixel est supérieure à la valeur de seuil thr et la valeur de seuil thr est supérieure à la valeur de prédiction PL(X) associée au pixel déterminée selon le premier mode de prédiction, ou [0141] - lorsque la valeur originale X du pixel est inférieure à la valeur de seuil thr et la valeur de seuil thr est inférieure à la valeur de prédiction PL(X) associée au pixel déterminée selon le premier mode de prédiction. [0142] Si l'une des conditions ci-dessus est satisfaite, l'état du pixel à prédire est alors s=3 et le codeur passe à l'étape suivante E2203. [0143] Au cours de l'étape E2203, un indicateur t indiquant que le pixel à prédire est prédit selon le deuxième mode de prédiction est positionné à 1 par exemple, et codé dans le flux de données STR par exemple par un codage entropique ou transmis tel quel dans le flux. [0144] Au cours d'une étape E2204, une valeur du groupe de valeurs déterminées lors de l'étape E221 est sélectionnée pour prédire le pixel courant. [0145] Selon un mode particulier de réalisation de l'invention, la sélection d'une valeur du groupe est faite en fonction de la distance entre la valeur de prédiction associée audit pixel déterminée selon le premier mode de prédiction par rapport aux valeurs de pixel du groupe déterminées lors de l'étape E221. Par exemple, lorsque la distance entre la valeur de prédiction PL(X) associée audit pixel selon le premier mode de prédiction et la valeur b du groupe est inférieure à la distance entre la valeur de prédiction PL(X) associée audit pixel selon le premier mode de prédiction et la valeur f, la valeur sélectionnée est b, et la valeur sélectionnée est f sinon. [0146] Comme mesure de distance, la norme LI ou L2 peut par exemple être utilisée. [0147] Ainsi, si I PL(X)