Brevet FR2872973A1 — publié le 20060113

L'invention concerne un procédé ou dispositif de codage d'une séquence d'images sources, plus particulièrement un procédé comprenant une phase de préanalyse avec estimation de mouvement de type pel-récursif et une phase de codage proprement dite avec estimation de mouvement de type appariement par blocs. Le domaine est celui de la compression vidéo. On s'intéresse en particulier aux schémas de compression par blocs réalisant un codage adaptatif image/trame au niveau image ou au niveau bloc, codage apportant un gain substantiel en compression. Il s'agit par exemple du standard mpeg4 part-10 (H264). Dans ces schémas classiquement mis en oeuvre, la décision de codage imageltrame au niveau macrobloc est prise au sein de la boucle de codage, introduisant une complexité double par rapport à un codeur non adaptatif qui ne fonctionnerait qu'en mode image ou en mode trame. Cette fonctionnalité est d'un coût élevé en termes de réalisation. Cette décision de codage dépend, entre autres, de la corrélation temporelle et donc des estimations de mouvement effectuées par le circuit de codage pour le codage prédictif, généralement du type appariement par bloc, connus sous l'appellation anglaise block matching et du type hiérarchique. Par exemple dans le cas d'un estimateur de mouvement hiérarchique de type block-matching pour un codeur compatible de la norme H264 ou MPEG4 part 10, un champ de vecteurs mouvement est calculé pour chaque taille de bloc (4x4, 4x8, 8x4, 8x8, 8x16, 16x8, 16x16) et pour chaque image de référence. Dans le cas du codage par paire de macroblocs, connu sous l'appellation MBAFF, acronyme de l'anglais MacroBlock Adaptive Frame Field, l'estimateur fournit, par macrobloc, 1 champ de vecteurs mouvement pour l'image bi-trame, 2 champs de vecteurs mouvement pour les trames. Ainsi, pour des macroblocs de taille 16x16, 41 x 3 vecteurs mouvement peuvent être calculés pour chaque image de référence, ce nombre étant multiplié si plusieurs images de référence sont exploitées, tel que dans le mode multi-références. Le choix parmi cette multiplicité de possibilités de codage est très coûteux en terme de calculs. D'autre part, dans l'exemple de la norme H264, la décision de codage image bi-trame ou trame peut être effectuée indépendamment pour chaque paire verticale de macroblocs dans l'image, de dimensions 16x32 pour le bloc luminance. Cette option de codage est connue sous l'appellation MBAFF, acronyme de l'anglais macroblock-adaptive framelfield coding . Pour une paire de macroblocs codée en mode image bi-trame, chaque macrobloc contient des lignes de l'image entrelacée. Pour une paire de macroblocs codée en mode trame, le macrobloc supérieur contient les lignes de la trame supérieure ou trame impaire et le macrobloc inférieur contient les lignes de la trame inférieure ou trame paire. La décision de mode de codage, pouvant être basée sur la mesure du coût de codage et de la distorsion associée au mode, est effectuée au niveau de la paire de macroblocs et non au niveau du macrobloc comme pour la norme MPEG2 alors que les corrélations sont calculées au niveau de chaque macrobloc, multipliant ainsi les combinaisons possibles et donc la charge de calcul. Une solution, pour réduire les calculs, consiste à effectuer un choix entre trames et bi-trame pour les images de faible résolution, pour limiter les calculs aux résolutions supérieures. Ces choix prématurés, effectués dans les niveaux hauts de la pyramide et donc à des résolutions plus faibles que celle des images sources, ne donnent pas de bons résultats, du fait de la définition verticale insuffisante, une sélection trame supérieure, trame inférieure correspondant à un décalage d'une ligne. L'invention a pour but de pallier les inconvénients précités. A cet effet, un des objets de l'invention est un procédé de codage d'une séquence d'images sources comprenant une phase de préanalyse avec estimation de mouvement de type pel-récursif entre l'image courante et une image de référence et une phase de codage proprement dite par blocs d'image, avec une étape d'estimation de mouvement par appariement de blocs, entre l'image courante et l'image de référence, puis une étape de décision de mode de codage tel que le mode intra, le mode inter entre trames de même parité ou de parité opposée ou entre bi-trames, caractérisé en ce que la phase de préanalyse effectue des calculs de niveaux de corrélation de blocs trame paire et impaire de l'image courante avec des blocs trame paire et impaire de l'image de référence à partir de vecteurs mouvement calculés lors de cette phase et correspondant aux blocs pour imposer, lors de l'étape de décision de mode de codage et parmi les modes de codage inter, le codage inter entre trames de même parité ou de parité opposée ou le codage inter entre bi- trames, en fonction des niveaux de corrélation. Selon une mise en oeuvre particulière, le codage inter entre trames est imposé lorsque le niveau de corrélation entre trames de parité opposées est inférieur au niveau de corrélation entre trames de même parité. Selon une mise en oeuvre particulière, la phase de préanalyse effectue également des calculs de corrélation d'un bloc bi-trame de l'image courante avec un bloc bi-trame d'une image de référence pour déterminer le mode de codage inter entre trames ou entre images bi-trames en fonction des niveaux de corrélation. Selon une mise en oeuvre particulière, le calcul de corrélation 10 consiste en un calcul de la valeur DFD suivante: i, j=15 DFD = pix, (i, j) pixpred (i, J)I i,j=0 pixc(i,j) correspondant à la valeur de luminance d'un pixel de la ligne i et colonne j d'un bloc courant, pixpred(i, j) correspondant à la valeur de luminance d'un pixel de la 15 ligne i et colonne j d'un bloc désigné par le vecteur mouvement dans l'image de référence ou bloc prédit. Selon une mise en oeuvre particulière, un bloc d'image est partitionné en bloc supérieur et bloc inférieur, le bloc supérieur correspondant à la trame supérieure et le bloc inférieur à la trame inférieure, ou inversement, le mode inter entre trames consistant en un choix de la trame reconstruite supérieure ou inférieure de l'image de référence pour chacun des blocs supérieur et inférieur et ce choix étant fonction des mesures de corrélation sur l'ensemble du bloc d'image. Selon une mise en oeuvre particulière, la phase de préanalyse comporte une étape de réduction de bruit par filtrage compensé en mouvement à partir du mouvement calculé par l'estimation de mouvement de type pelrécursif. Selon une mise en oeuvre particulière, l'estimation de mouvement par appariement de blocs est du type hiérarchique. Selon une mise en oeuvre particulière, l'estimation de mouvement de type pel-récursif est effectuée sur une image source de plus faible résolution. Selon une mise en oeuvre particulière, les vecteurs mouvement calculés lors de la phase de préanalyse et correspondant aux blocs sont ceux 35 calculés pour les pixels relatifs aux blocs. Selon une mise en oeuvre particulière, les vecteurs mouvement calculés lors de la phase de préanalyse et correspondant aux blocs sont obtenus à partir de la valeur médiane ou bien valeur moyenne des composantes des vecteurs mouvement calculés pour les pixels relatifs aux blocs. Selon une mise en oeuvre particulière, les calculs de corrélation sont effectués sur plusieurs images de référence et la phase de préanalyse effectue une sélection d'une ou des images de référence en fonction des valeurs de corrélation. L'invention concerne également un dispositif de codage comprenant un circuit de préanalyse avec un estimateur de mouvement de type pelrecursif et un circuit de codage proprement dit par blocs d'image comportant un estimateur de mouvement par appariement de blocs d'images relié à un circuit de décision de mode de codage, caractérisé en ce que le circuit de préanalyse effectue des calculs de corrélation des blocs trame paire et impaire de l'image courante avec des blocs trame paire et impaire de l'image de référence à partir de vecteurs mouvement calculés par l'estimateur de mouvement de type pel-récursif pour imposer au circuit de décision de mode de codage et parmi les modes de codage inter, le codage inter entre trames de même parité ou de parité opposée ou le codage inter entre bi-trames, en fonction des niveaux de corrélation. Selon une mise en oeuvre particulière, les informations de mode de codage du circuit de préanalyse sont transmises au circuit d'estimation de mouvement par appariement de blocs pour définir une estimation de mouvement sur les trames et/ou l'image bi-trame relatives à l'image reconstruite. Une présélection du mode de codage image bi-trame ou trame est effectuée en amont de la boucle de codage en utilisant les champs de vecteurs mouvement calculés par l'estimateur de mouvement du circuit de filtrage compensé en mouvement réalisant, en amont du codage proprement dit, une réduction de bruit sur l'image source. Ainsi, la complexité de mise en oeuvre du codage adaptatif image bitrame/trame au niveau macrobloc est réduite. Les calculs du circuit de 35 décision de codage du module de codage sont simplifiés. D'autres particularités et avantages de l'invention apparaîtront clairement dans la description donnée à titre d'exemple non limitatif et faite en regard des figures annexées représentant: - la figure 1, un synoptique d'un codeur selon l'invention, - la figure 2, 5 vecteurs mouvement calculés par l'estimateur de mouvement du circuit de préanalyse, dans une première solution, - la figure 3, 4 vecteurs mouvement calculés par l'estimateur de mouvement du circuit de préanalyse, dans une seconde solution. Les données vidéo numériques de l'image source sont reçues en entrée du codeur pour être transmises à un circuit de préanalyse 6. Les images sont filtrées et transmises, par bloc d'image, à une première entrée d'un soustracteur 1. Selon le mode de codage, intra ou inter, le soustracteur 1 transmet l'information relative au bloc courant reçue sur sa première entrée ou bien soustrait à cette dernière les informations correspondant à un bloc prédit disponibles sur sa deuxième entrée. Les données en sortie du soustracteur sont transmises à un circuit de transformation cosinus discrète et quantification 2. Les coefficients quantifiés en sortie de ce circuit subissent un codage entropique à travers le codeur entropique 3 puis sont mémorisées dans une mémoire tampon 4. Le niveau de remplissage de cette mémoire est transmis à un circuit de régulation de débit 5, qui reçoit également des données du circuit de préanalyse, et qui agit sur le pas de quantification du quantificateur 2. L'image courante est reconstruite pour fournir des blocs prédits. Ainsi, les coefficients quantifiés subissent une quantification inverse et une transformation cosinus discrète inverse à travers le circuit référencé 7 pour donner des valeurs de luminance décodées. L'additionneur 8 permet d'ajouter le bloc prédit au bloc de coefficients décodé, s'il est codé en mode inter. Le bloc reconstruit est filtré par le circuit de filtrage 9 avant d'être mémorisé dans une mémoire image 10 qui 30 mémorise l'image courante reconstruite. Un estimateur de mouvement hiérarchique 11 reçoit les informations relatives à l'image décodée ou reconstruite mémorisée par la mémoire d'image 10 et les informations relatives au macrobloc courant de l'image source provenant du circuit de préanalyse 6. II effectue un calcul de corrélation entre ce macrobloc courant et l'image reconstruite selon un principe connu, pour fournir les vecteurs mouvement. Ces vecteurs sont transmis à un circuit de décision de codage 13 qui effectue des calculs de coûts de codage pour déterminer le mode de codage. Ce mode de codage et, le cas échéant, les vecteurs mouvement correspondants sont transmis à un circuit de compensation de mouvement 12 qui réalise la compensation de mouvement de l'image reconstruite pour fournir un bloc d'image prédit provenant de cette image reconstruite. Les vecteurs de mouvement sont également transmis au circuit de codage entropique 3 pour leur codage et transmission au décodeur. De manière plus détaillée, en entrée du codeur se trouve un circuit de préanalyse 6 comportant un circuit de réduction de résolution, un circuit d'estimation de mouvement de type pel-récursif et un circuit de filtrage. Ces circuits permettent de procéder à une réduction de bruit sur l'image avant son codage. Dans ce domaine, il est reconnu qu'une estimation de mouvement de type pel-récursif est plus adaptée à la réduction de bruit qu'une estimation de mouvement par blocs. C'est donc ce type d'algorithme qui est mis en oeuvre dans cette phase de préanalyse du codeur. Selon l'invention, le circuit de préanalyse effectue des calculs de corrélation pour fournir des informations de décision de codage image/trame au circuit de décision de mode de codage 13. Il réalise une présélection du mode trame/image bi-trame afin d'alléger les calculs réalisés par le module de décision, comme indiqué plus loin. Les images sources de la séquence d'images reçue en entrée du codeur sont sous-échantillonnées et éventuellement interpolées par le circuit de préanalyse pour fournir des images de plus faible résolution spatiale. L'estimation de mouvement de type pel-récursif est réalisée par ce circuit de préanalyse, préalablement à l'encodage effectif des images. Elle est donc calculée par pixel sur une image de plus faible résolution, de taille divisée par deux en horizontal et vertical dans notre exemple. Cette estimation peut également fournir, à l'avance, un certain nombre d'indications utiles pour le module d'encodage, telles que détection de zones en mouvement, de zones non prédictibles, direction de prédiction privilégiée... Un filtrage compensé en mouvement, à partir de cette estimation de mouvement, est ensuite réalisé sur les images pleines résolutions. Ce filtrage permet de diminuer le bruit de l'image et donc d'améliorer le rendement du codeur. Le circuit de préanalyse peut être exploité pour définir la structure 35 en GOPs de la séquence à coder, c'est à dire le type des images, inter ou intra, images de référence, bidirectionnelles.... Ce terme GOP qui signifie groupe d'images est l'acronyme de l'anglais Group Of Pictures défini dans la norme MPEG. La préanalyse se fait sur un nombre prédéfini d'images. Le temps de retard entre la préanalyse et le codage effectif des images peut être de l'ordre du groupe d'images considéré pour la régulation de débit. II correspond par exemple à un ou plusieurs GOPs dans le cas de la norme MPEG. Dans notre exemple, le circuit d'estimation de mouvement 11 est basé sur une structure hiérarchique et sur une approche appariement par bloc. Le macrobloc courant est comparé à l'image décodée, construite selon une pyramide de résolution croissante, en partant de la résolution la plus faible de la pyramide jusqu'au niveau de résolution le plus élevé, Les champs de vecteurs mouvement sont estimés pour chaque niveau de résolution, du niveau le plus faible au niveau le plus élevé, les estimations faites à un niveau pouvant servir de prédiction pour le niveau supérieur. Les pyramides dépendent des différents modes de codage du circuit de codage. Il existe donc des pyramides pour les images bitrames, pour les trames, et cela, pour une image de référence donnée. Dans l'approche références multiples, ce nombre est donc multiplié. Les vecteurs mouvement sont calculés pour les paires de macroblocs relatives à une image bi-trame et pour chacun des macroblocs de ces paires de macroblocs relatifs à des trames. Le circuit de filtrage 9, dans la boucle de codage, réalise un filtrage de l'image reconstruite pour diminuer les effets de blocs. C'est cette image filtrée qui est mémorisée dans la mémoire d'image 10. Le circuit de préanalyse 6 est relié au circuit de régulation de débit 5 pour lui fournir des informations de structure de GOP et des informations de coût de codage par type d'image afin de faciliter la régulation de débit qui peut donc prendre en compte des informations a posteriori. Le circuit de préanalyse détermine, lors d'une première passe en mode intra, la complexité des images, en termes de codage et transmet une estimation du coût de codage par type d'image au circuit de régulation pour permettre à ce dernier de calculer les pas de quantification du circuit TCD +Q. Le circuit de décision de mode de codage effectue des calculs de coût de codage ou d'énergie pour sélectionner le mode de codage, mode intra, mode inter, bidirectionnel, choix de l'image de référence... Il élimine, parmi les vecteurs de mouvement reçus de l'estimateur de mouvement, ceux correspondant aux modes non sélectionnées par le circuit de préanalyse, et sélectionne, parmi ceux restant, les vecteurs mouvement donnant le plus faible coût de codage. La figure 2 symbolise les estimations de mouvement effectuées 5 par l'estimateur de mouvement de type pel-récursif pour les différents types de codage des macroblocs. L'image, que l'on appelle aussi image bi-trames (frame en anglais) est divisée en deux trames entrelacées qui sont montrées à intervalle différent. La première trame dans le temps (field en anglais), appelée trame supérieure ou trame impaire, apparaît sur chaque ligne impaire de l'image, tandis que la deuxième trame d'image, appelée trame inférieure ou trame paire, apparaît sur chaque ligne paire de l'image. Les deux trames forment l'image bi-trame. Des macroblocs 16x16 référencés 13 appartiennent à une première trame supérieure représentée en traits pleins, et un macrobloc 16x16 référencé 15 appartient à la trame supérieure suivante représentée en traits pleins. Des macroblocs 16x16 référencés 14 appartiennent à une première trame inférieure représentée en traits pointillés, et un macrobloc 16x16 référencé 16 appartient à la trame inférieure suivante représentée en traits pointillés. Les paires de macroblocs constitués de deux macroblocs 16x16, référencés 21 et 22 appartiennent à l'image entrelacée ou image bi-trame et sont donc constitués d'une succession de lignes des trames supérieures et inférieures. Si la paire de macroblocs est codée en mode bi-trame et est donc constituée d'une succession de lignes paires et impaires, référence 21, le vecteur mouvement référencé 23 pointe vers l'image entrelacée précédente, désignant un macrobloc 16x32 référencé 22. L'interpolation pour l'estimation de mouvement est effectuée en utilisant les lignes paires et les lignes impaires. Si la paire de macroblocs est codée en mode trame, elle est alors constituée d'un macrobloc supérieur constitué de lignes impaires et d'un macrobloc inférieur constitué de lignes paires respectivement référencés 15 et 16. Le vecteur mouvement pour le macrobloc supérieur peut pointer soit sur un macrobloc de la trame supérieure ou trame impaire précédente, vecteur référencé 17, soit sur un macrobloc de la trame inférieure ou trame paire précédente, vecteur référencé 18. Le vecteur mouvement pour le macrobloc inférieur peut pointer soit sur un macrobloc de la trame paire précédente, vecteur référencé 20, soit sur un macrobloc de la trame impaire précédente, vecteur référencé 19. L'image exploitée pour l'estimation de mouvement est une image de plus faible résolution que l'image source. Le sous-échantillonnage et filtrage sont effectués par le circuit de préanalyse. L'image de plus faible résolution est mémorisée et une estimation de mouvement de type pelrécursif est réalisée entre cette image courante et une image précédente de référence, mémorisée. Le champ de vecteurs mouvement, un vecteur mouvement par pixel, est traité de manière à faire correspondre un vecteur mouvement par macrobloc. On prend par exemple en compte l'ensemble des vecteurs mouvement des pixels relatifs à un macrobloc de l'image pleine résolution et l'on attribue à ce macrobloc le vecteur mouvement médian de cet ensemble de vecteurs mouvement. II est aussi possible de choisir les valeurs moyennes de ces vecteurs mouvement. On peut également effectuer un sous échantillonnage tel qu'un pixel de l'image échantillonnée corresponde à un macrobloc de l'image originale, un vecteur mouvement correspondant alors à un macrobloc. La figure 2 correspond à une première solution dans la présélection des modes de codage. L'estimateur de mouvement du circuit de préanalyse 6 calcule 5 champs de vecteurs mouvement pour chaque image. Ces vecteurs correspondent au mouvement: - entre l'image courante et l'image précédente - entre la trame paire courante et la trame paire précédente - entre la trame paire courante et la trame impaire précédente - entre la trame impaire courante et la trame paire précédente - entre la trame impaire courante et la trame impaire précédente. Il réalise les calculs de corrélation relatifs à ces champs de vecteurs mouvement, pour chacun des macroblocs. Ainsi, pour chacune des trames de l'image courante, il calcule les sommes des différences inter-trames pour les trames de référence de même parité. En partant du double macrobloc de l'image bi-trame ou entrelacée correspondant à chacune de ces trames, de dimension 32 lignes, 16 colonnes, on a, pour un macrobloc de la trame paire: i, j=15 DFD paire, mêmeparité - E I Fixe (2i, i) pix pred (2i, J)I i, j=0 et pour un macrobloc de la trame impaire: i, j=15 DFDimpaire,mêmeparité = I pixc (2i + 1, j) pix pred (2i + 1, j) i, j=0 avec pixpred, la valeur prédite à partir du vecteur de mouvement. Pour chaque valeur i d'une ligne du double macrobloc de l'image bi-trame, la colonne j est incrémentée de 0 à 15. Les lignes 2i correspondent au macrobloc de la trame paire extrait du double macrobloc et les lignes 2i+1 au macrobloc de la trame impaire. Egalement, pour chacune des trames de l'image courante, il calcule les sommes des différences inter-trames pour les trames de référence de parité opposée. On a, pour un macrobloc de la trame courante paire: i, j=15 DFDpaire,paritéopposée - pixc (2i, j) PiX pred (2i + 1,1)1 i, j=0 et, pour un macrobloc de la trame courante impaire: i, j=15 DFDimpaire, paritéopposée E I pixc (2i + 1, j) pix pred (2i, j) Z, j=0 Enfin, pour une image bi-trame, pour un double macrobloc, il calcule la somme des différences inter-images: i, j=15 i i, j=15 DFD image = E +pixc (i, j) plx pred (i, j) + E pixc (i +16, j) pix pred (i +16, j) _ i,j=0 i, j=0 i=31,j=15 E I pixc (i, j) pix pred (i, j) i, j=0 avec pixpred, la valeur prédite à partir du vecteur de mouvement. Pour chacune des trames de l'image, le circuit de calcul sélectionne la parité de la trame de référence générant la DFD la plus faible. memeparité DFD pair paire,memeparité DFDpaire,paritéopposée paritéopposée memeparité DFD impaire = DFD impaire,memeparité ) DFDimpaire, paritéopposée paritéopposée Par exemple pour la 1 ère expression, si DFDpaire, même parité est de valeur inférieure à DFDpaire parité opposée, c'est DFDpaire, même parité qui est sélectionnée. Si elle est de valeur supérieure, c'est DFDpaire, parité opposée qui est sélectionnée. Les valeurs DFD minimales de chaque trame sont additionnées: DFDt ame = DFD pâlie + DFDimpaire La sélection entre le codage trame et le codage bitrame ou image est faite en comparant les DFD correspondantes, la DFD relative au codage trame étant pénalisée d'une valeur X. Ce paramètre X>0 permet de prendre en compte le surcoût du codage en mode trame, les deux vecteurs mouvement à transmettre: trame image DFDirame + ) DFD image Ainsi, le circuit de préanalyse sélectionne, en fonction des résultats précédents, les modes de codage les plus avantageux. Il transmet cette information au circuit de décision de mode de codage qui limite ses calculs aux seuls modes de codage sélectionnés. Selon que le mode sélectionné par le circuit de préanalyse est un codage au simple niveau trame ou image bi-trame, les calculs de coûts de codage effectués par le circuit de décision de mode de codage se limitent alors au mode trame ou au mode image bi-trame. Cette limitation peut être poussée plus loin. Ainsi, lorsque le mode trame est sélectionné, le circuit de préanalyse peut imposer, pour le mode de 25 codage, la trame paire ou la trame impaire et cela, pour chacun des macroblocs constituant la paire de macroblocs. Une deuxième solution, plus simple, correspond à la figure 3. Elle consiste, pour l'estimateur de mouvement du circuit de préanalyse, à calculer les 4 champs de vecteurs relatifs aux trames, référencés 17, 18, 19, 20 sur la figure et, pour chacune des trames de l'image courante, les sommes des différences inter-trames pour les trames de référence de même parité et de parité opposée: 4)=15 DFD paire,memeparité = E pixc (2i, j) pix pred (2i, j) i, j=0 i, j=15 DFDimpaire,memeparité E pic (2i + 1, j) pix pred (2i + 1, j)I i,j=o i, j=15 DFD paire, paritéopposée = E I pixc (2i, j) pix pred (2i + 1, j)I i, j=0 i, j=15 E i, j=0 Le choix bi-trame est généralement effectué dans le cas ou les deux macroblocs constituant la paire de macroblocs subissent le même mouvement d'une trame à la trame de même parité. Ainsi, si pour l'une des trames de l'image courante, la DFD correspondant à la trame de parité opposée est inférieure à la DFD correspondant à la trame de même parité, le choix de codage du macrobloc est le mode trame. En effet, dans ce cas, il y a de bonnes chances que le macrobloc de la trame paire et le macrobloc de la trame impaire constituant la paire de macroblocs ne subissent pas ce même mouvement, et donc que le mode image ou bi-trame soit moins avantageux. C'est par exemple le cas lors d'un mouvement important dans l'espace temporel entre deux trames qui est de 20 ms. Dans le cas contraire, c'est à dire si les vecteurs mouvement relatifs aux trames de même parité sont voisins, le mode image bi -trame est 20 sélectionné par le circuit de préanalyse. Dans cette solution, il n'est donc pas nécessaire que le circuit de préanalyse 6 effectue une estimation de mouvement au niveau image bitrame pour sélectionner les modes de codage à tester par le circuit de décision de mode de codage 13. Une autre solution consiste à calculer le champ de vecteurs bitrames à partir des vecteurs trames calculés par l'estimateur de mouvement du circuit de préanalyse. Les vecteurs mouvement calculés pour les trames sont exploités pour calculer les DFD correspondantes relatives au double macrobloc de l'image bi-trame, le vecteur sélectionné étant celui donnant la plus faible différence DFD qui est alors la DFDimageÉ On se retrouve dans le cas de la DFDimpaire,paritéopposée pixc (2i + 1, j) pix pred (21, J)I première solution pour le calcul des DFDs mais ici, l'estimateur de mouvement n'a pas à estimer les mouvements entre images bi-trames. Il s'agit d'exemples de réalisation. Bien évidemment, l'invention s'applique à tout type de partitionnement de l'image en blocs ou macroblocs pour lesquels une corrélation est recherchée. Une étape intermédiaire peut consister en un partitionnement de ces blocs ou macroblocs et recherche de corrélation pour chacune des parties de ces blocs ou macroblocs. Les estimateurs de mouvement peuvent être d'un autre type que 10 du type pel-récursif ou hiérarchique sans que l'on sorte du domaine de l'invention. Les informations relatives à la sélection du mode de codage transmises au circuit de choix de mode de codage 13 peuvent également être transmises aucircuit d'estimation de mouvement hiérarchique 11. Alors, celui-ci peut limiter ses calculs d'estimation de mouvement aux seuls modes sélectionnés, trame ou bi-trame, réduisant ainsi le volume de calcul de l'estimateur de mouvement. Les applications concernent la compression de données numériques pour la transmission ou le stockage d'informations vidéo. REVENDICATIONS 1 Procédé de codage d'une séquence d'images sources comprenant une phase de préanalyse (6) avec estimation de mouvement de type pel-récursif entre l'image courante et une image de référence et une phase de codage proprement dite par blocs d'image, avec une étape d'estimation de mouvement (11) par appariement de blocs, entre l'image courante et l'image de référence, puis une étape de décision de mode de codage (13) tel que le mode intra, le mode inter entre trames de même parité ou de parité opposée ou entre bi-trames, caractérisé en ce que la phase de préanalyse effectue des calculs de niveaux de corrélation de blocs trame paire et impaire de l'image courante avec des blocs trame paire et impaire de l'image de référence à partir de vecteurs mouvement calculés lors de cette phase et correspondant aux blocs pour imposer, lors de l'étape de décision de mode de codage et parmi les modes de codage inter, le codage inter entre trames de même parité ou de parité opposée ou le codage inter entre bi-trames, en fonction des niveaux de corrélation. 2 Procédé selon la revendication 1, caractérisé en ce que le codage inter entre trames est imposé lorsque le niveau de corrélation entre trames de parité opposées est inférieur au niveau de corrélation entre trames de même parité. 3 Procédé selon la revendication 1, caractérisé en ce que la phase de préanalyse effectue également des calculs de corrélation d'un bloc bitrame de l'image courante avec un bloc bi-trame d'une image de référence pour déterminer le mode de codage inter entre trames ou entre images bitrames en fonction des niveaux de corrélation. 4 Procédé selon la revendication 1, caractérisé en ce que le calcul 30 de corrélation consiste en un calcul de la valeur DFD suivante: i, j=15 DFD = pixc (i, j) pix pred (z, J)I i, j =0 pixc(i,j) correspondant à la valeur de luminance d'un pixel de la ligne i et colonne j d'un bloc courant, 2872973 15 pixpred(i, j) correspondant à la valeur de luminance d'un pixel de la ligne i et colonne j d'un bloc désigné par le vecteur mouvement dans l'image de référence ou bloc prédit 5 Procédé selon la revendication 1, caractérisé en ce qu'un bloc d'image est partitionné en bloc supérieur et bloc inférieur, le bloc supérieur correspondant à la trame supérieure et le bloc inférieur à la trame inférieure, ou inversement, en ce que le mode inter entre trames consiste en un choix de la trame reconstruite supérieure ou inférieure de l'image de référence pour chacun des blocs supérieur et inférieur et en ce que ce choix est fonction des mesures de corrélation sur l'ensemble du bloc d'image. 6 Procédé selon la revendication 1, caractérisé en ce que la phase de préanalyse (6) comporte une étape de réduction de bruit par filtrage compensé en mouvement à partir du mouvement calculé par l'estimation de mouvement de type pel-récursif. 7 Procédé selon la revendication 1, caractérisé en ce que l'estimateur de mouvement par appariement de blocs est du type hiérarchique. 8 Procédé selon la revendication 1, caractérisé en ce que l'estimation de mouvement de type pel-récursif est effectuée sur une image source de plus faible résolution. 9 Procédé selon la revendication 1, caractérisé en ce que les vecteurs mouvement calculés lors de la phase de préanalyse et correspondant aux blocs sont ceux calculés pour les pixels relatifs aux blocs. Procédé selon la revendication 1, caractérisé en ce que les vecteurs mouvement calculés lors de la phase de préanalyse et correspondant aux blocs sont obtenus à partir de la valeur médiane ou bien valeur moyenne des composantes des vecteurs mouvement calculés pour les pixels relatifs aux blocs. 11 Procédé selon la revendication 1, caractérisé en ce que les calculs de corrélation sont effectués sur plusieurs images de référence et en ce que la phase de préanalyse effectue une sélection d'une ou des images de référence en fonction des valeurs de corrélation. 12 Dispositif de codage pour la mise en oeuvre du procédé de la revendication 1, comprenant un circuit de préanalyse (6) avec un estimateur de mouvement de type pel-récursif et un circuit de codage proprement dit par blocs d'image comportant un estimateur de mouvement (11) par appariement de blocs d'images relié à un circuit de décision de mode de codage (13), caractérisé en ce que le circuit de préanalyse effectue des calculs de corrélation des blocs trame paire et impaire de l'image courante avec des blocs trame paire et impaire de l'image de référence à partir de vecteurs mouvement calculés par l'estimateur de mouvement de type pel-récursif pour imposer au circuit de décision de mode de codage (13) et parmi les modes de codage inter, le codage inter entre trames de même parité ou de parité opposée ou le codage inter entre bi-trames, en fonction des niveaux de corrélation. 13 Dispositif selon la revendication 12, caractérisé en ce que le circuit de préanalyse transmet les informations de mode de codage au circuit d'estimation de mouvement par appariement de blocs pour définir une estimation de mouvement sur les trames et/ou l'image bi-trame relatives à l'image reconstruite.