Brevet FR2757296A1 — publié le 19980619

PROCéDé ET DISPOSITIF D'ESTrMATION DE MOUVEMENT DE PORTIONS D'IMAGES POUR CIRCUIT DE COMPRESSION D'IMAGES MOBILES La présente invention se rapporte à un circuit de compression d'images mobiles, telles que des images de télévision. Elle concerne, plus particulièrement, l'estimation de mouvement de portions d'images, une portion d'une image courante étant comparée à son environnement dans l'image précédente. Un circuit de ce type est utilisé pour coder les images afin qu'elles puissent être transmises, dans le cadre d'une transmission d'images vidéo, par exemple, en vidéophonie, en minimisant le nombre d'informations à transmettre. La compression que réalise le circuit consiste, entre autres, à effectuer une estimation de mouvement entre deux portions de deux images successives. Cette estimation de mouvement permet de coder, et donc de transmettre, pour des portions d'une image courante, seulement des vecteurs de mouvement et des informations de distorsion associés à ces portions. Les images, par exemple issues d'une caméra vidéo, sont découpées en portions d'image, appelées "macroblocs". Ces macroblocs correspondent généralement à un découpage de l'image en carrés, chaque carré ayant une dimension de 16X16 pixels. Une image est stockée séquentiellement, ligne par ligne, dans une mémoire vidéo, et les pixels ainsi mémorisés sont extraits de cette mémoire vidéo par ensembles de pixels correspondant à des portions carrées de l'image. Ces ensembles de pixels, ou macroblocs, sont rangés dans une mémoire cache, pour être utilisés par un processeur de calculs chargé, entre autres, de déterminer le vecteur de mouvement du macrobloc considéré. Pour réaliser l'estimation de mouvement d'un macrobloc, le processeur de calculs dispose, non seulement des pixels du macrobloc considéré de l'image courante, mais également de pixels entourant le macrobloc correspondant dans l'image précédente. Le processeur de calculs traite, séquentiellement, chaque macrobloc de l'image courante en utilisant, au moins partiellement, les pixels de macroblocs voisins de l'image précédente qui constituent un ensemble de valeurs de référence, appelé "fenêtre de référence". En pratique, une première mémoire cache contient le macrobloc courant et une seconde mémoire cache contient une fenêtre de référence plus grande. Cette fenêtre de référence comprend, outre les pixels du macrobloc considéré dans l'image précédente, au moins une partie des pixels des macroblocs de l'image précédente qui lui sont séquentiellement voisins dans toutes les directions. La figure 1 représente schématiquement un exemple de dispositif d'estimation de mouvement auquel s'applique la présente invention. Ce dispositif communique au moyen de bus 1, 2 avec un processeur de contrôle du circuit de compression d'images mobiles et avec un processeur de contrôle des accès à une mémoire vidéo contenant les données à traiter. L'estimateur de mouvement comporte une première machine d'état finie 3 (TOP CONTROL) gérant le fonctionnement de l'estimateur de mouvement et, en particulier, l'écriture des données dans des mémoires caches 4 (CW~RAM) et 5 (SW~RAM) destinées à contenir, respectivement, le macrobloc courant à traiter et la fenêtre de référence qui lui est associée. La machine d'état 3 comporte une liaison 6 au bus 1 et transfère les données, qu'elle reçoit par l'intermédiaire d'une liaison 7 au bus 2, à des contrôleurs 8, 9 (CTRL) des mémoires 4, 5 par des liaisons 10, 11 sur lesquelles transitent à la fois les données, les adresses d'écritures et des signaux de commande. Un exemple d'adressage d'une mémoire cache d'un circuit de compression d'images mobiles est décrit dans la demande de brevet n094/05339 dont le contenu est incorporé par référence. L'estimation de mouvement d'un macrobloc consiste à déterminer le vecteur de mouvement de ce macrobloc par rapport à un macrobloc de l'image précédente et la distorsion entre ces deux macroblocs, c'est-à-dire la différence cumulée entre les pixels des deux macroblocs. On détermine le vecteur de mouvement en recherchant, dans la fenêtre de référence, le macrobloc qui présente une distorsion minimale. Le vecteur de mouvement d'un macrobloc courant par rapport à la position de ce macrobloc dans l'image précédente est déterminé en examinant la distorsion cumulée de tous les pixels de ce macrobloc courant par rapport aux pixels de macroblocs extraits de la fenêtre de référence dans toutes les positions que peut prendre le macrobloc courant dans cette fenêtre de référence. Pour ce faire, l'estimateur de mouvement comporte un module 12 (DISTOME) d'opérateurs organisés en architecture systolique qui calculent, en parallèle pour un déplacement donné dans une direction, la distorsion du macrobloc courant par rapport à tous les déplacements dans l'autre direction. Le module 12 comprend deux entrées 13, 14 de données reliées aux sorties de données des mémoires 4, 5 pour recevoir, à chaque cycle de calculs, un nouveau pixel provenant de chacune de ces mémoires. Le module 12 comporte autant de sorties 15 qu'il comprend d'opérateurs. Ces sorties sont reliées à un module 16 (MIN~OPE) de détermination de la distorsion minimale pour déterminer le vecteur de mouvement du macrobloc courant. Une sortie 17 du module 16 délivre ce vecteur de mouvement et la distorsion correspondante à un ensemble de registres 18 (REG), communiquant par une liaison 19 avec la machine d'état 3. L'ensemble de registres 18 est chargé de mémoriser les paramètres d'opérations fournis par le processeur de contrôle du circuit de compression d'images mobiles et les résultats des opérations effectuées. Les modules 12 et 16 communiquent, par l'intermédiaire de liaisons 20 et 21, avec une deuxième machine d'état finie 22 (OPE~CONTROL) destinée, en particulier, à organiser la lecture des données dans les mémoires 4 et 5. Des signaux de commande en lecture des mémoires 4 et 5 et des informations relatives à l'état d'avancement du processus opératoire sont délivrés par des sorties 23, 24 de la machine d'état 22 à des transcodeurs 25, 26 (TRC) respectivement associés aux mémoires 4, 5. Les transcodeurs 25, 26 déterminent, à partir des signaux d'état délivrés par la machine 22 et issus de compteurs (non représentés), les adresses de lecture des mémoires 4, 5. L'estimateur de mouvement représenté à la figure 1 est susceptible d'effectuer une estimation de mouvement hiérarchique, c'est-à-dire comportant plusieurs phases de niveau différent pour chaque macrobloc. Une première phase correspond, par exemple, à rechercher la distorsion minimale à partir d'un macrobloc et d'une fenêtre de référence décimés d'un facteur deux et détermine alors un vecteur de mouvement à deux pixels près. Une deuxième phase consiste à déterminer le vecteur de mouvement au demi-pixel près à partir d'un macrobloc et d'une fenêtre de référence reconstitués par interpolation linéaire. Le recours à un processus de recherche hiérarchique (ou télescopique) d'estimation de mouvement est parfaitement connu de la technique. Par soucis de clarté, on parlera de macrobloc, qu'il s'agisse de portions d'une image de base, décimée, ou obtenue par interpolation. On notera simplement que les données présentes dans les mémoires 4 et 5 doivent être cohérentes les unes avec les autres. Les différentes phases sont effectuées au moyen du même estimateur de mouvement, et la machine d'état 3 communique des paramètres caractéristiques de chaque phase aux différents constituants de l'estimateur. Pour ce faire, la machine d'état 3 utilise des liaisons 27, 28, 29 avec la machine d'état 22, le transcodeur 25 et le transcodeur 26 ainsi que les liaisons 19, 20 et 21 décrites précédenment. On notera que tous les constituants de l'estimateur de mouvement sont câblés, c'est-à-dire font l'objet d'une réalisation "matérielle" par opposition à une réalisation "logicielle", y compris les machines d'état, les modules d'opérateurs et les transcodeurs. Le recours à un processus de recherche hiérarchique est lié, notamment, à la taille de la fenêtre de référence et à la vitesse de transmission des images. En effet, plus la fenêtre de référence est grande, plus il est nécessaire d'effectuer un grand nombre d'opérations pour une vitesse de transmission d'images donnée. Par exemple, dans une norme H263 appliquée à la vidéophonie, les macroblocs représentent 16X16 pixels et la recherche doit être effectuée avec un déplacement de plus ou moins 16 pixels dans toutes les directions. De plus, cette norme prévoit une précision pouvant aller jusqu'au demi-pixel près par interpolation linéaire. L'application d'une recherche dans toute la fenêtre de référence en une seule phase comme cela a été précédemment effectué pour l'application à une norme H261 n'est pas applicable car cela conduirait à utiliser un nombre d'opérateurs trop important. La norme H261 s'applique au traitement d'images au format dit "QCIF" transmises à une fréquence de 15 images par seconde, où chaque image est constituée de 99 macroblocs de 16X16 pixels. La norme H263 prévoit le traitement d'images au format dit "CIF" à une fréquence de 30 images par seconde, où chaque image comporte 396 macrobîocs de 16X16 pixels. L'application des procédés utilisés pour la norme H261 conduirait à prévoir de l'ordre de 480 opérateurs en parallèle. De plus, si l'application d'un processus de recherche hiérarchique permet de respecter les contraintes temporelles pour la détermination des vecteurs de mouvement des macroblocs entiers, la norme H263 prévoit également un mode de fonctionnement dans lequel la précision est accrue en déterminant le mouvement de quatre blocs distincts dans chaque macrobloc. Il n'est alors plus possible de maintenir les contraintes temporelles des images au format CIF avec un module 12 comprenant 16 opérateurs en parallèle. La présente invention vise à proposer un procédé et un dispositif d'estimation de mouvement qui permettent de réduire le temps nécessaire à l'estimation du mouvement d'au moins certains macroblocs des images. La présente invention vise également à proposer un procédé et un dispositif d'estimation de mouvement qui soient compatible à la fois avec une recherche hiérarchique et avec une recherche en une seule phase. Pour atteindre ces objets, la présente invention prévoit un procédé d'estimation de mouvement d'un macrobloc de pixels d'une image courante par rapport à une fenêtre de référence prise dans une image précédente, consistant, dans une première étape, à déterminer la distorsion cumulée des pixels du macrobloc courant pour un vecteur de mouvement nul dans la fenêtre de référence ; à choisir, comme vecteur de mouvement du macrobloc courant, le vecteur nul si ladite distorsion est infé rieure ou égale à un premier seuil cet et à choisir sinon, dans une deuxième étape, un vecteur pour lequel le macrobloc courant présente une distorsion minimale par rapport à un macrobloc de la fenêtre de référence. Selon un mode de réalisation de la présente invention, ce procédé consiste, au cours de la deuxième étape, à comparer la distorsion calculée pour chaque vecteur de mouvement par rapport à une distorsion minimale précédemment calculée pour un vecteur précédemment examiné, la distorsion minimale étant initialisée par la distorsion calculée au cours de la première étape ; et à remplacer la distorsion minimale par la distorsion courante si cette dernière est inférieure. Selon un mode de réalisation de la présente invention, ce procédé consiste, au cours de la deuxième étape, à comparer, à chaque modification de la distorsion minimale, la valeur de cette distorsion minimale par rapport à une deuxième valeur seuil prédéterminée ; et à choisir, comme vecteur de mouvement du macrobloc courant, le vecteur associé à cette distorsion minimale. Selon un mode de réalisation de la présente invention, ce procédé consiste, au cours de la deuxième étape à utiliser des opérateurs organisés en architecture systolique pour calculer, pour chaque position du macrobloc courant dans une première direction de la fenêtre de référence, la distorsion entre le macrobloc courant et plusieurs macroblocs dans une deuxième direction de la fenêtre de référence ; et à interrompre les calculs de distorsion effectués pour cette position dans la première direction si, pendant ces calculs, les distorsions deviennent, pour toutes les positions dans la deuxième direction, supérieures à la distorsion minimale. Selon un mode de réalisation de la présente invention, ce procédé comporte une étape intermédiaire entre les première et deuxième étapes consistant à calculer la distorsion entre le macrobloc courant et la valeur moyenne des pixels de ce macrobloc ; et à interrompre l'estimation de mouvement du macrobloc courant si cette distorsion par rapport à la valeur moyenne des pixels est inférieure ou égale à un troisième seuil prédéterminé. La présente invention, prévoit aussi un dispositif d'estimation de mouvement d'un macrobloc d'une image courante dans une fenêtre de référence contenant le macrobloc courant et son environnement dans une image précédente, comportant : une première mémoire cache destinée à contenir le macrobloc courant une deuxième mémoire cache destinée à contenir la fenêtre de référence ; et un module d'opérateurs, organisés en architecture systolique et alimentés par une lecture des mémoires caches, destiné à calculer, pour chaque position du macrobloc courant dans une première direction de la fenêtre de référence, la distorsion entre le macrobloc courant et plusieurs macrobîocs dans une deuxième direction de la fenêtre de référence , et des moyens pour mettre en oeuvre le procédé d'estimation de mouvement cidessus. Ces objets, caractéristiques et avantages, ainsi que d'autres de la présente invention seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non-limitatif en relation avec les figures jointes parmi lesquelles la figure 1 décrite précédemment est destinée à exposer l'état de la technique et le problème posé la figure 2 représente schématiquement un macrobloc à traiter et une fenêtre de référence de son environnement dans l'image précédente la figure 3 représente, sous forme d'organigramme simplifié, un mode de mise en oeuvre du procédé selon l'invention pour l'estimation du mouvement d'un macrobloc donné la figure 4 illustre, sous forme d'organigramme, un mode de mise en oeuvre d'une phase de balayage d'une fenêtre de référence selon la présente invention ; et la figure 5 représente, sous forme d'organigramme, un détail d'un bloc de la figure 4. Pour des raisons de clarté, seuls les éléments du dispositif et les étapes du procédé qui sont nécessaires à la compréhension de l'invention ont été représentés aux figures. Une caractéristique de la présente invention est de débuter l'estimation de mouvement de chaque macrobloc par un calcul de la distorsion de ce macrobloc par rapport au même macrobloc dans l'image précédente, c'est-à-dire avec un déplacement nul, et de passer au traitement du macrobloc suivant si cette distorsion est inférieure à un seuil prédéterminé. Ce seuil correspond à une valeur suffisamment faible de distorsion pour laquelle on considère que le macrobloc est identique au macrobloc de même position de l'image précédente, c'est-à-dire que cette portion de l'image est restée sensiblement figée. Ainsi, on effectue un balayage de la fenêtre de référence associée à chaque macrobloc pour déterminer la distorsion minimale, uniquement si cela est nécessaire. On économise donc, pour les portions d'images qui restent figées, un nombre considérable de cycles de calculs. Une autre caractéristique de la présente invention est que, au cours de la détermination de la distorsion minimale du macrobloc courant à partir d'un calcul en parallèle de cette distorsion dans une direction donnée (par exemple, verticale) de la fenêtre de référence pour chaque position dans l'autre direction (par exemple, horizontale), les calculs de distorsion sont interrompus pour passer à la position horizontale suivante si, pendant ce calcul, les distorsions deviennent, pour toutes les positions verticales, supérieures à la distorsion minimale déjà trouvée. La figure 2 représente un exemple de macrobloc à traiter et la fenêtre de référence qui lui est associée, soit les contenus respectifs des mémoires caches 4 et 5 pour le traitement d'un macrobloc donné. Dans cet exemple, un macrobloc MB(k, t) à traiter de l'image courante est une matrice carrée de (n + 1). (n + 1) pixels. La fenêtre de référence SW(k, t-l) qui lui est associée dans l'image précédente comprend outre le macrobloc MB(k, t-l), les huit macrobîocs qui entourent ce dernier dans l'image précédente dans toutes les directions. On désignera par la suite "macrobloc" l'ensemble de valeurs soumis au procédé d'estimation de mouvement selon la présente invention, qu'il s'agisse d'un macrobloc décimé d'un facteur deux ou d'un macrobloc reconstitué par interpolation linéaire au demi-pixel près. Ainsi, pour des macrobîocs d'images de 16X16 pixels devant être analysés dans une fenêtre de référence de 48X48 pixels, le macrobloc MB(k, t) représenté à la figure 2 comprend 8X8 pixels suite à une décimation du macrobloc d'origine pour une estimation de mouvement à deux pixels près, la fenêtre de référence SW(k, t-1) comprenant 24X24 pixels. Pour l'estimation du mouvement au demi-pixel près, le macrobloc et la fenêtre de référence correspondent respectivement à des ensemble de 16X16 pixels et 8X8 pixels, cette phase de calcul au demipixel près correspondant à affiner la détermination à deux pixels près. On exposera par la suite un mode de mise en oeuvre du procédé selon l'invention pour des macroblocs et des fenêtres de référence carrés, respectivement de (n + 1). (n + 1) et 3(n + 1).3(n + 1) pixels au moyen de 2(n + 1) opérateurs en architecture systolique. La transposition du fonctionnement décrit, à des matrices de dimensions différentes, s'effectue en adaptant l'adressage des mémoires caches en lecture et/ou le nombre d'opérateurs utilisés parmi la série d'opérateurs de l'estimateur de mouvement. La figure 3 représente, de façon très schématique, un mode de mise en oeuvre du procédé selon l'invention. L'exemple représenté correspond à l'estimation de mouvement d'un macrobloc MB(k, t) de rang k (bloc 30) dans l'image courante. On commence (bloc 31) par déterminer la distorsion A(k) entre le macrobloc MB(k, t) et ce même macrobloc MB(k, t-1) dans la fenêtre de référence, c'est-à-dire la distorsion pour un déplacement nul. La détermination de la distorsion pour un déplacement nul peut être effectuée sur un macrobloc décimé ou non. On effectue ensuite (bloc 32) une détermination de la distorsion AI entre le macrobloc MB(k, t) et la valeur moyenne des pixels de ce macrobloc. On commence donc par calculer la valeur moyenne de tous les pixels du macrobloc. Puis, on applique le calcul de distorsion effectué par le module d'opérateurs 12 (figure 1) en utilisant un seul opérateur recevant successivement tous les pixels de la mémoire 4 et, à chaque calcul, la même valeur sur son entrée 14. Le cas échéant, les distorsions A(k) et AI pourront être effectuées simultanément si l'organisation en architecture systolique des opérateurs du module 12 peut être paramétrée pour rendre deux de ces opérateurs utilisables individuellement. On compare ensuite (bloc 33) la distorsion A(k) par rapport à un seuil prédéterminé S0. Le seuil S0 est choisi pour correspondre à une valeur de distorsion acceptable pour des images sensiblement figées. Si A(k) tf S0, le résultat de l'esti- mation de mouvement enregistré dans les registres 18 correspond à un vecteur V(k) nul et à la distorsion A(k) (bloc 34). Sinon, on compare (bloc 35) la distorsion A1 par rapport à un seuil SI prédéterminé. Cette comparaison 35 a pour objet, selon une carac téristique de la présente invention, de sélectionner un macrobloc très peu contrasté (très uniforme). Si A1 SI, SI, cela signifie alors que le codage à longueur variable effectué sur le macrobloc pour sa transmission conduira à un message de données particulièrement court dans la mesure où, après avoir codé un premier pixel de ce macrobloc, les autres pixels de ce macrobloc pourront être codés avec un nombre de bits très restreint en raison du processus de codage à transformée cosinus inverse utilisé pour ce genre de transmission. Cette caractéristique de la présente invention permet de réduire la durée de transmission des images. En effet, les normes prévoient que chaque macrobloc doit être transmis intégralement (en mode dit "Intra") à intervalles maximums (par exemple toutes les 100 images) pour régénérer l'estimation de mouvement afin de réduire l'effet des accumulations d'erreurs liées à la compression des images. Un avantage de la présente invention est qu'au lieu de transmettre à intervalles fixes un macrobloc en mode Intra au risque de devoir le transmettre quand il est particulièrement contrasté, on sélectionne une transmission en mode Intra (bloc 36), lorsque celui-ci est peu contrasté. Oue ce soit à l'issue des étapes 34 ou 36, on passe alors au traitement du macrobloc suivant de l'image courante (bloc 37). Si le résultat de la comparaison effectuée à l'étape 35 est négatif, on effectue alors un balayage de la fenêtre de référence pour déterminer le vecteur de déplacement associé à une distorsion minimale du macrobloc courant. Comme cela a été indiqué précédemment, cette estimation de mouvement par balayage peut être effectuée en plusieurs phases (blocs 38 et 39). Les figures 4 et 5 illustrent le fonctionnement du procédé selon l'invention pendant une phase de balayage de la fenêtre de référence. On exposera ce fonctionnement en prenant pour exemple un balayage horizontal de vecteurs de déplacement verticaux trai tés en parallèle par le module 12 à partir du vecteur [-(n + 1) ; -(n + 1)]. On notera toutefois que l'invention s'applique quelle que soit la direction traitée en parallèle par le module 12 et quel que soit l'ordre (balayage ou autre) dans lequel sont examinés les vecteurs de mouvement. Dans l'exemple représenté aux figures 4 et 5, on commence par initialiser (bloc 40) la position horizontale x à la valeur -(n + 1). On effectue alors (bloc 41) la détermination en parallèle des distorsions A(x, y) pour toutes les positions verticales du macrobloc dans la fenêtre de référence au moyen du module 12, c'est-à-dire pour -(n + 1) > y > n. Cette détermination est classique et on pourra se référer, par exemple, à la demande de brevet français n0 94/05338 dont le contenu est incorporé par référence. Toutefois, une caractéristique de la présente invention est de permettre, dans certains cas qui seront exposés par la suite en relation avec la figure 5, d'interrompre cette détermination pour passer à la position horizontale suivante (flèche 42). Si le calcul de la distorsion du macrobloc complet est mené à son terme, on détermine au moyen du module 16 la distorsion minimale parmi les 2(n + 1) valeurs obtenues. Par exemple, on initialise un compteur de position verticale y (bloc 43) à la valeur -(n + 1) puis on compare A(x, y) par rapport à une valeur de distorsion minimale Amin (bloc 44). Si A(x, y) Amin doit avoir été initialisée. Pour ce faire, la valeur Amin est, de préférence, initialisée à la valeur de distorsion pour un déplacement nul calculée précédemment (bloc 31, figure 3). On incrémente ensuite le compteur associé à la position horizontale (bloc 48) et on réitère les étapes 41, 43, 44, 45, 46, 47, 48 tant que toutes les positions horizontales n'ont pas été examinées, c'est-à-dire tant que x tt n (bloc 49). On dispose alors, dans le module 16, de coordonnées [x, y] correspondant au vecteur de déplacement V(k) pour lequel la distorsion A(k) = Amin (bloc 50). Une caractéristique de la présente invention est de prévoir un arrêt (bloc 51) du traitement d'un macrobloc si la valeur Amin modifiée à l'étape 45 est inférieure ou égale à un seuil S1 prédéterminé. Ce seuil est, par exemple, fixé à une valeur pour laquelle l'économie de longueur de message à transmettre serait négligeable si l'on poursuivait la recherche pour trouver une distorsion encore inférieure. Un avantage de cette caractéristique est qu'elle interrompt le traitement dès que l'on a trouvé un vecteur de mouvement pour lequel la distorsion est acceptable. Toutefois, cette interruption 51 ne sera, de préférence, pas mise en oeuvre pour des phases d'estimation de mouvement à partir de macroblocs et de fenêtres de référence décimés. En effet, dans un tel cas, les valeurs exploitées correspondent à des valeurs moyennes sur plusieurs pixels. Ainsi, cette étape 51 sera, dans 1' exemple représenté à la figure 3, mise en oeuvre à l'étape 39 et pas à l'étape 38. L'avantage de cette caractéristique est particulièrement sensible dans un mode de mise en oeuvre où l'examen des vecteurs de mouvement est effectué dans un ordre croissant depuis un vecteur de mouvement nul. En effet, dans un tel cas, on arrête la détermination du mouvement dès que la distorsion est acceptable du point de vue de la longueur du message à transmettre et cet arrêt se produit pour un vecteur de mouvement minimal, c'està-dire dont le codage à longueur variable requiert une longueur de message minimale. Une telle organisation de l'exploration de la fenêtre de référence est, par exemple, effectuée en modifiant la détermination des adresses de lecture par le transcodeur 26 (figure 1) pour les positions horizontales et en interprétant les résultats de distorsion dans le module 16 à partir de la position centrale du vecteur vertical de distorsion délivré par le module 12. La figure 5 illustre une autre caractéristique de la présente invention mise en oeuvre pendant le calcul des distorsions pour différentes positions verticales avec une même position horizontale. Cette figure détaille le bloc 41 de la figure 4. Pour chaque position horizontale x (bloc 51), on initialise un compteur de positions horizontales i (bloc 52) et un compteur de positions verticales j (bloc 53) des pixels du macrobloc MB(k, t) devant être lu dans la mémoire 4. On effectue alors, de façon classique, un calcul (bloc 54) de la distorsion A(x, y, j) prenant en compte, pour chaque opérateur du module 12, la valeur de distorsion A(x, y, j-1) calculée avec le pixel précédent du macrobloc courant, le pixel courant PC(i, j) et le pixel PC(x, y) de la fenêtre de référence associé à la position verticale j courante. L'adressage des mémoires 4 et 5 en lecture peut être effectué de façon classique et on obtient, à l'issue de l'étape 54, des valeurs intermédiaires A(x, y, j) de distorsion pour j - (n + 1) tt y tt j + n. On effectue alors, selon la présente invention, une comparaison (bloc 55) de ces valeurs intermédiaires par rapport à la distorsion minimale Amin. Si toutes ces valeurs intermédiaires sont supérieures ou égales à Amin, on passe au calcul des distorsions pour le vecteur vertical suivant, c'est-à-dire pour la position horizontale x suivante, sans qu'il soit nécessaire de terminer le calcul des distorsions pour le vecteur vertical courant. Un avantage de cette caractéristique de l'invention est qu'elle permet d'interrompre le calcul, effectué au moyen du module 12 pour une position horizontale donnée dans la fenêtre de référence, dès que tous les résultats individuels des opérateurs sont supérieurs à une valeur de distorsion minimale précédemment trouvée pour un autre vecteur de mouvement. S'il subsiste au moins une valeur intermédiaire inférieure à la distorsion minimale Amin, on poursuit le calcul de la distorsion dans cette position horizontale pour toutes les positions verticales du macrobloc courant dans la fenêtre de référence. Ainsi, on incrémente la position verticale dans le macrobloc courant (bloc 56) et on réitère les étapes 54, 55 et 56 tant que la dernière ligne du macrobloc n'est pas atteinte (bloc 57). Puis, on incrémente la position horizontale du pixel lu dans le macrobloc courant (bloc 58) et on réitère les étapes 53, 54, 55, 56, 57 et 58 tant que le dernier pixel du macrobloc n'a pas été traité (bloc 59). Si les calculs de distorsion n'ont pas été interrompus par le bloc 55, on obtient alors les distorsions A(x, y) pour 2(n + 1) macroblocs (-(n + 1) tt y tt n) avec un même déplacement horizontal x. DBP REVENDICATIONS 1. Procédé d'estimation de mouvement d'un macrobloc (MB(k, t)) de pixels d'une image courante par rapport à une fenêtre de référence (SW(k, t-l)) prise dans une image précédente, caractérisé en ce qu'il consiste, dans une première étape à déterminer la distorsion cumulée des pixels (PC(i, j)) du macrobloc courant pour un vecteur de mouvement nul dans la fenêtre de référence à choisir, comme vecteur de mouvement (V(k)) du macrobloc courant, le vecteur nul si ladite distorsion est inférieure ou égale à un premier seuil (S0) ; et à choisir sinon, dans une deuxième étape, un vecteur (V[x, y]) pour lequel le macrobloc courant présente une distorsion minimale (amis) par rapport à un macrobloc de la fenêtre de référence. 2. Procédé selon la revendication 1, caractérisé en ce qu'il consiste, au cours de la deuxième étape à comparer la distorsion (A(x, y)) calculée pour chaque vecteur de mouvement (V[x, y]) par rapport à une distorsion minimale (Amin) précédemment calculée pour un vecteur précédemment examiné, la distorsion minimale étant initialisée par la distorsion calculée au cours de la première étape ; et à remplacer la distorsion minimale par la distorsion courante si cette dernière est inférieure. 3. Procédé selon la revendication 2, caractérisé en ce qu'il consiste, au cours de la deuxième étape, à comparer, à chaque modification de la distorsion minimale (Amin), la valeur de cette distorsion minimale par rapport à une deuxième valeur seuil (S1) prédéterminée ; et à choisir, comme vecteur de mouvement (V(k)) du macrobloc courant (MB(k, t)), le vecteur (V[x, y]) associé à cette distorsion minimale. 4. Procédé selon la revendication 2 ou 3, caractérisé en ce qu'il consiste, au cours de la deuxième étape à utiliser des opérateurs (12) organisés en architecture systolique pour calculer, pour chaque position du macrobloc courant (MB(k, t)) dans une première direction (x) de la fenêtre de référence (SW(k, t-l)), la distorsion (A(x, y)) entre le macrobloc courant et plusieurs macroblocs dans une deuxième direction (y) de la fenêtre de référence ; et à interrompre les calculs de distorsion (A(x, y, j)) effectués pour cette position dans la première direction si, pendant ces calculs, les distorsions deviennent, pour toutes les positions dans la deuxième direction, supérieures à la distorsion minimale (Amin). 5. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce qu'il comporte une étape intermédiaire entre les première et deuxième étapes consistant à calculer la distorsion (AI) entre le macrobloc courant (MB(k, t)) et la valeur moyenne des pixels (PC(i, j)) de ce macrobloc ; et à interrompre l'estimation de mouvement du macrobloc courant si cette distorsion par rapport à la valeur moyenne des pixels est inférieure ou égale à un troisième seuil (SI) prédéterminé. 6. Dispositif d'estimation de mouvement d'un macrobloc (MB(k, t)) d'une image courante dans une fenêtre de référence (SW(k, t-l)) contenant le macrobloc courant et son environnement dans une image précédente, comportant une première mémoire cache (4) destinée à contenir le macrobloc courant une deuxième mémoire cache (5) destinée à contenir la fenêtre de référence ; et un module d'opérateurs (12), organisés en architecture systolique et alimentés par une lecture des mémoires caches, destiné à calculer, pour chaque position du macrobloc courant dans une première direction (x) de la fenêtre de référence, la distorsion entre le macrobloc courant et plusieurs macroblocs dans une deuxième direction (y) de la fenêtre de référence, caractérisé en ce qu'il comporte des moyens pour mettre en oeuvre le procédé d'estimation de mouvement selon l'une quelconque des revendications 1 à 5.