Brevet FR3033115A1 — publié le 20160826

PROCÉDÉ DE CODAGE ET DÉCODAGE D'IMAGES, DISPOSITIF DE CODAGE ET DÉCODAGE ET PROGRAMMES D'ORDINATEUR CORRESPONDANTS Domaine de l'invention La présente invention se rapporte de manière générale au domaine du traitement d'images, et plus précisément au codage et au décodage d'images numériques et de séquences d'images numériques. L'invention peut s'appliquer notamment, mais non exclusivement, au codage vidéo mis en oeuvre dans les codeurs vidéo actuels AVC et HEVC et leurs extensions (MVC, 3D-AVC, MV-HEVC, 3D-HEVC, etc), ainsi qu'au décodage correspondant. Arrière-plan de l'invention Les codeurs vidéo actuels (MPEG, H.264, HEVC, ...) utilisent une représentation par blocs des images à coder. Les images sont subdivisées en blocs de forme carrée ou rectangulaire, lesquels sont susceptibles d'être subdivisés à leur tour de façon récursive. Pour au moins un bloc considéré parmi les différents blocs obtenus, une prédiction de pixels du bloc considéré est mise en oeuvre par rapport à des pixels de prédiction qui appartiennent soit à la même image (prédiction Intra), soit à une ou plusieurs images précédentes d'une séquence d'images (prédiction Inter) qui ont déjà été décodées. De telles images précédentes sont appelées classiquement images de référence et sont conservées en mémoire aussi bien au codeur qu'au décodeur. Au cours d'une telle prédiction, un bloc résidu est calculé par soustraction des pixels du bloc considéré, des pixels de prédiction. Les coefficients du bloc résidu calculé sont alors quantifiés après une éventuelle transformation mathématique, par exemple de type transformée en cosinus discrète (DCT), puis codés par un codeur entropique. Les données codées sont inscrites dans un signal de données destiné à être transmis à un décodeur. Ledit signal de données comprend notamment : 3033115 2 le type de prédiction (prédiction Intra, prédiction Inter, prédiction par défaut réalisant une prédiction pour laquelle aucune information n'est transmise au décodeur (« en anglais « skip »)) ; 5 le mode de prédiction (direction de prédiction, composante d'image de référence, ...) ; le type de subdivision en sous-blocs ; le type de transformée, par exemple DCT 4x4, DCT 8x8, etc... ; 10 les valeurs de pixels, les valeurs de coefficients transformés, amplitudes, signes de coefficients quantifiés des pixels contenus dans le bloc ou le sous-bloc considéré. Une fois que le signal de données a été reçu par le décodeur, le décodage est fait image par image, et pour chaque image, bloc par bloc. Pour 15 chaque bloc, les éléments correspondants du signal de données sont lus. La quantification inverse et la transformation inverse des coefficients des blocs sont effectuées pour produire un bloc résidu décodé. Puis, la prédiction du bloc est calculée et le bloc est reconstruit en ajoutant la prédiction au bloc résidu décodé. 20 De façon plus précise: - une prédiction Intra d'un bloc d'une image courante consiste à prédire des pixels de ce bloc par rapport à des pixels déjà codés puis décodés de l'image courante qui peuvent être situés dans différentes directions prédéterminées, par exemple trente-cinq dans le standard HEVC, 25 - une prédiction Inter d'un bloc d'une image courante consiste à prédire certaines informations de codage associées à ce bloc, telles que par exemple : - le vecteur de mouvement temporel du bloc courant par rapport à un vecteur de mouvement temporel 30 associé à un bloc de pixels de référence, - les pixels du bloc courant par rapport aux pixels d'un bloc de pixels de référence pointé par le vecteur de 3033115 3 mouvement temporel et situé dans une autre image que l'image courante à laquelle appartient le bloc courant. De tes types de prédiction sont très différents l'un de l'autre. Parfois, il 5 s'avère que le type de prédiction (ex : Inter) sélectionné dans une telle méthode de codage/décodage est mal adapté au bloc courant à coder/décoder. Il en résulte des performances de compression qui ne sont pas satisfaisantes. 10 Objet et résumé de l'invention Un des buts de l'invention est de remédier à des inconvénients de l'état de la technique précité. A cet effet, un objet de la présente invention concerne un procédé de codage d'au moins une image découpée en blocs, mettant en oeuvre, pour un 15 bloc courant à coder : - une détermination d'un premier type de prédiction du bloc courant, - une détermination d'un mode de prédiction associé au premier type de prédiction, 20 - une obtention d'un bloc prédicteur à partir du mode de prédiction déterminé, - un calcul d'un bloc résidu qui est représentatif de la différence entre le bloc prédicteur obtenu et le bloc courant. Le procédé de codage selon l'invention est remarquable en ce qu'il 25 comprend: - une sélection d'un mode de prédiction parmi une pluralité de modes de prédiction selon un deuxième type, différent du premier type, - un codage du bloc résidu calculé à l'aide d'un paramètre de codage déterminé à partir du mode de prédiction sélectionné. 30 Une telle disposition permet d'augmenter l'optimisation de la compression du bloc courant telle que déjà obtenue suite à la mise en oeuvre du premier type de prédiction, en affinant ce premier type de prédiction par un paramètre de codage associé à une prédiction du bloc courant d'un deuxième 3033115 4 type. La prédiction du bloc courant est ainsi plus précise, ce qui a pour avantage d'améliorer significativement les performances de compression du signal de données à transmettre au décodeur. Selon l'invention, un type de prédiction regroupe un ensemble de 5 prédicteurs associés chacun à un même paramètre ou à un même ensemble de paramètres. Dans le cas d'une prédiction qui est par exemple de type Intra, le paramètre de prédiction est la direction de prédiction sélectionnée parmi un ensemble de directions de prédiction prédéterminées (par exemple 35 10 directions dans le standard HEVC). Dans le cas d'une prédiction qui est par exemple de type Inter, au moins les deux paramètres de prédiction suivants sont considérés : - l'index du vecteur de mouvement qui décrit le mouvement entre les pixels du bloc courant et les pixels d'un bloc qui a déjà été codé ou bien qui 15 a déjà été codé puis décodé et qui appartient à une autre image que l'image courante, - l'index de cette autre image. Dans un mode de réalisation particulier, la sélection du mode de prédiction est mise en oeuvre en fonction du bloc prédicteur obtenu à partir du 20 mode de prédiction associé au premier type de prédiction. Une telle disposition permet avantageusement de tenir compte du bloc prédicteur obtenu à partir du mode de prédiction associé au premier type de prédiction, lequel bloc est le meilleur prédicteur du bloc original à coder. De ce fait, un tel bloc prédicteur est le plus adapté pour déterminer le bloc candidat 25 associé au mode de prédiction sélectionné parmi une pluralité de modes de prédiction selon un deuxième type. Dans un autre mode de réalisation particulier, le mode de prédiction sélectionné est celui à partir duquel est obtenu un bloc prédicteur qui, parmi d'autres blocs prédicteurs candidats, minimise la distorsion entre le bloc 30 prédicteur obtenu à partir du mode de prédiction associé au premier type de prédiction et chacun des blocs prédicteurs candidats. Une telle disposition permet, lorsqu'un certain type de prédiction est mis en oeuvre au codage, de sélectionner un autre type de prédiction qui est apte à 3033115 5 générer des blocs résidus proches du bloc résidu tel que calculé conformément audit certain type de prédiction. Une telle disposition permet d'adapter le codage du bloc résidu d'un type de prédiction à l'autre. Dans encore un autre mode de réalisation particulier, le paramètre de 5 codage appartient au groupe comprenant : - une opération de transformée, - un dictionnaire de vecteurs de quantification, - un codeur entropique, - une opération de quantification scalaire. 10 Les différents modes ou caractéristiques de réalisation précités peuvent être ajoutés indépendamment ou en combinaison les uns avec les autres, aux opérations mises en oeuvre au cours du procédé de codage tel que défini ci-dessus. Corrélativement, l'invention concerne un dispositif de codage d'au moins 15 une image découpée en blocs, comprenant, pour un bloc courant à coder : - un module de prédiction pour déterminer: - un premier type de prédiction du bloc courant, - un mode de prédiction associé au premier type de prédiction, 20 le module de prédiction délivrant un bloc prédicteur à partir du mode de prédiction déterminé, - un module de calcul d'un bloc résidu qui est représentatif de la différence entre le bloc prédicteur délivré et le bloc courant. Un tel dispositif de codage est remarquable en ce qu'il comprend : 25 - un module de sélection d'un mode de prédiction parmi une pluralité de modes de prédiction selon un deuxième type, différent du premier type, - un module de codage du bloc résidu calculé à l'aide d'un paramètre de codage déterminé à partir du mode de prédiction sélectionné. 30 De façon correspondante, l'invention concerne aussi un procédé de décodage d'un signal de données représentatif d'au moins une image ayant été découpée en blocs, mettant en oeuvre, pour un bloc courant à décoder : 3033115 6 - une détermination, dans le signal de données, d'un bloc résidu relatif au bloc courant à décoder, - une détermination d'un premier type de prédiction du bloc courant, 5 - une détermination d'un mode de prédiction associé au premier type de prédiction, - une obtention d'un bloc prédicteur à partir du mode de prédiction déterminé. Un tel procédé de décodage est remarquable en ce qu'il comprend: 10 - une sélection d'un mode de prédiction parmi une pluralité de modes de prédiction d'un deuxième type, différent dudit premier type, - une reconstruction du bloc courant à partir du bloc résidu déterminé, du bloc prédicteur obtenu et d'un paramètre de décodage déterminé à partir du mode de prédiction sélectionné. 15 Dans un mode de réalisation particulier, la sélection du mode de prédiction est mise en oeuvre en fonction du bloc prédicteur obtenu à partir du mode de prédiction associé au premier type de prédiction. Dans un autre mode de réalisation particulier, le mode de prédiction sélectionné est celui à partir duquel est obtenu un bloc prédicteur qui, parmi 20 d'autres blocs prédicteurs candidats, minimise la distorsion entre le bloc prédicteur obtenu à partir du mode de prédiction associé au premier type de prédiction et chacun des blocs prédicteurs candidats. Dans encore un autre mode de réalisation particulier, le paramètre de décodage appartient au groupe comprenant : 25 - une opération de transformée, - un dictionnaire de vecteurs de quantification, - un décodeur entropique, - une opération de quantification scalaire. Les différents modes ou caractéristiques de réalisation précités peuvent 30 être ajoutés indépendamment ou en combinaison les uns avec les autres, aux opérations mises en oeuvre au cours du procédé de décodage tel que défini ci-dessus. 3033115 7 Corrélativement, l'invention concerne un dispositif de décodage d'un signal de données représentatif d'au moins une image codée ayant été découpée en blocs, comprenant, pour un bloc courant à décoder : - un module de détermination, dans le signal de données, d'un 5 bloc résidu relatif au bloc courant à décoder, - un module de prédiction pour déterminer: - un premier type de prédiction du bloc courant, - un mode de prédiction associé au premier type de prédiction, 10 le module de prédiction délivrant un bloc prédicteur à partir du mode de prédiction déterminé. Un tel dispositif de décodage est remarquable en ce qu'il comprend : - un module de sélection d'un mode de prédiction parmi une pluralité de modes de prédiction d'un deuxième type, différent dudit premier 15 type, - un module de reconstruction du bloc courant à partir du bloc résidu déterminé, du bloc prédicteur délivré et d'un paramètre de décodage déterminé à partir du mode de prédiction sélectionné. L'invention concerne encore un programme d'ordinateur comportant des 20 instructions pour mettre en oeuvre l'un des procédés de codage et de décodage selon l'invention, lorsqu'il est exécuté sur un ordinateur. Un tel 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, 25 ou dans n'importe quelle autre forme souhaitable. Encore un autre objet de l'invention vise aussi un support d'enregistrement lisible par un ordinateur, et comportant des instructions de programme d'ordinateur tel que mentionné ci-dessus. Le support d'enregistrement peut être n'importe quelle entité ou dispositif 30 capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, un 3033115 8 moyen d'enregistrement numérique, par exemple une clé USB ou un disque dur. D'autre part, un tel support d'enregistrement peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via 5 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. Alternativement, un tel support d'enregistrement peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour 10 exécuter le procédé en question ou pour être utilisé dans l'exécution de ce dernier. Brève description des dessins D'autres caractéristiques et avantages apparaîtront à la lecture de 15 modes de réalisation préférés décrits en référence aux figures dans lesquelles: - la figure 1A représente les étapes du procédé de codage selon un premier mode de réalisation de l'invention, - la figure 1B représente une première alternative du procédé de codage selon un deuxième mode de réalisation de l'invention, 20 - la figure 1C représente une deuxième alternative du procédé de codage selon un deuxième mode de réalisation de l'invention, - la figure 2A représente un dispositif de codage selon un premier mode de réalisation de l'invention, - la figure 2B représente un dispositif de codage selon un 25 deuxième mode de réalisation de l'invention, - la figure 3A représente un dispositif de décodage selon un premier mode de réalisation de l'invention, - la figure 3B représente un dispositif de décodage selon un deuxième mode de réalisation de l'invention, 30 - la figure 4A représente les étapes du procédé de décodage selon un premier mode de réalisation de l'invention, - la figure 4B représente une première alternative du procédé de décodage selon un deuxième mode de réalisation de l'invention, 3033115 9 - la figure 4C représente une première alternative du procédé de décodage selon un deuxième mode de réalisation de l'invention. Description détaillée de la partie codage 5 Un premier mode de réalisation de l'invention va maintenant être décrit, dans lequel le procédé de codage selon l'invention est utilisé pour coder une image ou une séquence d'images selon un flux binaire proche de celui qu'on obtient par un codage mis en oeuvre dans un codeur conforme à l'une quelconque des normes de codage vidéo actuelles ou à venir. 10 Dans ce premier mode de réalisation, le procédé de codage selon l'invention est par exemple implémenté de manière logicielle ou matérielle par modifications d'un tel codeur. Le procédé de codage selon l'invention est représenté sous la forme d'un algorithme comportant des étapes Cl à C8 telles que représentées à la figure 1A. 15 Selon le premier mode de réalisation de l'invention, le procédé de codage selon l'invention est implémenté dans un dispositif de codage CO1 représenté à la figure 2A. Comme illustré en figure 2A, un tel dispositif de codage comprend une mémoire MEM CO1 comprenant une mémoire tampon TAMP C01, une unité 20 de traitement UT CO1 équipée par exemple d'un microprocesseur pl' et pilotée par un programme d'ordinateur PG_CO1 qui met en oeuvre le procédé de codage selon l'invention. A l'initialisation, les instructions de code du programme d'ordinateur PG_CO1 sont par exemple chargées dans une mémoire RAM notée RAM C01, avant d'être exécutées par le processeur de 25 l'unité de traitement UT C01. Le procédé de codage représenté sur la figure lA s'applique à toute image courante loi fixe ou bien faisant partie d'une séquence de L images ICi, ICi,..., ICI (1L) à coder. Au cours d'une étape Cl représentée à la figure 1A, il est procédé, de 30 façon connue en soi, au découpage d'une image courante ICi en une pluralité de blocs B1, B2, ..., Bs (1 LKS). Une telle étape de partitionnement est mise en oeuvre par un module logiciel de partitionnement MP CO1 représenté sur la figure 2A, lequel module est piloté par le microprocesseur pl' de l'unité 3033115 10 de traitement UT C01. Il convient de noter qu'au sens de l'invention, le terme « bloc » signifie unité de codage (de l'anglais « coding unit »). Cette dernière terminologie est notamment utilisée dans la norme HEVC « ISO/IEC/23008-2 Recommandation ITU-T H.265 High Efficiency Video Coding (HEVC) ». 5 En particulier, une telle unité de codage regroupe des ensembles de pixels de forme rectangulaire ou carrée, encore appelés blocs, macroblocs, ou bien des ensembles de pixels présentant d'autres formes géométriques. Lesdits blocs B1, B2, ..., Bu,..., Bs sont destinés à être codés selon un ordre de parcours prédéterminé, qui est par exemple du type lexicographique. 10 Cela signifie que les blocs sont codés les uns après les autres, de la gauche vers la droite. D'autres types de parcours sont bien sûr possibles. Ainsi, il est possible de découper l'image ICi en plusieurs sous-images appelées slices et d'appliquer indépendamment un découpage de ce type sur chaque sous-image. 15 Il est également possible de coder non pas une succession de lignes, comme expliqué ci-dessus, mais une succession de colonnes. Il est également possible de parcourir les lignes ou colonnes dans un sens ou dans l'autre Selon un exemple, les blocs B1, B2, ..., Bu,..., Bs ont une forme carrée et contiennent tous K pixels, avec 1. , sont construits en 30 vue de la mise à jour, de la façon suivante : Wopt+n=Vopt+n+alphal(n)*((Vopt+BSro)-Vopt+n) où : - alpha est un paramètre prédéterminé, par exemple égal à 0.1, 3033115 23 - et f(n) est une valeur qui dépend de la distance entre l'index n et l'index opt. Par exemple, dans le mode préféré de réalisation : f(n)=0.2* (5-n)/5 5 Les vecteurs Wopt+n avec n allant de -5 à +5 sont donc calculés, et viennent remplacer respectivement les vecteurs Vopt+n dans le dictionnaire CBKopt. L'ensemble des dictionnaires courants CBKi, CBK2,..., CBKw est donc ainsi remis à jour. 10 Dans un mode alternatif de réalisation, les paramètres de la mise à jour peuvent être différents suivant la taille de l'image. En effet, si l'image est petite, un apprentissage rapide de la statistique de l'image courante ICi est nécessaire. Par exemple : - pour une taille d'image appartenant à une vidéo simple définition 15 SD (abréviation anglaise de « Standard Definition »), soit moins de 720 pixels de haut et moins de 1280 pixels de large, un paramètre alpha égal à 0.3 est retenu ; - pour une taille d'image appartenant à une vidéo haute définition HD (Abréviation anglaise de « High Definition »), soit entre 720 et 1080 pixels 20 de haut et entre 1280 et 1920 pixels de large, ou bien supérieure à 1280x1920 pixels, un paramètre alpha égal à 0.2 est retenu ; - pour une taille d'image supérieure à la taille d'une image HD, un paramètre égal à 0.1 est retenu. Il est bien sûr possible de remettre à jour les dictionnaires d'autres 25 façons. Par exemple, il est possible d'appliquer le même type de mise à jour de vecteur de quantification que dans le mode préféré. Toutefois, la mise à jour, au lieu de s'appliquer aux vecteurs voisins du vecteur de quantification Vopt dans le dictionnaire CBKopt, s'applique aux vecteurs proches de Vopt+BSDro au sens de la distorsion. En variante, la mise à jour s'applique à des vecteurs proches de 30 Vopt+BSDro non seulement dans le dictionnaire CBKopt, mais dans l'ensemble des dictionnaires courants CBKi, CBK2,..., CBKw. A la suite de l'étape C117a) précitée, il est procédé, au cours d'une étape C118a) représentée sur la figure 1B, à la sélection du bloc suivant de 3033115 24 l'image courante ICi. Puis les étapes de codage de bloc décrites ci-dessus sont à nouveau mises en oeuvre pour ce bloc suivant. Si à l'issue de l'étape C116a) précitée, le critère de mise à jour n'est pas rempli, il est procédé, au cours de l'étape C118a) précitée, à la sélection du 5 bloc suivant de l'image courante ICi. Puis les étapes de codage de bloc décrites ci-dessus sont à nouveau mises en oeuvre pour ce bloc suivant. Au cours d'une étape C119a) représentée à la figure 1B, le codeur CO2 de la figure 2B teste si le bloc courant qui a été codé conformément au procédé de codage décrit ci-dessus est le dernier bloc de l'image courante ICi. 10 Si tel n'est pas le cas, l'étape C118a) précitée est mise en oeuvre. Si le bloc courant est le dernier bloc de l'image courante ICi, au cours d'une étape C120a) représentée à la figure 1B, le codeur CO2 de la figure 2B teste si l'image courante suivante ICi+i est une image de type Intra ou non. Dans le cas où l'image courante suivante ICi+i est de type Intra, avant de 15 procéder au codage des blocs de cette image conformément au procédé de codage selon l'invention, l'étape C117a) de mise à jour des dictionnaires est mise en oeuvre. Dans l'exemple représenté, les vecteurs de quantification du dictionnaire CBKopt sont chacun initialisés à une valeur respective prédéterminée. 20 Dans le cas où l'image courante suivante ICi+i n'est pas de type Intra, il est procédé directement au codage des blocs de cette image conformément au procédé de codage de la figure 1 A et éventuellement au codage par quantification vectorielle des figures 1B et 1C. La figure 1C décrit plus précisément comment la quantification 25 vectorielle est mise en oeuvre lorsqu'il a été vérifié, à l'issue de l'étape C4 de la figure 1A, que le premier type de prédiction est Inter. De la même façon que dans le premier mode de réalisation, il est procédé au calcul d'un bloc résidu Bru. Une telle étape étant identique à l'étape C5b) de la figure 1A, elle ne sera pas décrite à nouveau. 30 A la suite du calcul du bloc résidu Bru, au cours d'une étape C110b) représentée à la figure 1C, il est procédé à la sélection d'un mode de prédiction optimal MP'opt qui représente le mode de prédiction d'un deuxième type 3033115 25 sélectionné selon l'invention. Une telle étape étant en tout point identique à l'étape C6b) de la figure 1A, elle ne sera pas décrite à nouveau en détail. L'étape C110b) est mise en oeuvre par un processeur ou module logiciel de calcul CAL3 CO2 tel que représenté sur la figure 2B, lequel est piloté par le 5 microprocesseur pl' de l'unité de traitement UT CO2. Au cours d'une étape C111b) représentée à la figure 1C, il est procédé à la sélection d'un dictionnaire de vecteurs de quantification CBKopt qui appartient à un ou plusieurs dictionnaires de vecteurs de quantification disponibles au codeur, notés CBKi, CBK2,..., CBKw. De tels dictionnaires sont préalablement 10 stockés dans la mémoire tampon TAMP CO2 du codeur 002, telle que représentée à la figure 2B. Conformément au deuxième mode de réalisation de l'invention, le dictionnaire CBKupt sélectionné est celui qui est associé au mode prédiction optimal MP'upt qui a été sélectionné à l'étape C110b). 15 L'étape C111 b) est mise en oeuvre par un processeur ou module logiciel de calcul CAL4 CO2 tel que représenté sur la figure 2B, lequel est piloté par le microprocesseur pl' de l'unité de traitement UT CO2. Au cours d'une étape C112b) représentée à la figure 1C, il est procédé à une sélection d'un des vecteurs de quantification du dictionnaire CBKupt qui a 20 été sélectionné à l'étape C111 b). Une telle étape étant identique à l'étape C111a) de la figure 1B, elle ne sera pas à nouveau décrite en détail. A l'issue de l'étape C112b), un vecteur de quantification optimal Vupt est obtenu. 25 Le vecteur de quantification optimal Vupt est considéré comme une approximation du bloc résidu Bru. Les informations relatives à cette prédiction sont destinées à être inscrites dans le signal de données F2 précité. L'étape C112b) est mise en oeuvre par le processeur ou module logiciel de calcul CALS _CO2 de la figure 2B. 30 Au cours d'une étape C113b) représentée à la figure 1C, il est procédé à un codage du vecteur de quantification Vupt sélectionné à l'issue de l'étape C112b). Une telle étape étant identique à l'étape C112a) de la figure 1B, elle 3033115 26 ne sera pas à nouveau décrite en détail. A l'issue de l'étape C113b), est obtenu l'index IVopt du vecteur de quantification Vopt. L'étape C113b) est mise en oeuvre par le processeur ou module logiciel de codage binaire CB CO2 tel que représenté sur la figure 2B. 5 Au cours d'une étape C114b) représentée à la figure 1C, il est procédé à la comparaison des données relatives au bloc résidu Bru aux données du vecteur Vopt. Plus précisément, au cours de cette étape, il est procédé au calcul de la différence entre le bloc résidu Bru et le vecteur Vopt. Un deuxième ensemble de données, appelé bloc résidu secondaire BSru, 10 est alors obtenu à l'issue de l'étape C114b). L'étape C114b) est mise en oeuvre par le processeur ou module logiciel CAL6 CO2 de la figure 2B. Au cours d'une étape C115b) représentée à la figure 1C, il est procédé, conformément à l'invention, à un codage des données du bloc résidu 15 secondaire BSru. Au cours de l'étape C115b), il est procédé, au cours d'une sous-étape C1151b), à une transformation du bloc résidu secondaire BSru selon une opération classique de transformation directe, pour produire un bloc transformé BStu. 20 La sous-étape C1151b) est mise en oeuvre par le processeur ou module logiciel MT CO2 de la figure 2B. Au cours de l'étape C115b), il est procédé en outre, au cours d'une sous- étape C1152b) représentée à la figure 1C, à une quantification des données du bloc transformé BStu, pour produire un bloc quantifié BSciu formé de coefficients 25 quantifiés. Une telle étape de quantification est par exemple de type scalaire ou vectoriel. La sous-étape C1152b) est effectuée au moyen du processeur ou module logiciel de quantification MQ CO2 de la figure 2B. De façon connue en soi, au cours de l'étape C115b), il est procédé en 30 outre, au cours d'une sous-étape C1153b) représentée à la figure 1C, au codage des coefficients quantifiés du bloc BSqu. Un tel codage est par exemple un codage entropique de type CABAC ("Context Adaptive Binary Arithmetic 3033115 27 Coder" en anglais) ou bien encore un codage entropique de type arithmétique ou de Huffman. La sous-étape C1153b) est mise en oeuvre par le processeur ou module logiciel de codage MC CO2 de la figure 2B. 5 Au cours d'une étape C116b) représentée à la figure 1C, il est procédé à la construction du signal ou flux de données F2 qui contient : - les données codées à l'issue de l'étape C115b) précitée, - l'index IVopt du vecteur de quantification optimal Vopt déterminé à l'étape C113b) précitée. 10 L'étape C116b) est mise en oeuvre par le processeur ou module logiciel MCF2 de la figure 2B. Le signal de données F2 est ensuite transmis par un réseau de communication (non représenté) à un terminal distant. Celui-ci comporte le décodeur DO2 représenté à la figure 3B. 15 De façon connue en soi, le signal de données F2 comprend en outre certaines informations encodées par le codeur CO2, telles que le premier type de prédiction (Inter ou Intra) appliqué à l'étape C3, et le cas échéant, le mode de prédiction sélectionné, l'indice du bloc prédicteur obtenu BPopt obtenu à l'issue de l'étape C3, noté IBPopt, le type de partitionnement du bloc courant Bu 20 si ce dernier a été partitionné, l'indice d'image de référence et le vecteur de déplacement utilisés dans le mode de prédiction Inter. De façon connue en soi, il est ensuite procédé au décodage du bloc résidu BSru. Un bloc résidu décodé BSDru est alors obtenu. Il est alors procédé à la construction du bloc décodé BDu en ajoutant au bloc prédit BPopt le bloc 25 résidu décodé BSDru. Il est à noter que le bloc décodé BDu est le même que le bloc décodé obtenu à l'issue du procédé de décodage de l'image ICi qui sera décrit plus loin dans la description. Le bloc décodé BDu est ainsi rendu disponible pour être utilisé par le codeur CO2 de la figure 2B. 30 Au cours d'une étape C117b) représentée à la figure 1C, conformément au deuxième mode de réalisation de l'invention, il est procédé à un test qui consiste à vérifier si un critère de mise à jour des dictionnaires CBKi, CBK2,..., CBKw est rempli ou non. 3033115 28 Une telle étape étant identique à l'étape C116a) de la figure 1B, elle ne sera pas à nouveau décrite en détail. L'étape C117b) est mise en oeuvre par le processeur ou module logiciel de calcul CAL7 CO2 de la figure 2B. 5 Si le critère de mise à jour est rempli, au cours d'une étape C118b) représentée à la figure 1C, il est procédé à une mise à jour d'au moins un des dictionnaires CBK1, CBK2,..., CBKw. L'étape C118b) est mise en oeuvre par le processeur ou module logiciel de calcul CAL8 CO2 de la figure 2B. 10 Une telle étape étant identique à l'étape C118b) de la figure 1C, elle ne sera pas à nouveau décrite en détail. A la suite de l'étape C118b) précitée, il est procédé, au cours d'une étape C119b) représentée sur la figure 1C, à la sélection du bloc suivant de l'image courante ICi. Puis les étapes de codage de bloc décrites ci-dessus sont 15 à nouveau mises en oeuvre pour ce bloc suivant. Si à l'issue de l'étape C117b) précitée, le critère de mise à jour n'est pas rempli, il est procédé, au cours de l'étape C118b) précitée, à la sélection du bloc suivant de l'image courante ICi. Puis les étapes de codage de bloc décrites ci-dessus sont à nouveau mises en oeuvre pour ce bloc suivant. 20 Au cours d'une étape C120b) représentée à la figure 1C, le codeur CO2 de la figure 2B teste si le bloc courant qui a été codé conformément au procédé de codage décrit ci-dessus est le dernier bloc de l'image courante ICi. Si tel n'est pas le cas, l'étape C119b) précitée est mise en oeuvre. Si le bloc courant est le dernier bloc de l'image courante ICi, au cours 25 d'une étape C121 b) représentée à la figure 1C, le codeur CO2 de la figure 2B teste si l'image courante suivante ICi+i est une image de type Intra ou non. Dans le cas où l'image courante suivante ICi+i est de type Intra, avant de procéder au codage des blocs de cette image conformément au procédé de codage selon l'invention, l'étape C118b) de mise à jour des dictionnaires est 30 mise en oeuvre. Dans l'exemple représenté, les vecteurs de quantification du dictionnaire CBKopt sont chacun initialisés à une valeur respective prédéterminée. 3033115 29 Dans le cas où l'image courante suivante ICi+i n'est pas de type Intra, il est procédé directement au codage des blocs de cette image conformément au procédé de codage de la figure 1 A et éventuellement au codage par quantification vectorielle des figures 1B et 1C. 5 Description détaillée de la partie décodage Un premier mode de réalisation de l'invention va maintenant être décrit, dans lequel le procédé de décodage selon l'invention est utilisé pour décoder un signal ou flux de données représentatif d'une image ou d'une séquence 10 d'images qui est apte à être décodé par un décodeur conforme à l'une quelconque des normes de décodage vidéo actuelles ou à venir. Dans ce premier mode de réalisation, le procédé de décodage selon l'invention est par exemple implémenté de manière logicielle ou matérielle par modifications d'un tel décodeur. 15 Le procédé de décodage selon l'invention est représenté sous la forme d'un algorithme comportant des étapes D1 à D9 telles que représentées à la figure 4A. Selon ce premier mode de réalisation, le procédé de décodage selon l'invention est implémenté dans un dispositif de décodage ou décodeur DO1 20 représenté à la figure 3A. Comme illustré en figure 3A, selon ce premier mode de réalisation de l'invention, le décodeur DO1 comprend une mémoire MEM DO1 qui comprend elle-même une mémoire tampon TAMP D01, une unité de traitement UT DO1 équipée par exemple d'un microprocesseur pl' et pilotée par un programme 25 d'ordinateur PG DO1 qui met en oeuvre le procédé de décodage selon l'invention. A l'initialisation, les instructions de code du programme d'ordinateur PG DO1 sont par exemple chargées dans une mémoire RAM notée RAM D01, avant d'être exécutées par le processeur de l'unité de traitement UT D01. 30 Le procédé de décodage représenté sur la figure 4A s'applique à un signal ou flux de données représentatif d'une image courante ICi à décoder qui est fixe ou qui appartient à une séquence d'images à décoder. 3033115 30 A cet effet, des informations représentatives de l'image courante ICi à décoder sont identifiées dans le signal de données F1 reçu au décodeur DO1 et tel que délivré à l'issue du procédé de codage de la figure 1A. En référence à la figure 4A, au cours d'une étape D1, il est procédé à 5 l'identification dans le signal F1 des blocs résidus quantifiés Bq,, Bq2,..., Bqu, Bqs (1 REVENDICATIONS1. Procédé de codage d'au moins une image (ICj) découpée en blocs, mettant en oeuvre, pour un bloc courant (Bu) à coder : - une détermination (C31) d'un premier type de prédiction du bloc courant, - une détermination (C32) d'un mode de prédiction associé au premier type de prédiction, - une obtention d'un bloc prédicteur (BPupt) à partir du mode de prédiction déterminé, - un calcul (C5a) ; C5b)) d'un bloc résidu (Bru) qui est représentatif de la différence entre le bloc prédicteur obtenu et le bloc courant, ledit procédé de codage étant caractérisé en ce qu'il comprend: - une sélection (C6b)) d'un mode de prédiction parmi une pluralité de modes de prédiction selon un deuxième type, différent dudit premier type, - un codage (C7b)) du bloc résidu calculé à l'aide d'un paramètre de codage déterminé à partir du mode de prédiction sélectionné. 2. Procédé de codage selon la revendication 1, dans lequel la sélection du mode de prédiction est mise en oeuvre en fonction du bloc prédicteur obtenu à partir du mode de prédiction associé au premier type de prédiction. 3. Procédé de codage selon la revendication 1 ou 2, dans lequel le mode de prédiction sélectionné est celui à partir duquel est obtenu un bloc prédicteur qui, parmi d'autres blocs prédicteurs candidats, minimise la distorsion entre le bloc prédicteur obtenu à partir du mode de prédiction associé au premier type de prédiction et chacun des blocs prédicteurs candidats. 4. Procédé de codage selon l'une quelconque des revendications 1 à 3, dans lequel le paramètre de codage appartient au groupe comprenant : - une opération de transformée, - un dictionnaire de vecteurs de quantification, 3033115 49 - un codeur entropique, - une opération de quantification scalaire. 5. Dispositif de codage (CO) d'au moins une image (ICi) découpée en blocs, 5 comprenant, pour un bloc courant (Bu) à coder : - des moyens (PRED C01) de prédiction pour déterminer: - un premier type de prédiction du bloc courant, - un mode de prédiction associé au premier type de prédiction, 10 lesdits moyens de prédiction délivrant un bloc prédicteur (BPopt) à partir du mode de prédiction déterminé, - des moyens (CAL2 C01) de calcul d'un bloc résidu (Bru) qui est représentatif de la différence entre le bloc prédicteur délivré et le bloc courant, ledit dispositif de codage étant caractérisé en ce qu'il comprend: 15 - des moyens (CAL3 C01) de sélection d'un mode de prédiction parmi une pluralité de modes de prédiction selon un deuxième type, différent dudit premier type, - des moyens (MT C01, MQ C01, MC C01) de codage du bloc résidu calculé à l'aide d'un paramètre de codage déterminé à partir du mode de 20 prédiction sélectionné. 6. Programme d'ordinateur comportant des instructions de code de programme pour l'exécution des étapes du procédé de codage selon l'une quelconque des revendications 1 à 4, lorsque ledit programme est exécuté sur un ordinateur. 7. Support d'enregistrement lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur comprenant des instructions de code de programme pour l'exécution des étapes du procédé de codage selon l'une quelconque des revendications 1 à 4, lorsque ledit programme est exécuté par un ordinateur. 8. Procédé de décodage d'un signal de données (F1) représentatif d'au moins une image (ICi) découpée en blocs, mettant en oeuvre, pour un bloc courant (Bu) à décoder : 25 30 3033115 50 - une détermination (D2), dans ledit signal de données, d'un bloc résidu relatif au bloc courant à décoder, - une détermination (D31) d'un premier type de prédiction du bloc courant, 5 - une détermination (D32) d'un mode de prédiction associé audit premier type de prédiction, - une obtention (D4) d'un bloc prédicteur (BPopt) à partir dudit mode de prédiction déterminé, ledit procédé de décodage étant caractérisé en ce qu'il comprend: 10 - une sélection (D6b)) d'un mode de prédiction parmi une pluralité de modes de prédiction d'un deuxième type, différent dudit premier type, - une reconstruction (D7b)-D8b)) du bloc courant à partir du bloc résidu déterminé, du bloc prédicteur obtenu et d'un paramètre de décodage déterminé à partir du mode de prédiction sélectionné. 15 9. Procédé de décodage selon la revendication 8, dans lequel la sélection du mode de prédiction est mise en oeuvre en fonction du bloc prédicteur obtenu à partir du mode de prédiction associé au premier type de prédiction. 20 10. Procédé de décodage selon la revendication 8 ou 9, dans lequel le mode de prédiction sélectionné est celui à partir duquel est obtenu un bloc prédicteur qui, parmi d'autres blocs prédicteurs candidats, minimise la distorsion entre le bloc prédicteur obtenu à partir du mode de prédiction associé au premier type de prédiction et chacun des blocs prédicteurs candidats. 25 11. Procédé de décodage selon l'une quelconque des revendications 8 à 10, dans lequel le paramètre de décodage appartient au groupe comprenant : - une opération de transformée, - un dictionnaire de vecteurs de quantification, 30 - un décodeur entropique, - une opération de quantification scalaire. 3033115 51 12. Dispositif de décodage d'un signal de données (F1) représentatif d'au moins une image (ICi) découpée en blocs, comprenant, pour un bloc courant (Bu) à décoder : - des moyens (MI D01) de détermination, dans ledit signal de 5 données, d'un bloc résidu relatif au bloc courant à décoder, - des moyens (PRED-1 D01) de prédiction pour déterminer: - un premier type de prédiction du bloc courant, - un mode de prédiction associé au premier type de prédiction, 10 lesdits moyens de prédiction délivrant un bloc prédicteur (BPopt) à partir du mode de prédiction déterminé, ledit dispositif de décodage étant caractérisé en ce qu'il comprend: - des moyens (CALI D01) de sélection d'un mode de prédiction parmi une pluralité de modes de prédiction d'un deuxième type, différent dudit 15 premier type, - des moyens (MD D01, MQ-1 D01, MT-1 D01, CAL2 D01) de reconstruction du bloc courant à partir du bloc résidu déterminé, du bloc prédicteur délivré et d'un paramètre de décodage déterminé à partir du mode de prédiction sélectionné. 20 13. Programme d'ordinateur comportant des instructions de code de programme pour l'exécution des étapes du procédé de décodage selon l'une quelconque des revendications 8 à 11, lorsque ledit programme est exécuté sur un ordinateur. 25 14. Support d'enregistrement lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur comprenant des instructions de code de programme pour l'exécution des étapes du procédé de décodage selon l'une quelconque des revendications 8 à 11, lorsque ledit programme est exécuté par 30 un ordinateur.