Brevet FR2795278A1 — publié le 20001222

PROCEDE DE COMPRESSION D'IMAGES, NOTAMMENT DE TYPE MPEG2 L'invention est relative à un procédé de compression d'images, dans lequel chaque image ou macrobloc d'image est sou mis à un codage choisi parmi plusieurs types de codage. Elle concerne plus particulièrement le procédé de com pression MPEG2. Bien que l'invention ne soit pas limitée à ce type de compression, dans la suite de la description, on se référera principalement à ce type. on rappelle ci-après le principe d'une telle compres sion et, à cette occasion, on indiquera quels sont les types de codage qu'il faut sélectionner pour chaque macrobloc. Dans la norme MPEG2, on peut partir d'une image com portant en mode progressif 576 lignes de 720 points chacune. En mode entrelacé, cette image est composée de deux trames dont chacune comprend 288 lignes, également de 720 points chacune. Chaque image est décomposée en macroblocs dont chacun est formé par un carré de 16X16 points de luminance. Chaque macrobloc est ainsi formé de 4 blocs carrés de 8X8 points de luminance. A chacun de ces 4 blocs de luminance, on associe (dans le format 4.2.0) deux blocs de chrominance dont chacun présente 8X8 points, l'un des blocs représentant le signal Cr de différence de couleur ou chrominance rouge et l'autre bloc représentant le signal Cb de différence de couleur ou chromi- nance bleue. Dans le format 4.2.2, à chaque macrobloc de lumi nance, on associe quatre blocs de chrominance 8X8, 2 blocs pour la chrominance bleue et 2 blocs pour la chrominance rouge. I1 existe aussi un format 4.4.4 pour lequel chacune des composantes de luminance et de chrominances comporte 4 blocs 8x8. on a représenté sur la figure 1 quatre blocs de lumi nance 8x8, de référence 10 dans l'ensemble et des blocs 12 et 14 de chrominance 8x8 pour les chrominances respectivement bleue et rouge, l'ensemble illustrant un macrobloc au standard 4.2.0. Chaque bloc est codé en utilisant une transformation notée DCT qui est une transformation cosinus discrète qui permet de convertir un bloc de luminance ou chrominance en un bloc de coefficients représentant des fréquences spatiales. Comme on peut le voir sur la figure 2, un bloc source 16 est transformé en un bloc 18 de 8X8 coefficients. Le coin supérieur gauche 20 du bloc 18 correspond aux fréquences spatiales nulles (valeur moyenne de luminance du bloc) et, à partir de cette origine 20, les fréquences horizontales augmentent vers la droite, comme représenté par la flèche 22, tandis que les fréquences spatiales verticales augmentent en partant du haut vers le bas, comme représenté par la flèche 24. Pour chaque macrobloc, il faut choisir le type de codage . soit "intra", soit "inter". Un codage intra consiste à appliquer la transformation DCT sur un bloc source de l'image, tandis qu'un codage inter consiste à appliquer la transformation DCT sur un bloc représentant la différence entre un bloc source et un bloc prédit, ou bloc de prédiction, d'une image précédente ou suivante. Le choix dépend en partie du type d'images auquel appartient le macrobloc. Ces images sont de trois types : le premier type est le type dit I, ou intra, pour lequel le codage est intra pour tous les macroblocs. Le second type est de type P ou de prédiction ; dans ce type d'images, le codage de chaque macrobloc peut être soit intra soit inter. Dans le cas d'un codage inter d'un macrobloc d'une image de type P, la transformation DCT est appliquée sur la différence entre le macrobloc courant de cette image P et un macrobloc de prédiction issu de l'image I ou P précédente. Le troisième type d'images est appelé B ou bidirec tionnel. Chaque macrobloc d'un tel type d'image est soit codé en intra, soit codé en inter. Le codage en inter consiste également à appliquer la transformation sur la différence entre le macro- bloc courant de cette image B et un macrobloc de prédiction. Ce macrobloc de prédiction peut être issu soit de l'image précé dente soit de l'image suivante, soit encore des deux à la fois (prédiction bidirectionnelle), les images de prédiction dites précédente ou suivante ne pouvant être que de type I ou P. On a représenté sur la figure 3 un ensemble d'images formant un groupe appelé GOP ("croup Of Pictures") qui comprend douze images, à savoir une image I suivie de onze images B et P selon la succession suivante : B, B, P, B, B, P, B, B, P, B, B. Dans le cas des images prédites (c'est-à-dire déduites d'autres images), une estimation de mouvement, puis une compen sation de mouvement sont appliquées au macrobloc à coder. En ef fet, entre deux images, le macrobloc peut se trouver en des em placements différents en raison des mouvements inter images et inter trames. La compensation de mouvement a pour effet d'élaborer le macrobloc de prédiction selon un mode d'interpolation donné (couramment appelé mode de prédiction) ; ce macrobloc va effectivement servir de prédiction au macrobloc courant en inter-image pour un mode de codage donné. Par la suite, ce macrobloc de prédiction et, par là même, ce mode de codage, sera retenu ou rejeté en fonction des décisions prises au sein du processus permettant d'élaborer le choix du mode de codage. Par ailleurs, dans le cas d'un balayage entrelacé, pour lequel chaque image est formée de deux trames successives, une trame impaire et une trame paire, il faut déterminer si la transformation DCT doit être effectuée de façon progressive ou, individuellement, sur chaque trame. En effet, selon le mouvement de l'image ou la structure de cette image, le résultat du codage peut être différent selon que la transformation est effectuée sur l'image ou sur chaque trame. Ce choix est représenté par les figures 4a et 4b. Sur la figure 4a on a représenté un macrobloc 28 d'une image entre lacée formée de lignes 301, 303, ..., 3015 d'une trame impaire et de lignes 302, 304, ..., 3016 d'une trame paire. La figure 4a correspond à une transformation DCT effectuée sur l'image ; cha cun des quatre blocs du macrobloc 28 est transformé sans réar- ranger les lignes. Ainsi, le codage est effectué sur les quatre blocs 281, 282, 283, 284 formant le macrobloc 28 et on effectue la transformation sur les lignes 301 à 308 pour les blocs 281 et 282 et sur les lignes 309 à 3016 pour les blocs 283 et 284. Par contre, la figure 4b représente une transformation effectuée séparément pour les trames impaire et paire. Les blocs 321 et 322 correspondent à la trame impaire et les blocs 323 et 324 à la trame paire. Ainsi, le bloc 321 comporte les lignes 301, 303, ..., 3015, tandis que les blocs 323 et 324 comportent les lignes 302, 304, ... , 3016. on a représenté sur la figure 5 un diagramme sous forme de blocs fonctionnels représentant les diverses opérations à effectuer pour la compression d'images ou compression vidéo. Chaque image numérisée est appliquée sur une entrée d'un organe 40 qui effectue la séparation en blocs 8x8 et ces blocs 8x8 sont transmis à un organe 42 de sélection entre le codage intra et le codage inter. Si le codage choisi est intra, le bloc est trans mis à l'organe 44 de transformation DCT. Si le codage est inter, le bloc est soumis à une soustraction par un organe soustracteur 46 qui effectue les différences entre le bloc lui-même et un bloc de prédiction fourni par un organe 48 de prédiction tempo relle. Après la transformation DCT 44, on effectue une quan tification 50 et les coefficients quantifiés ainsi obtenus sont codés selon un codage de longueur variable (VLC) ou fixe 52. Les coefficients ainsi codés obtenus à la sortie du codeur 52 sont dirigés vers une mémoire tampon 54 dont la sortie constitue la sortie de codage 56. Pour éviter une saturation et un assèche ment de la mémoire tampon 54, on effectue une régulation 60 qui modifie la quantification 50. Pour pouvoir effectuer la prédiction temporelle, la sortie de l'organe 50 de quantification est reliée à l'entrée d'un organe 62 de quantification inverse Q-1 dont la sortie est appliquée sur l'entrée d'un organe 64 effectuant la transforma tion cosinus inverse DCT-1. La sortie de l'organe 64 est trans mise directement à une mémoire d'image 66 quand le codage du bloc est intra, comme déterminé par un organe 68. Par contre, quand l'organe 68 décide que le codage est inter, la sortie du bloc 64 est ajoutée, grâce à un additionneur 70, au macrobloc de prédiction fourni par l'organe 48 et c'est la sortie de l'addi- tionneur 70 qui est transmise à la mémoire d'image 66. La mémoire 66 conserve des images décodées. Les mouvements inter images et inter trames sont esti més par un organe 72 qui reçoit, d'une part, des informations de la mémoire d'image 66 et, d'autre part, de la sortie de l'organe 40 de mise en blocs. On voit, ainsi, que la prédiction tempo relle 48 est effectuée, d'une part, à partir de la mémoire d'image 66 et, d'autre part, de l'estimation de mouvement 72. L'élaboration du codage ou train binaire 52 dépend, entre autres, des vecteurs mouvement issus de l'estimation de mouvement 72, des coefficients DCT codés, des en-têtes des ma- croblocs, et d'informations de codage MPEG2 fournies par un organe 74. Ces informations concernent la signalétique MPEG2, à savoir les en-têtes des lignes de macroblocs (ou "slices"), les en-têtes des images des GOP et les en-têtes de la séquence à coder. Pour les images de type I, le codage doit choisir entre le codage intra en trame ou le codage intra en image. Ce choix est effectué sur la base d'une analyse de l'activité contenue dans le macrobloc ; il donne en général de bons résul tats. Pour les images de type P et les images de type B, le nombre de décisions à prendre est sensiblement plus important. Ainsi, un macrobloc P peut être codé selon huit modes de base - intra ; DCT trame, - intra ; DCT image, - sans compensation de mouvement (noMC) ; DCT trame, - sans compensation de mouvement (noMC) ; DCT image, - avec compensation de mouvement ; prédiction en trames antérieures ; DCT trame, - avec compensation de mouvement ; prédiction en trames antérieures ; DCT image, - avec compensation de mouvement ; prédiction en image antérieure ; DCT trame, - avec compensation de mouvement ; prédiction en image antérieure ; DCT image. Pour les images de type B, 14 modes de codage de base sont possibles, à savoir deux modes de codage intra, les quatre modes avec compensation de mouvement indiqués à propos des images de type P et, en plus, quatre modes de codage similaires à partir de l'image de prédiction postérieure et 4 modes bidi rectionnels, à savoir - prédiction en trames postérieures ; DCT trame, - prédiction en trames postérieures ; DCT image, - prédiction en image postérieure ; DCT trame, - prédiction en image postérieure ; DCT image, - prédiction bidirectionnelle en trame ; DCT trame, - prédiction bidirectionnelle en trame ; DCT image, - prédiction bidirectionnelle en image ; DCT trame, - prédiction bidirectionnelle en image ; DCT image. On a constaté que les critères utilisés jusqu'à pré sent pour choisir entre ces divers modes pour les images P et B donnaient des résultats de qualités variables. Dans la demande de brevet antérieure N 98 10802 dépo sée le 28 août 1998 au nom de THOMSON multimedia, on a décrit un procédé de compression, dans lequel on effectue un codage d'es sai selon tous les modes possibles, ou selon une partie de ces modes, et pour chaque codage d'essai, on détermine le coût de codage et/ou un facteur de qualité, le mode de codage utilisé étant sélectionné en fonction de la valeur du coût du codage et/ou de la valeur du facteur de qualité. En d'autres termes, selon le procédé décrit dans la demande antérieure, on ne choisit pas le mode de codage en fonc tion d'une analyse interne des macroblocs, mais en essayant tou tes les possibilités de codage (ou une partie de celles-ci) et en retenant le mode qui donne le meilleur résultat, soit parce qu'il minimise le coût de codage, soit parce qu'il maximise la qualité de l'image, soit parce qu'il fournit le meilleur compro mis entre le coût de codage et la qualité de l'image. Ce procédé fournit des résultats optima pour chaque macrobloc, notamment quand on choisit un critère coût/qualité donné. Cependant, il est difficilement applicable pour un codage devant être effectué en temps réel, car il implique un temps de calcul important qu'il est difficile de réduire, notamment pour des appareils portables. Toutefois, on a utilisé ce codage conforme à la demande antérieure pour déterminer des paramètres qui peuvent être calculés en temps réel et qui permettent de sélectionner les modes de codage fournissant les meilleurs résultats dans le cas des images P et B. Selon un premier aspect de l'invention, pour détermi ner le mode de codage des macroblocs des images P et/ou B, on calcule, pour chaque mode de codage, un paramètre d'énergie qui, pour les modes de codage inter, est l'énergie inter images et pour les modes de codage intra est l'énergie relative par rap port à la valeur moyenne de luminance et on retient le mode de codage qui fournit le paramètre d'énergie minimal ou un mode de codage fournissant un paramètre d'énergie qui ne dépasse pas plus d'un facteur k prédéterminé ce paramètre d'énergie minimal. Dans un exemple, le facteur k est égal à 2,5. Dans le cas de macroblocs inter, l'énergie inter images MBdfd a pour valeur Dans cette formule, e(i,j) représente l'erreur de pré diction, i représente le numéro de la ligne dans le macrobloc et j représente le numéro de la colonne dans ce macrobloc. Dans le cas d'un mode de codage intra, l'énergie rela tive peut être déterminée en calculant, pour chaque bloc 8x8, la somme des valeurs absolues des différences entre les luminances x(i,j) des pixels des blocs et la valeur (bl.avr.lum.) moyenne de la luminance du bloc, c'est-à-dire La valeur moyenne bl.avr.lum est déterminée tant en mode de codage image qu'en mode de codage trame. I1 est à noter qu'il est déjà connu de faire appel au paramètre MBdfd dans le cas de macroblocs inter. Mais, les inventeurs ont découvert qu'on pouvait faire intervenir le para mètre MBdfd tel que défini ci-dessus par la formule (2) pour les modes de codage intra. Autrement dit, pour déterminer le mode de codage, on fait appel à un paramètre nouveau. Ce nouveau paramètre MBdfd peut aussi être utilisé pour effectuer la sélection entre le mode DCT trame et le mode DCT image. On sait que pour déterminer le choix entre le mode DCT image et le mode DCT trame, on compare l'activité locale du macrobloc en mode image et en mode trame, et on choisit le mode qui fournit la plus faible activité locale. L'invention permet d'optimiser la sélection quand les activités locales image et trame sont égales. Dans ce cas, on compare les paramètres d'énergies MBdfd tels que définis ci-dessus et on choisit le mode de codage DCT image ou trame pour lequel le paramètre MBdfd est le plus faible. Enfin, si les paramètres MBdfd image et trame sont égaux, de préférence on effectuera un codage DCT image. on rappelle que l'activité locale est définie de la façon suivante Dans ces formules, x(i,j) ainsi que i et j ont les significations indiquées ci-dessus. Toutefois, pour les modes prédits, MB activ est calculé sur le macrobloc des erreurs de prédiction. Selon une autre caractéristique de l'invention, qui peut s'utiliser indépendamment des caractéristiques définies ci- dessus, on détermine, pour tous les modes de codage possibles des images P et B, le paramètre suivant MB activ - a Q, et on choisit le mode de codage qui minimise ce para mètre. MB activ est l'activité locale du macrobloc, Q repré sente le pas de quantification et a est un coefficient qui dépend de paramètres de pondération de la matrice de quantifica tion. Dans un exemple, ce paramètre a est égal à 1. En raison de la soustraction de la valeur a Q à MB activ la quantité (MB activ - (xQ) fournit une estimation du coût poten tiel du macrobloc en question. En effet pour MB activ déterminé, plus le pas de quantification Q est élevé plus le coût du macro- bloc sera faible, puisque dans la procédure de quantification moins de coefficients seront retenus. En fait, la norme de codage MPEG2 utilise dans la procédure de quantification un pas de quantification Q et une matrice dite de pondération (de taille 8x8 correspondant à celle de la DCT) des coefficients DCT qui, d'une manière générale, permet de réduire l'amplitude des coefficients haute fréquence. Ainsi le coeffi cient DCT c(i,j) est quantifié en divisant son amplitude par le produit du pas de quantification Q par la valeur du coefficient correspondant p(i,j).de la matrice de pondération Généralement les matrices de pondération inter et intra images ne sont pas identiques. Par ailleurs, le contenu de ces matrices n'est pas spécifié par la norme ; il peut donc varier en fonction de la spécification des codeurs. on a choisi pour a la valeur 1 dans le contexte d'un jeu de matrices de pondérations intra et inter suivantes Matrice intra m intra 1 Matrice inter m inter 1 08 16 16 19 16 19 22 22 16 17 17 19 18 19 20 20 22 22 22 22 26 24 26 27 20 20 22 21 22 21 22 23 27 27 26 26 26 26 27 27 23 24 23 24 23 25 25 26 27 29 29 29 34 34 34 29 25 26 24 25 26 26 27 27 29 29 27 27 29 29 32 32 28 27 27 26 28 29 29 30 34 34 37 38 37 35 35 34 29 29 28 31 31 32 31 32 35 38 38 40 40 40 48 48 30 33 34 33 34 33 36 35 46 46 56 56 58 69 69 83 36 35 38 39 38 41 40 43 Par contre dans la configuration des matrices suivantes Matrice intra m intra 1 Matrice inter m inter 2 08 16 16 19 16 19 22 22 16 16 16 16 16 16 16 16 22 22 22 22 26 24 26 27 16 16 16 16 16 16 16 16 27 27 26 26 26 26 27 27 16 16 16 16 16 16 16 16 27 29 29 29 34 34 34 29 16 16 16 16 16 16 16 16 29 29 27 27 29 29 32 32 16 16 16 16 16 16 16 16 34 34 37 38 37 35 35 34 16 16 16 16 16 16 16 16 35 38 38 40 40 40 48 48 16 16 16 16 16 16 16 16 46 46 56 56 58 69 69 83 16 16 16 16 16 16 16 16 on choisit une valeur du paramètre a utilisée pour les modes de codage inter images qui est inférieure à 1, par exemple 0.875. En effet, la matrice m inter 2 laisse passer beaucoup plus de coefficients DCT que la matrice m inter 1. Dans cette configuration on peut donc considérer que en modes intra image a = a intra =1, en modes inter image a = a -inter =0.875 Dans un mode de réalisation, en mode de codage intra, si, pour un bloc, le paramètre block activ - (..Q est inférieur à un niveau donné, alors on confère à ce paramètre block activ - a.Q une valeur par défaut correspondant, par exem ple, au quart du coût minimum d'un macrobloc codé en intra. En effet un macrobloc codé en mode intra ne peut pas être d'un coût nul, contrairement aux modes inter image. Le coût minimum réel d'un bloc correspond au coût de codage de la valeur moyenne du bloc (DC) et d'un code représentant la fin du bloc. Ainsi dans la configuration de codage en - 4.2.0 l'estimation du coût minimum du bloc est portée à b1 intra 420 min (par exemple b1 intra 420 min=11), - 4.2.2 l'estimation du coût minimum du bloc peut être portée à b1 intra 422 min (par exemple b1 intra 422 min=15), Ces valeurs minima peuvent, bien entendu, varier sen siblement en fonction du type de tables de VLC utilisées, pour coder les coefficients, dont, par ailleurs, la longueur du code de fin de bloc varie. L'essentiel dans cette démarche est qu'il n'est pas concevable d'avoir un macrobloc intra de coût nul. Dans le mode de réalisation préféré de l'invention, on utilise une combinaison des critères mentionnés ci-dessus en procédant de la façon suivante, pour les images P et B on détermine pour chaque macrobloc parmi tous les modes de codage possibles (intra compris) la valeur minimale du paramètre MBdfd, soit MBdfdmin et on sélectionne les modes de codage pour lesquels MBdfd Pour déterminer le type de DCT (trame ou image), on procède comme indiqué ci-dessus, c'est-à-dire qu'on considère le paramètre d'activité locale MB activ et on choisit la DCT image ou trame selon que le paramètre MB activ image ou trame est le plus petit et si ces deux paramètres sont égaux, on choisit la DCT image ou trame selon que le paramètre MBdfd image ou trame est le plus petit. En cas d'égalité des paramètres MBdfd, on choisit la DCT image. Enfin, pour sélectionner le mode de codage à retenir parmi les modes de codage encore candidats, on considère le paramètre suivant Val = (MB activ - (X.Q).MBdfd/MBdfdmin + Hdr MB (3) et on choisit le mode de codage qui fournit la valeur minimum de ce paramètre Val. Dans cette formule (3), Hdr MB représente la somme de tous les paramètres de l'en-tête d'un macrobloc à l'exception du paramètre CBP (Coded Block Pattern). Ce dernier est un code à longueur variable permettant d'indiquer au décodeur la réparti tion des blocs contenant des coefficients, étant entendu, qu'en inter image, certains blocs peuvent être vides. En effet, tous les paramètres de l'en-tête sont déterminables avant le codage, à l'exception du paramètre CBP. Ce paramètre peut être remplacé par une valeur prédéterminée dans Hdr MB. A toutes fins utiles, on rappelle ici que l'en-tête d'un macrobloc comprend les paramètres suivants : un code MBA d'adresse (Macroblock Address) qui représente l'adresse relative du macrobloc par rapport au dernier macrobloc codé ; le mode de codage ; la valeur du pas de quantification ; le type de DCT (image ou trame) ; et les vecteurs. Sur ce dernier point, on notera que le coût des vec teurs est généralement plus important en mode trame qu'en mode image car, dans le premier cas (trame), on doit prévoir deux fois plus de vecteurs que dans le deuxième (image). Cependant, le coût de codage en mode trame n'est pas forcément plus élevé qu'en mode image, car le codage des vecteurs est effectué de façon différentielle par rapport aux derniers vecteurs transmis. De préférence, dans la formule (3) ci-dessus MBdfd est affecté d'un facteur de pondération thd qui est égal à 1 dans le cas d'un mode de codage inter et qui est supérieur à 1 dans le cas d'un mode de codage intra, ce facteur de pondération pouvant présenter des valeurs différentes, déterminées de façon empiri que, selon que l'on a affaire à une image P ou à une image B. Ce facteur de pondération traduit le fait que le coût de codage d'un macrobloc en intra est généralement supérieur au coût de codage d'un macrobloc en inter. Si MB activ - a.Q = 0, le macrobloc peut être vide et non codé. Dans ce cas, de toute façon, le paramètre val se limite au coût de l'en-tête Hdr MB. Par ailleurs, dans la situation où le macrobloc est estimé comme étant potentiellement vide et donc non codé (tou jours en inter image), on considère la configuration du macro- bloe omis (SKIPPED MACROBLOC). Cette configuration correspond à deux cas précis Dans le cas d'une image P, le macrobloe est vide, donc non codé et le mode de codage est noMC, dit non compensé (en réalité ce vecteur est nul par défaut). Le second cas est celui d'une image B : le macrobloe est vide, donc non codé, et les vecteurs mouvement sont identi ques à ceux précédemment transmis. Lors d'un macrobloe omis, aucune information n'est transmise pour le macrobloe considéré. Ainsi, avec ce paramètre val, on essaie, entre autres, de déceler au mieux les blocs vides permettant de s'orienter vers des macroblocs non codés, voire omis, et tout cela dans un soucis de rapport coût/qualité raisonnable dans le contexte d'une approche "a priori", c'est-à-dire pouvant être implantable en temps réel. Il est à noter que, de façon classique, pour les ima ges de type intra, on doit seulement choisir entre le codage D@._f trame et le codage DCT image. A cet effet, on fait appel au paramètre MB activ et on choisit le mode de codage trame ou image selon que le paramètre MB activ trame ou image est minimum. L'expérience a montré que, quel que soit le mode de réalisation de l'invention, ce procédé de compression d'images permet, par rapport aux procédés antérieurement connus, de dimi nuer le coût de codage à qualité égale ou d'augmenter la qualité à coût de codage constant. D'une façon générale, la présente invention prévoit un procédé de compression d'images, notamment du type MPEG2, dans lequel chaque macrobloc 10 d'image est soumis à un codage choisi, pour chaque macrobloc, parmi plusieurs types de codage. Pour chaque type de codage, y compris les modes de codage intra, on détermine un paramètre d'énergie des macroblocs, ce paramètre MBdfd ayant pour les codages inter la valeur suivante formule dans laquelle i et j représentent le numéro de la ligne et le numéro de la colonne de chaque point et e(i,j) représente l'erreur de prédiction de luminance pour le point correspondant, le paramètre d'énergie ayant en mode intra la valeur suivante formule dans laquelle x(i,j) représente la luminance du point sur la ligne i et la colonne j de chaque bloc et bl.avr.lum représente la valeur moyenne de luminance pour chacun de ces blocs. Selon un mode de réalisation de la présente invention, on sélectionne le (ou les) mode (s) de codage fournissant le paramètre MBdfd le plus faible ou les modes de codage pour les quels MBdfd est inférieur à k fois la valeur minimale de MBdfd, k étant un coefficient supérieur à 1, par exemple égal à 2,5. Selon un mode de réalisation, lorsque plusieurs modes de codage restent candidats, on sélectionne le mode de codage fournissant un paramètre val de plus faible valeur, ce paramètre ayant la valeur suivante Val = (MBactiv -a.Q)*MBdfd/MBdfdmin + Hdr MB, formule dans laquelle MB activ représente l'activité d'un macrobloc, Q représente le pas de quantification, a est un coefficient constant, et Hdr MB est un paramètre représentant le coût de codage de l'en-tête pour le mode de codage considéré. Selon un mode de réalisation, le coefficient a est égal à 1. Selon un mode de réalisation, on fait dépendre la valeur de a du contenu des matrices de pondération utilisées dans le processus de quantification des coefficients DCT. Selon un mode de réalisation de cette dernière dispo sition, en mode intra (ou inter) image a = 1, et la matrice de pondération utilisée en mode inter (ou intra) image effectuant une pondération moins importante qu'en mode intra (ou inter), le coefficient a utilisé en mode inter (ou intra) image est plus petit que 1. Selon un mode de réalisation, on affecte au paramètre MBdfd un coefficient supérieur pour les modes de codage intra que pour les modes de codage inter. Selon un mode de réalisation, le coefficient affecté au paramètre MBdfd, en cas de mode intra, dépend de la nature P ou B de l'image à coder. Selon un mode de réalisation, on affecte une valeur MB activ par défaut à la quantité MB activ - a.Q quand celle-ci descend au-dessous d'un seuil prédéterminé. La valeur par défaut correspond, par exemple, au quart du coût minimum de codage d'un macrobloc codé en intra. Selon un mode de réalisation, on choisit le mode de codage DCT image ou trame en fonction de la valeur de l'activité locale, le mode de codage DCT sélectionné correspondant à celui pour lequel l'activité locale est la plus faible et, en cas d'égalité, on compare les paramètres d'énergie MBdfd trame et image et on choisit celui pour lequel le paramètre MBdfd est le plus faible. Selon un mode de réalisation, le mode DCT image est sélectionné en cas d'égalité des paramètres MBdfd- REVENDICATIONS 1. Procédé de compression d'images, notamment du type MPEG2, dans lequel chaque macrobloc (10) d'image est soumis à un codage choisi, pour chaque macrobloc, parmi plusieurs types de codage, caractérisé en ce que, pour chaque type de codage, y compris les modes de codage intra, on détermine un paramètre d'énergie des macroblocs, ce paramètre MBdfd ayant pour les codages inter la valeur suivante formule dans laquelle i et j représentent le numéro de la ligne et le numéro de la colonne de chaque point et e(i,j) représente l'erreur de prédiction de luminance pour le point correspondant, le paramètre d'énergie ayant en mode intra la valeur suivante formule dans laquelle x(i,j) représente la luminance du point sur la ligne i et la colonne j de chaque bloc et bl.avr.lum représente la valeur moyenne de luminance pour chacun de ces blocs. 2. Procédé selon la revendication 1, caractérisé en ce qu'on sélectionne le (ou les) mode(s) de codage fournissant le paramètre MBdfd le plus faible ou les modes de codage pour les quels MBdfd est inférieur à k fois la valeur minimale de MBdfd, k étant un coefficient supérieur à 1, par exemple égal à 2,5. 3. Procédé selon la revendication 2, caractérisé en ce que, lorsque plusieurs modes de codage restent candidats, on sélectionne le mode de codage fournissant un paramètre val de plus faible valeur, ce paramètre ayant la valeur suivante Val = (MBactiv -(X.Q)*MBdfd/MBdfdmin + Hdr MB, formule dans laquelle MB activ représente l'activité d'un macrobloc, Q représente le pas de quantification, a est un coefficient constant, et Hdr MB est un paramètre représentant le coût de codage de l'en-tête pour le mode de codage considéré. 4. Procédé selon la revendication 3, caractérisé en ce que le coefficient a est égal à 1. 5. Procédé selon la revendication 3 ou 4, caractérisé en ce qu'on fait dépendre la valeur de a du contenu des matrices de pondération utilisées dans le processus de quantification des coefficients DCT. 6. Procédé selon la revendication 5, caractérisé en ce qu'en mode intra (ou inter) image a = 1, et en ce que la matrice de pondération utilisée en mode inter (ou intra) image effec tuant une pondération moins importante qu'en mode intra (ou inter), le coefficient a utilisé en mode inter (ou intra) image est plus petit que 1. 7. Procédé selon l'une quelconque des revendications 3 à 6, caractérisé en ce qu'on affecte au paramètre MBdfd un coef ficient supérieur pour les modes de codage intra que pour les modes de codage inter. 8. Procédé selon la revendication 7, caractérisé en ce que le coefficient affecté au paramètre MBdfd, en cas de mode intra, dépend de la nature P ou B de l'image à coder. 9. Procédé selon l'une quelconque des revendications 3 à 8, caractérisé en ce qu'on affecte une valeur MB activ par défaut à la quantité MB activ - a.Q quand celle-ci descend au- dessous d'un seuil prédéterminé. 10. Procédé selon la revendication 9, caractérisé en ce que la valeur par défaut correspond au quart du coût minimum de codage d'un macrobloc codé en intra. 11. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'on choisit le mode de codage DCT image ou trame en fonction de la valeur de l'activité locale, le mode de codage DCT sélectionné correspondant à celui pour lequel l'activité locale est la plus faible et, en cas d'égalité, on compare les paramètres d'énergie MBdfd trame et image et on choisit celui pour lequel le paramètre MBdfd est le plus faible. 12. Procédé selon la revendication 11, caractérisé en ce que le mode DCT image est sélectionné en cas d'égalité des paramètres MBdfd-