FR 2925815 A1 20090626 FR 0759997 A 20071219 Procédé et dispositif d'estimation de mouvement hiérarchique symétrique d'objets d'images vidéo successives dans un codeur vidéo L'invention concerne un procédé et un système d'estimation de mouvement hiérarchique symétrique d'objets d'images vidéo successives. Dans les codeurs vidéo actuels, une séquence d'images vidéo successives, codées par exemple dans le cadre de la norme H. 264, est composée d'images intra trame, dites images I, codées sans référence aux images passées, et d'images inter trames, dites P ou B, qui sont prédites par rapport à d'autres images de la séquence d'images. Afin de prédire les images les unes par rapport aux autres chaque image est découpée en blocs de pixels, typiquement de 16x16 pixels. Pour chaque bloc B(x,y), x et y désignant les coordonnées du bloc considéré dans l'image courante, représentée par les coordonnées de l'un des pixels de ce bloc, le mouvement du bloc considéré par rapport à une image précédente et/ou future peut-être mis en évidence en recherchant le bloc B'(x',y') qui présente le plus de similarité avec le bloc B(x,y) considéré de l'image courante. S'il n'y a pas eu de mouvement, le bloc le plus similaire 30 B'(x',y') est à la même position dans l'image future ou passée que le bloc B(x,y), soit B'(x',y') = B(x,y). S'il y a eu mouvement, des processus d'estimation de mouvement prenant en compte, notamment, la distance temporelle entre l'image courante et une image précédente et/ou future sont mis en oeuvre. De très nombreux processus d'estimation de mouvement existent dans l'état de la technique et leur utilisation dépend des contraintes matérielles des équipements les mettant en oeuvre, telles que bande passante, taille mémoire par exemple. Pour une description plus détaillée des processus et des contraintes précitées, on pourra utilement se reporter à l'article publié par Hye-Yeon Cheong et Alexis Michael Tourapis intitulé: � Fast motion estimation within H.264 codec � IEEE International Conference on Multimedia & Expo, 2003. De manière plus spécifique, un processus d'estimation de mouvement par blocs le plus rudimentaire consiste au moins, pour chaque bloc d'une image courante, à tester tous les vecteurs mouvement possibles, et de retenir le vecteur mouvement pointant vers le bloc de l'image précédente ou future présentant la similarité la plus grande. Ce processus a pour principal inconvénient la lenteur, car il implique, pour chaque bloc, le test d'un nombre de vecteurs mouvement possibles, fonction de la taille en nombre de pixels de l'image précédente ou future, soit (L -15)x(H -15) vecteurs, où L et H désignent la largeur respectivement la hauteur en nombre de pixels de l'image précédente ou future. Le nombre de vecteurs possibles est donc proportionnel au nombre total de pixels de cette image et peut-être énorme. Dans le but d'accélérer le processus précité, une technique connue de l'art antérieur consiste à réduire la fenêtre de recherche, soit le nombre de vecteurs possibles, mais en contrepartie, de centrer cette fenêtre de recherche sur le vecteur possible le plus probable. Le vecteur le plus probable peut-être déterminé de différentes manières. Celle la plus couramment utilisée consiste à tester un certain nombre de vecteurs candidats et à choisir, comme vecteur de centrage, le vecteur candidat pointant vers le bloc le plus similaire. Les vecteurs candidats choisis sont usuellement: -- les vecteurs mouvement de blocs voisins déjà estimés, vecteurs candidats spatiaux ; -- le vecteur médian, vecteur candidat calculé à partir des vecteurs mouvement des blocs voisins déjà estimés ; -- un vecteur accéléré calculé à partir des vecteurs mouvement alloués au bloc courant dans les images précédentes. Un exemple de vecteurs candidats spatiaux alloués au bloc courant, compte tenu du balayage trame BT représenté en trait mixte pour les blocs déjà estimés, le bloc courant en cours d'estimation et les blocs non encore estimés, est représenté en figure la. Une amélioration des processus précités consiste à exécuter une estimation de mouvement hiérarchique. L'estimation de mouvement hiérarchique permet de rajouter, à moindre coût, un vecteur candidat supplémentaire, meilleur que les vecteurs candidats spatiaux et présentant une grande probabilité de vraisemblance, lequel permet de réduire encore plus la fenêtre de recherche de l'estimation de mouvement. Le processus d'estimation de mouvement hiérarchique s'appuie sur le processus d'estimation de mouvement par 10 vecteurs candidats précédemment décrit. Toutefois, l'estimation de mouvement est effectuée successivement sur des versions sous-échantillonnées de l'image, ou du bloc, dont on veut estimer le mouvement. 15 La version sous-échantillonnée, présentant le moins de détails et la complexité la plus faible, est effectuée en premier. Les vecteurs d'estimation de mouvement issus de cette version peuvent alors être rajoutés comme vecteurs 20 candidats, lors de l'estimation dans la couche �supérieure�, c'est-à-dire la seconde version la plus sous-échantillonnée. La répétition récursive du processus précité jusqu'à l'image non sous-échantillonnée permet d'obtenir un vecteur candidat de grande probabilité de 25 vraisemblance. Une représentation de la succession des couches d'image sous-échantillonnée est représentée en figure lb, dans laquelle i représente le niveau d'échantillonnage, négatif par rapport à l'image réelle de niveau 0 et r représente le rang de la couche d'image 30 sous-échantillonnée dans la succession, r = Dans l'hypothèse d'un sous-échantillonnage d'un facteur 2 par rapport à la couche d'échantillonnage précédente, et en notant Bi(x,y) le bloc courant situé aux coordonnées x,y de l'image sous-échantillonnée d'un facteur 2r, constituant la couche sous-échantillonnée de niveau i précité, par rapport à l'image non sous-échantillonnée constituant la couche de niveau 0, alors on sait que le bloc courant précité B.(x,y) recouvre les quatre blocs Bi+l(x*2,y*2);Bi+l(x*2+16,y*2);Bi+1(x*2,y*2+16);Bi+1(x*2+ 16,y*2+16). Son vecteur d'estimation de mouvement multiplié par 2 sert donc de vecteur candidat pour les quatre blocs de la couche supérieure de rang i+l. Une représentation du vecteur estimation de mouvement de blocs Bi de la couche de niveau i et des vecteurs candidats associés correspondants des blocs B.1 de la couche supérieure de niveau i+l est donnée en figure 1c. Une des limites du processus d'estimation de mouvement hiérarchique précité est l'asymétrie d'estimation de mouvement induite par le balayage trame séquentiel BT des blocs, lors de l'estimation de mouvement, tel que représenté en trait mixte sur la figure la. On rappelle que le balayage séquentiel BT des blocs consiste, ainsi que représenté en figure la, à lire successivement les blocs adjacents d'une même ligne de blocs horizontale, à partir de la ligne supérieure par exemple, et retour immédiat au premier bloc de la ligne de blocs suivante, puis poursuite du processus pour chacune des lignes de blocs de l'image. En effet, ainsi que représenté en figure la, lorsqu'on considère tout bloc B,(x,y) d'une couche de niveau i sous- échantillonnée, seuls les blocs Bi (x', y') tels que y'(y ou y'= y et x'(x ont déjà été estimés, en raison du balayage séquentiel BT précité et seuls leur vecteur mouvement est donc susceptible de servir de vecteur mouvement candidat spatial. Or il se produit que les seuls vecteurs candidats valables pour un bloc déterminé sont issus des blocs placés en bas et/ou à droite de ce dernier, et donc non encore estimés en raison du balayage séquentiel BT précité. En conséquence, le vecteur candidat supplémentaire présentant la meilleure probabilité de vraisemblance peut ne pas être trouvé. La présente invention a pour objet de remédier aux inconvénients précités du processus d'estimation de mouvement hiérarchique précédemment mentionné. 25 En particulier, l'invention a pour objet la mise en oeuvre d'un procédé et du dispositif d'estimation de mouvement hiérarchique symétrique d'objets d'images vidéo successives permettant la prise en compte des vecteurs mouvement non encore estimes par le processus 30 d'estimation de mouvement hiérarchique classique, afin de trouver le vecteur mouvement candidat spatial20 supplémentaire présentant la meilleure probabilité de vraisemblance. Un autre objet de la présente invention est également la mise en oeuvre d'un procédé et d'un dispositif d'estimation de mouvement hiérarchique symétrique d'objets d'images vidéo successives exempts de tout retard ou ralentissement de l'estimation de mouvement fournie par les processus d'estimation de mouvement hiérarchiques de l'art antérieur. Le procédé d'estimation de mouvement hiérarchique symétrique d'objets d'images vidéo successives, objet de l'invention, s'applique à des images courantes subdivisées chacune en blocs de pixels soumises à une succession de sous-échantillonnages de pas déterminé permettant d'engendrer des couches d'image sous-échantillonnée selon un pas de sous-échantillonnage croissant, les couches d'image sous-échantillonnée étant classées par niveau décroissant par rapport à l'image non sous-échantillonnée constituant une couche d'image sous-échantillonnée de niveau zéro. Il est remarquable en ce qu'il consiste au moins à effectuer une estimation de mouvement de chaque bloc de pixels d'image sous-échantillonnée, constitutifs d'une couche d'image sous- échantillonnée de niveau inférieur, à partir d'un balayage trame des blocs de pixels successifs de la couche d'image sous-échantillonnée de niveau inférieur selon un premier sens de balayage trame et à effectuer une estimation de mouvement de chaque bloc de pixels d'une image sous-échantillonnée constituant une couche d'image sous-échantillonnée de niveau supérieur, constitutive d'une image courante, à partir d'un balayage trame des blocs de pixels successifs de la couche d'image sous-échantillonnée de niveau supérieur selon un deuxième sens de balayage trame, inverse du premier, puis à sélectionner comme vecteur mouvement candidat spatial de tout bloc de pixels d'une couche d'image sous-échantillonnée d'un niveau supérieur au moins un vecteur mouvement estimé antérieurement à partir du balayage trame selon le premier sens appliqué à la couche d'image sous-échantillonnée de niveau inférieur et au moins un vecteur mouvement de bloc de pixels d'une couche d'images sous-échantillonnée d'un niveau supérieur dont le mouvement est estimé antérieurement à partir du balayage trame selon le deuxième sens de balayage trame appliqué à la couche d'image sous-échantillonnée de niveau supérieur. Le procédé objet de l'invention est en outre remarquable en ce que pour une pluralité de couches d'image sous-échantillonnée successives de rang pair respectivement impair, aux couche de rang pair est appliqué le premier sens de balayage trame et aux couches de rang impair est appliqué le deuxième sens de balayage trame. Le procédé objet de l'invention est également remarquable en ce que la couche d'image sous-échantillonnée de niveau supérieur constituant l'image courante et la couche d'image sous-échantillonnée de niveau inférieur ont des niveaux disjoints. Le procédé objet de l'invention est enfin remarquable en ce que le pas de sous-échantillonnage de chaque couche d'image sous-échantillonnée est une puissance du niveau de la couche d'image sous échantillonnée. L'invention couvre également un dispositif d'estimation de mouvement hiérarchique symétrique d'objets d'images vidéo successives dans un codeur vidéo de séquences d'images vidéo successives subdivisées en blocs de pixels. Ce codeur vidéo traitant des séquences d'images vidéo comprenant des images intra-trame et des images inter-trames prédites par rapport à d'autres images inclut, outre un microprocesseur, une mémoire de travail et une mémoire de programmes, un module de sous-échantillonnage d'images et de mémorisation en couches d'image sous-échantillonnée successives selon un pas de sous échantillonnage croissant, fonction du niveau de la couche d'image sous-échantillonnée et un module d'estimation de mouvements hiérarchique. Le dispositif d'estimation de mouvement hiérarchique symétrique, objet de l'invention, est remarquable en ce qu'il inclut au moins des ressources de sélection, dans les couches d'image sous-échantillonnée mémorisées, d'au moins une couche d'image sous-échantillonnée de niveau inférieur et d'au moins une couche d'image sous- échantillonnée de niveau supérieur à celui de la couche d'image sous-échantillonnée de niveau inférieur, des ressources de commutation du balayage trame appliqué à chaque couche d'image sous-échantillonnée sélectionnée, selon un premier respectivement un deuxième sens de balayage trame, inverse du premier balayage trame, des ressources de mémorisation des vecteurs d'estimation de mouvement de chaque bloc de pixels de la couche d'image sous-échantillonnée de niveau inférieur et de niveau supérieur auxquelles est appliqué le premier respectivement le deuxième sens de balayage trame, et des ressources de sélection, comme vecteur de mouvement candidat spatial de tout bloc de pixels d'une couche sous-échantillonnée d'un niveau supérieur d'au moins un vecteur mouvement estimé antérieurement à partir du balayage trame selon le premier sens de balayage appliqué à la couche d'image sous-échantillonnée de niveau inférieur et d'au moins un vecteur mouvement d'un bloc de pixels estimé antérieurement à partir du balayage trame selon le deuxième sens de balayage appliqué à la couche d'image sous-échantillonnée de niveau supérieur. Le procédé et le dispositif objets de l'invention trouvent application à la mise en oeuvre des codeurs vidéo opérant selon les standards H.264 ou selon le standard MPEG2 ou supérieur. Ils seront mieux compris à la lecture de la description et à l'observation des dessins ci-après dans lesquels, outre les figures la à 1c relatives à l'art antérieur : - - la figure 2a représente un organigramme des étapes essentielles permettant la mise en oeuvre du procédé d'estimation de mouvement hiérarchique symétrique objet de l'invention ; - - la figure 2b représente un premier balayage trame appliqué pour l'estimation de mouvement de blocs de pixels de couches d'image sous-échantillonnée conformément au procédé objet de l'invention tel que représenté à la figure 2a; -- la figure 2c représente un deuxième balayage trame appliqué pour l'estimation de mouvement de blocs de pixels de couches d'image sous-échantillonnée conformément au procédé objet de l'invention tel que représente à la figure 2a; -- la figure 3 représente à titre illustratif le classement par rang et par niveau de couches d'image sous-échantillonnée auxquelles est appliqué le premier respectivement le deuxième balayage trame, conformément au procédé objet de la présente invention ; - - la figure 4a représente, à titre d'exemple purement illustratif, un champ de vecteurs mouvement pour un objet spécifique se déplaçant avec un vecteur mouvement déterminé sur un fond d'image présentant lui-même un vecteur mouvement déterminé différent ; - - la figure 4b représente, à titre d'exemple non limitatif, le champ de vecteurs mouvement obtenu dans l'exemple de la figure 4a pour une estimation de mouvement non hiérarchique ; -- la figure 4c représente, à titre d'exemple non limitatif, le champ de vecteurs mouvement obtenu dans l'exemple de la figure 4a pour une estimation de mouvement hiérarchique classique; -- la figure 4d représente, à titre d'exemple non 25 limitatif, le champ de vecteurs mouvement obtenu dans l'exemple de la figure 4a grâce à la mise en oeuvre du procédé objet de l'invention ; -- la figure 5a représente, à titre illustratif, le schéma fonctionnel d'un codeur vidéo dans lequel est 30 implanté un dispositif d'estimation de mouvement hiérarchique symétrique selon l'invention -- la figure 5b représente, à titre purement illustratif, un schéma fonctionnel d'un dispositif d'estimation de mouvement hiérarchique symétrique conforme à l'objet de la présente invention, implanté dans le codeur vidéo représenté en figure 5a. Une description plus détaillée du procédé d'estimation de mouvement hiérarchique symétrique d'objets d'images vidéo successives, objet de l'invention, sera maintenant donnée en liaison avec la figure 2a et les figures suivants. Sur la figure 2a, on considère une succession d'images dans laquelle chaque image I est divisée en blocs de pixels B (x, y ). 15 Chaque image successive est soumise à une succession de sous-échantillonnages de pas déterminé permettant d'engendrer des couches d'image sous-échantillonnée selon un pas de sous-échantillonnage croissant. 20 Les couches d'image sont notées FL, et l'on dispose pour chaque couche d'image de niveau i de blocs de pixels notés chacun B; (x, y) . Les couches d'image sous-échantillonnée sont classées par 25 niveau décroissant par rapport à l'image non sous-échantillonnée constituant une couche d'image sous-échantillonnée de niveau O. En référence à la figure 2a, on note la succession des 30 couches d'image sous-échantillonnée et les blocs de pixels constitutifs de ces dernières selon la relation 10 {FLI ; B, (x, y)} , i=N =o Dans la relation (1) précédente i désigne le niveau de la couche d'image sous-échantillonnée, les couches FL; étant classées selon leur rang : r = En référence à la figure 2a, le procédé objet de l'invention consiste au moins à effectuer, en une étape A, une estimation de mouvement de chaque bloc de pixels de l'image sous-échantillonnée, constitutive d'une couche d'image sous-échantillonnée de niveau inférieur i, à partir d'un balayage trame des blocs de pixels successifs de la couche d'image sous-échantillonnée selon un premier sens de balayage trame, noté BT1. À l'étape A de la figure 2a, l'opération correspondante est représentée par la relation (2) . i(0 EBT, B (x,y) - VM, (x,y) Dans la relation précédente : -- EBT1 désigne l'opération d'estimation de mouvement appliquée à chaque bloc de pixels B,(x,y) de la couche 25 d'image sous- échantillonnée de niveau i(0 ; --VM;(x,y) désigné tout vecteur mouvement estimé pour le bloc de pixels de coordonnées x,y dans la couche d'image sous-échantillonnée de niveau inférieur i précité. 13 30 On comprend, en particulier, que l'opération d'estimation de mouvement pour chacun des blocs de pixels constitutif de la couche d'image sous-échantillonnée précitée est effectué grâce aux ressources du codeur vidéo, de manière classique. L'étape A précitée est suivie d'une étape B consistant à effectuer une estimation de mouvement de chaque bloc de pixels d'une image sous-échantillonnée constituant une couche d'image sous-échantillonnée de niveau supérieur, ki, cette couche étant considérée comme constitutive d'une image courante. Selon un aspect remarquable du procédé objet de l'invention, l'estimation de mouvement exécutée à l'étape B est exécutée à partir d'un deuxième balayage trame des blocs de pixels successifs de la couche d'image sous-échantillonnée de niveau supérieur, noté BT2, inverse du premier sens de balayage trame BT1. À l'étape B de la figure 2a, l'opération correspondante est représentée par la relation (3) . k>i EBT2 Bk(x,y)-VMk (x,y) Dans la relation précédente : - - EBT2 désigne l'opération d'estimation de mouvements appliquée à chaque bloc de pixels Bk (x,y) de la couche d'image sous-échantillonnée de niveau ki ; - -VMk(x,y) désigné tout vecteur mouvement estimé pour le 30 bloc de pixels de coordonnées x,y dans la couche d'image échantillonnée de niveau supérieur k précité. Enfin, l'étape B précitée est suivie d'une étape C consistant à sélectionner comme vecteur mouvement candidat spatial de tout bloc de pixels d'une couche d'image sous-échantillonnée d'un niveau supérieur, telle que la couche d'image sous-échantillonnée de rang k soumise à l'estimation de mouvement à l'étape B précédente, au moins un vecteur mouvement estimé antérieurement à partir du balayage trame selon le premier sens appliqué à la couche d'image sous-échantillonnée de niveau inférieur, la couche de niveau i soumise à l'estimation de mouvement à l'étape A, et au moins un vecteur mouvement d'un bloc de pixels dont le mouvement est estimé antérieurement à partir du balayage trame selon le deuxième sens de balayage BTZ, appliqué à la couche d'image sous-échantillonnée de niveau supérieur k. À l'étape C de la figure 2a l'opération correspondante est représentée par la relation (4) . VM, (BTIr(n" ) BTI,, (n') VMk (BTKr(n'),BTK,,(n' )) Dans la relation (4) précédente : VCSk(x,y) désigne le ou les vecteurs candidats spatiaux retenus pour le bloc de pixels Bk (x, y) de coordonnées x, y de la couche d'image sous-échantillonnée de niveau supérieur k ; -- VM, (BTIx(n"),BTIY(n")) désigne tout vecteur mouvement de VCSk (x, y) = coordonnées BTIx(n"),BTIy(n") d'un bloc de pixels dont le numéro de balayage n" et dont le mouvement est estimé antérieurement à partir du balayage trame selon le premier sens de balayage BT,, sens de balayage de la couche de niveau i; -- VMk (BTKx(n'),BTKY(n')) désigne tout vecteur mouvement de coordonnées BTKx(n'),BTKy(n') d'un bloc de pixels dont le numéro de balayage n' et dont le mouvement est estimé antérieurement à partir du balayage trame selon le deuxième sens de balayage BT2, sens de balayage de la couche de niveau k. La notion de mouvement estimé antérieurement à partir des balayages trame selon le premier sens de balayage BT1 puis selon le deuxième sens de balayage BT2 sera maintenant expliquée en liaison avec les figures 2b et 2c. Sur la figure 2b, on a représenté le premier sens de balayage trame BT1 consistant en un balayage bloc par bloc de pixels, de gauche à droite, à partir de la ligne supérieure puis, successivement, ligne par ligne suivante après retour à gauche, pour la couche d'image sous- échantillonnée de niveau inférieur i Sur la figure 2c, on a représenté le deuxième sens de balayage trame BT2 consistant en un balayage bloc par bloc de pixels, de droite à gauche, à partir de la ligne inférieure puis, successivement, ligne par ligne suivante après retour à droite, pour la couche d'image sous échantillonnée supérieure de niveau k i. On conçoit en particulier que l'estimation de mouvement au cours du balayage selon le deuxième sens de balayage trame BT2 est effectué antérieurement pour tous les blocs de pixels dont l'ordonnée y est inférieure ou égale à celle du bloc de pixels courant noté Bk(x,y). Ainsi, dans la relation quatre précitée, VMk( BTKx(n'),BTKy(n') )désigne tous les vecteurs mouvement des blocs de pixels qui ont été balayés antérieurement au bloc de pixel courant de numéro de balayage n, selon le deuxième sens de balayage BT2 représenté sur la figure 2c. On comprend bien entendu que dans la relation (4) précédente, pour un sens de balayage BT, selon le premier BT, ou le deuxième BT2 sens de balayage, pour tout bloc de pixel de numéro d'ordre de balayage n de coordonnées x,y, balayé selon le balayage BT précité, tel que (x,y)=(BTKX(n'),BTKy(n')) la contrainte n'en est imposée. Aucune contrainte n'est imposée sur n" car 30 l'ensemble des blocs de pixels de couche i inférieure a été balayé et estimé. On indique toutefois que tous les vecteurs mouvement estimés antérieurement ne sont pas nécessairement pris en compte comme vecteur candidat spatial, seuls les vecteurs mouvement les plus pertinents et donc ceux relatifs aux blocs de pixels les plus voisins du bloc de pixel courant sont pris en compte, ainsi qu'il sera décrit ultérieurement dans la description sur un exemple spécifique de mise en oeuvre du procédé objet de l'invention. Dans un mode de mise en œuvre spécifique non limitatif du procédé objet de l'invention, on indique que la couche d'image sous-échantillonnée de niveau supérieur k, laquelle constitue une image courante, et la couche d'image sous-échantillonnée de niveau inférieur i ont des niveaux disjoints, le rang des couches précitées pour la mise en oeuvre du procédé objet de l'invention n'étant, de ce fait, pas adjacent. Un tel mode opératoire est représenté en figure 3, laquelle reprend la représentation des couches sous-échantillonnées et le choix d'une couche sous- échantillonnée inférieure de rang et d'une couche sous-échantillonnée disjointe de rang lkl soumise respectivement au balayage trame selon le premier sens BT1 respectivement selon le deuxième sens BT2. Un tel mode opératoire peut être choisi pour des images de grande complexité, afin de réduire le volume de calculs nécessaires par le traitement de couches d'image 18 échantillonnée de complexité plus réduite. Toutefois, et selon un mode de mise en oeuvre préférentiel non limitatif pour une pluralité de couches d'image sous- échantillonnée successives de niveau pair respectivement impair, aux couches de rang pair peut être appliqué le premier sens de balayage trame BTI et aux couches de rang impair peut être appliqué avantageusement le deuxième sens de balayage trame BT2. Enfin, le pas de sous échantillonnage P de chaque couche d'image sous-échantillonnée successive est choisi comme une puissance du rang de la couche d'image sous-échantillonnée correspondante : P= sr où s désigne une valeur numérique positive supérieure à 1 et r désigne le rang de la couche. Dans un mode de mise en oeuvre non limitatif pour une image courante d'origine de niveau d'échantillonnage 0 et de rang correspondant, la couche d'image sous-échantillonnée de rang 1 peut-être sous-échantillonnée avec un pas P=2 et les couches suivantes avec un pas P= 2r. La mise en oeuvre du procédé objet de l'invention sera maintenant décrite à partir d'un exemple spécifique, ainsi qu'il sera illustré en liaison avec les figures 4a, 4b, 4c, 4d. En référence à la figure 4a, on considère à titre d'exemple non limitatif un objet OBJ recouvrant un carré de 4x 4 blocs de pixels, représentés en zone centrale, et se déplaçant avec un vecteur mouvement (-32, -8) sur un fond d'image ayant lui-même un vecteur mouvement (8,16). On suppose que l'on essaie de trouver le vecteur mouvement de chacun des blocs de pixels constitutifs de cet objet par rapport au fond, en utilisant une estimation de mouvement hiérarchique à 2 niveaux avec une fenêtre de recherche de vecteur mouvement compris entre �8 pixels. L'estimation de mouvement classique utilise les quatre vecteurs mouvement candidat spatiaux, ainsi que le vecteur candidat issu de l'estimation hiérarchique, lorsque ce dernier est disponible. Dans le champ de vecteurs mouvement à mettre en évidence, l'estimation de mouvement étant exécutée de l'image courante vers l'image précédente, les vecteurs mouvement affichés sont inversés par rapport au mouvement réel. 20 Ainsi, si un bloc de pixels repéré par ses coordonnées x,y s'est déplacé avec un vecteur mouvement (-32,-8) cela signifie en fait qu'il était en position (x+32, y+8) dans l'image précédente. Le vecteur que l'on souhaite mettre 25 en évidence est donc le vecteur mouvement (32,8). Sur la figure 4b, on met en évidence le résultat obtenu sur l'exemple de la figure 4a par la mise en oeuvre d'une estimation de mouvement non hiérarchique, afin de bien 30 mettre en évidence, par comparaison, l'intérêt de la discrimination des vecteurs candidats spatiaux conformément à l'objet de la présente invention.15 En référence à la figure 4b précitée, pour le premier bloc de pixels en haut à gauche de l'objet constitutif de ce dernier, bloc noté 10 selon le balayage trame BT, les seuls vecteurs candidats disponibles sont les vecteurs d'estimation de mouvement du fond, c'est-à-dire le vecteur (-8, -16). La fenêtre de recherche des vecteurs mouvement candidats étant limitée à � 8 pixels, le meilleur vecteur mouvement candidat trouvé est donc (0, -8) . Pour le deuxième bloc de pixels estimé selon le balayage de trame BT représentée sur la figure 4b, noté 20 et représenté à droite du premier bloc de pixels 10, les vecteurs candidats sont donc (-8, -16) et (0, -8). Le vecteur mouvement candidat le plus similaire est le vecteur (0, -8) et la zone de recherche est centrée sur ce dernier, le vecteur mouvement candidat trouvé étant (8,0) . 20 Pour ce qui concerne le troisième bloc de pixels noté 30 selon le même sens balayage trame BT et donc placé à droite du deuxième bloc précédent, les vecteurs mouvement candidats sont (-8, -16) et (8,0). Le meilleur vecteur 25 mouvement candidat trouvé est alors (8,0) et le vecteur mouvement finalement retenu est alors (16,8). Le quatrième bloc estimé 40 a pour vecteur (24,8). 30 Le cinquième bloc estimé, noté 50, immédiatement en dessous du premier 10, selon le sens balayage trame BT, a pour vecteurs mouvement candidats (-8,-16), (0, -8) et (8,0). Le meilleur vecteur mouvement candidat retenu est (8,0) et le vecteur mouvement trouvé est (16,8). Le sixième bloc de pixels noté 60 a pour vecteur mouvement (24,8). Enfin ce n'est qu'au septième bloc de pixels, noté 70, 10 que le vecteur mouvement apparaît correct, à savoir (32,8). En référence à la figure 4c on a représenté la mise en oeuvre, sur l'exemple de la figure 4a, d'une estimation de 15 mouvement hiérarchique de type classique, pour une couche d'image sous-échantillonnée de niveau -1 et pour la couche formant l'image d'origine de niveau O. Pour le premier bloc de pixels de la couche sous- 20 échantillonnée de niveau i=-1, bloc de pixels 11 en haut à gauche, les vecteurs mouvement candidats sont tous (-4,-8) car ce niveau est sous-échantillonné d'un facteur 2, l'amplitude des vecteurs mouvement étant de ce fait deux fois moins grande. Le vecteur mouvement finalement 25 trouvé est dont le vecteur (4,0). Le deuxième bloc de pixels 21 du niveau -1 se trouvant maintenant en haut à droite a pour vecteur mouvement candidat (-4, -8) et (4,0). Le vecteur mouvement candidat 30 4,0) est le meilleur et le vecteur mouvement trouvé est 12,4). 225 Les troisième 31 et quatrième 41 bloc de pixels du même niveau i=-1 ont pour vecteur mouvement le vecteur (16,4) qui est le vecteur mouvement recherché au facteur d'amplitude 2 près dû au sous-échantillonnage. Pour le premier bloc de pixels de la couche sous-échantillonnée de niveau 0, noté 1o, en haut à gauche, les vecteurs candidats spatiaux ont tous pour valeur (-8, -16). Le vecteur mouvement candidat hiérarchique est le vecteur (8,0), vecteur donné par le premier bloc du niveau -1 référencé bloc 11 de pixels, vecteur multiplié par 2 en raison du sous-échantillonnage par 2. Le vecteur mouvement finalement trouvé pour le premier bloc de pixels de niveau 0 est donc (16,8). Pour le deuxième bloc de pixels de niveau 0 à droite du premier et référencé 20r les vecteurs candidats spatiaux sont (-8, -16) et (16,8). Le vecteur mouvement candidat hiérarchique est (8,0). À partir du vecteur mouvement (16,8) on obtient le vecteur mouvement (24,8). Pour le troisième bloc de pixels de niveau 0 à droite du deuxième et noté 30, les vecteurs candidats spatiaux sont (-8, -16), (24,8). Le vecteur mouvement candidat hiérarchique est également (24,8) donné par le vecteur du deuxième bloc de pixels du niveau -1, noté 21. Le vecteur mouvement finalement retenu est de vecteur (32,8) c'est-à-dire le vecteur recherché. Les autres blocs de pixels disposent tous du vecteur mouvement (32,8) finalement trouvé. On constate que l'application de la seule estimation de mouvement hiérarchique ne permet pas de trouver le bon vecteur mouvement sur les deux premiers blocs de la couche de niveau 0, blocs 10 et 20. La figure 4d permet d'illustrer la mise en oeuvre du procédé objet de l'invention, c'est-à-dire d'un processus 10 d'estimation de mouvement symétrique. À l'observation de la figure 4d on peut constater, grâce à l'inversion du balayage trame sur la couche d'image échantillonnée de niveau -1 seule représentée que l'ordre 15 de balayage des blocs de pixels 11, 21, 31 et 41 est inversé par rapport à l'ordre de balayage des blocs de pixels portant la même référence sur la figure 4c. Ainsi, le premier bloc de pixels noté 11 de la couche 20 sous-échantillonnée de niveau i=-1 en bas à droite de l'objet a pour vecteur mouvement candidat (-4,16) car cette couche sous-échantillonnée de niveau -1 est sous-échantillonné d'un facteur 2 et les vecteurs ont une amplitude 2 fois moins grande. En conséquence le vecteur 25 finalement trouvé pour le bloc de pixels 11 est donc (4,0). Le deuxième bloc de pixels de l'image sous-échantillonnée de niveau -1 portant la référence 21 en bas à gauche a 30 pour vecteurs mouvement candidats (-4,-8) et (4,0). Le vecteur mouvement candidat (4,0) est le meilleur et le vecteur mouvement finalement trouvé est (12,4). De même les troisième et quatrième bloc de pixels du niveau -1, portant la référence 31 respectivement 41 sur la figure 4d, ont pour vecteur (16,4) qui n'est autre que le vecteur mouvement recherché. En ce qui concerne le premier bloc de pixels du niveau 0 noté lo en haut à gauche de l'objet OBJ, et selon un aspect remarquable du procédé objet de la présente invention, les vecteurs candidats spatiaux sont tous ceux donnés par le fond (-8,-16) mais le vecteur candidat hiérarchique est au contraire donné par le vecteur mouvement (32,8) vecteur mouvement du dernier bloc de pixels 41 de niveau -1, dont l'amplitude est multipliée par 2. Le vecteur finalement trouvé est le vecteur (32,8), c'est-à-dire le vecteur recherché. Les autres blocs de pixels ont tous le vecteur finalement trouvé car ce vecteur est forcément l'un des vecteurs candidats spatiaux correspondant des blocs de pixels de la couche d'image sous- échantillonnée de rang inférieur. Il apparaît ainsi que pour tout bloc de pixels appartenant à une couche d'image sous-échantillonnée de rang supérieur, le rang 0 par exemple, grâce au procédé objet de l'invention, le vecteur mouvement candidat le plus probable est donné par le vecteur candidat spatial d'un bloc de pixels de la couche d'image sous- échantillonnée de rang inférieur, le rang correspondant au niveau -1 dans l'exemple donné sur la figure 4d. Il n'est donc pas nécessaire de retenir comme vecteur mouvement spatial candidat le vecteur correspondant à de nombreux blocs de pixels voisins de la couche d'image échantillonnée de niveau inférieur, le ou les blocs immédiatement voisins de la couche d'image échantillonnée de niveau immédiatement inférieur convenant parfaitement. Une description plus détaillée d'un dispositif d'estimation de mouvement hiérarchique symétrique d'objets d'images vidéo successives dans un codeur vidéo, conforme à l'objet de l'invention, sera maintenant donnée en liaison avec des figures 5a et 5b. La figure 5a représente un codeur vidéo CV comportant une mémoire d'entrée EM et un module de lecture recevant le flux vidéo à coder FV. Au module de lecture est associé un dispositif d'estimation de mouvement hiérarchique symétrique, conforme à l'objet de l'invention portant la référence SCM, lequel est décrit en figure 5b. Le dispositif et le codeur vidéo CV incluent un microprocesseur �P, une mémoire de travail RAM et un module d'estimation de mouvement hiérarchique comprenant notamment un module de sous-échantillonnage d'images et de mémorisation en couches d'image sous-échantillonnée successives selon un pas de sous-échantillonnage croissant, ainsi que décrit précédemment dans la description, ce pas étant fonction du niveau de la couche d'image sous-échantillonnée. Ainsi qu'on l'a représenté en outre en figure 5b, le dispositif comprend un module de programme noté MPG comprenant un module de sélection dans les couches d'image sous-échantillonnées mémorisées dans la mémoire de couche d'au moins une couche d'image sous- échantillonnée de niveau inférieur i et d'au moins une couche d'image sous-échantillonnée de niveau k supérieur à celui de la couche sous-échantillonnée de niveau inférieur. Il comporte en outre un module de sélection ou de commutation noté sélection BT,/BT2 du balayage trame appliqué à chaque couche d'image sous-échantillonnée, selon le premier ou le deuxième sens de balayage de trame inverse de ce dernier. En outre, la mémoire de travail RAM permet la mémorisation de vecteurs d'estimation de mouvement de chaque bloc de pixels de la couche d'image sous- échantillonnée de niveau inférieur et de niveau supérieur sélectionnée, auxquelles est appliqué le premier respectivement le deuxième sens de balayage trame. Enfin, le dispositif comprend un module noté sélection MSVCik de sélection comme vecteur mouvement candidat spatial de tout bloc de pixels d'une couche sous-échantillonnée d'un niveau supérieur k d'au moins un vecteur mouvement estimé antérieurement à partir du balayage de trame selon le premier sens BTI de balayage appliqué à la couche d'image sous-échantillonnée de niveau inférieur i et d'au moins un vecteur mouvement d'un bloc de pixels estimé antérieurement à partir du balayage trame selon le deuxième sens de balayage B7- appliqué à la couche d'image sous-échantillonnée de 30 niveau supérieur k. Dans un mode de mise en oeuvre préférentiel non limitatif, pour une pluralité de couches d'image sous-échantillonnée successives de rang pair respectivement impair, le module de commutation du balayage trame appliqué est formé par un module de commutation alternée du premier respectivement du deuxième sens de balayage trame appliqué aux couches d'image sous-échantillonnée de rang pair respectivement impair, ainsi que décrit précédemment dans la description. En outre, un module d'actualisation récursive de la sélection comme vecteur de mouvement candidat spatial sélectionné de tout bloc de pixels d'une couche d'image sous-échantillonnée d'un niveau supérieur en fonction du vecteur mouvement candidat spatial de la couche d'image sous-échantillonnée de niveau inférieur adjacente est prévu, ainsi que décrit précédemment dans la description en liaison avec des figures 2a à 2c et 4d. Bien entendu l'ensemble des modules précités est implanté dans le module de programme MPG et chacun de ces modules est un module logiciel appelé par le microprocesseur et exécuté en conséquence. En particulier, le dispositif objet de l'invention peut être mis en oeuvre en association avec un module d'estimation de mouvement hiérarchique classique, de manière non limitative.30 REVENDICATIONS 1. Procédé d'estimation de mouvement hiérarchique symétrique d'objets d'images vidéo successives, dans lequel chaque image courante subdivisée en blocs de pixels est soumise à une succession de sous-échantillonnages de pas déterminé permettant d'engendrer des couches d'image sous-échantillonnée selon un pas de sous-échantillonnage croissant, les couches d'image sous-échantillonnée étant classées par niveau décroissant par rapport à l'image non sous-échantillonnée constituant une couche d'image sous-échantillonnée de niveau zéro, caractérisé en ce que ledit procédé consiste au moins à : - effectuer une estimation de mouvement de chaque bloc de pixels de l'image sous- échantillonnée, constitutive d'une couche d'image sous-échantillonnée de niveau inférieur, à partir d'un balayage trame des blocs de pixels successifs de ladite couche d'image sous- échantillonnée selon un premier sens de balayage trame ; - effectuer une estimation de mouvement de chaque bloc de pixels d'une image sous-échantillonnée constituant une couche d'image sous-échantillonnée de niveau supérieur constitutive d'une image courante, à partir d'un balayage trame des blocs de pixels successifs de ladite couche d'image sous-échantillonnée de niveau supérieur selon un deuxième sens de balayage trame inverse du premier ;- sélectionner comme vecteur de mouvement candidat spatial de tout bloc de pixels d'une couche d'image sous-échantillonnée d'un niveau supérieur au moins un vecteur mouvement estimé antérieurement à partir du balayage trame selon ledit premier sens appliqué à ladite couche d'image sous-échantillonnée de niveau inférieur et au moins un vecteur mouvement d'un bloc de pixels dont le mouvement est estimé antérieurement à partir du balayage trame selon ledit deuxième sens de balayage, appliqué à ladite couche d'image sous-échantillonnée de niveau supérieur. 2. Procédé selon la revendication 1, caractérisé en ce que pour une pluralité de couches d'image sous- échantillonnée successives de niveau pair respectivement impair, auxdites couches de rang pair est appliqué ledit premier sens de balayage et auxdites couches de rang impair est appliqué ledit deuxième sens de balayage. 3. Procédé selon l'une des revendications 1 ou 2, caractérisé en ce que ladite couche d'image sous- échantillonnée de niveau supérieur, constituant une image courante, et ladite couche d'image sous-échantillonnée de niveau inférieur ont des niveaux disjoints. 4. Procédé selon la revendication 2 ou 3, caractérisé en ce que le pas de sous-échantillonnage de chaque couche d'image sous-échantillonnée est une 5 10 15 20 25puissance du rang de la couche d'image souséchantillonée. 5. Dans un codeur vidéo de séquences d'images vidéo successives subdivisées en blocs de pixels comprenant des images intratrames et des images intertrames prédites par rapport à d'autres images, ledit codeur vidéo incluant, outre un microprocesseur, une mémoire de travail et une mémoire de programme, un module de sous-échantillonnage d'image et de mémorisation en couches d'image sous-échantillonnée successives selon un pas de sous-échantillonnage croissant, fonction du niveau de la couche d'image sous-échantillonnée, et un module d'estimation de mouvement hiérarchique, un dispositif d'estimation de mouvement hiérarchique symétrique d'objets d'images vidéo successives incluant au moins : - des moyens de sélection, dans lesdites couches d'image sous-échantillonnée mémorisées, d'au moins une couche d'image sous-échantillonnée de niveau inférieur et d'au moins une couche d'image sous-échantillonnée de niveau supérieur à celui de ladite couche d'image sous-échantillonnée de niveau inférieur ; des moyens de commutation du balayage trame 30 appliqué à échantillonnée respectivement chaque couche d'image sous-sélectionnée, selon un premier un deuxième sens de balayage trame, inverse du premier balayage trame ;- des moyens de mémorisation du vecteur d'estimation de mouvement de chaque bloc de pixels de la couche d'image sous-échantillonnée de niveau inférieur et de niveau supérieur, auxquelles est appliqué le premier respectivement le deuxième sens de balayage trame ; - des moyens de sélection, comme vecteur mouvement candidat spatial de tout bloc de pixels d'une couche sous-échantillonnée d'un niveau supérieur, d'au moins un vecteur mouvement estimé antérieurement à partir du balayage trame selon le premier sens de balayage appliqué à la couche d'image sous-échantillonnée de niveau inférieur et d'au moins un vecteur de mouvement d'un bloc de pixels estimé antérieurement à partir du balayage trame selon le deuxième sens de balayage appliqué à la couche d'image sous-échantillonnée de niveau supérieur. 6. Dispositif selon la revendication 5, caractérisé en ce que, pour une pluralité de couches d'image sous- échantillonnée successives de rang pair respectivement impair, ledit dispositif inclut en outre : - des moyens de commutation alternée du premier respectivement du deuxième sens de balayage trame appliqué aux couches d'image sous-échantillonnée de rang pair respectivement impair ; - des moyens d'actualisation récursive de la sélection comme vecteur de mouvement candidat spatial sélectionné de tout bloc de pixels d'une 30couche d'image sous-échantillonnée d'un niveau supérieur en fonction du vecteur mouvement candidat spatial de la couche d'image sous-échantillonnée de niveau inférieur adjacente. 7. Programme d'ordinateur mémorisé sur un support de mémorisation pour exécution par un ordinateur ou le microprocesseur d'un codeur vidéo de couches d'image sous-échantillonnées, caractérisé en en ce que lors de son exécution, ledit programme comporte l'appel d'un module de programme de commutation du sens du balayage trame appliqué à chaque couche d'image sous-échantillonnée sélectionnée, selon l'une des revendications 1 à 4. 8. Programme d'ordinateur selon la revendication 7, caractérisé en ce que ledit programme est implanté dans une mémoire de programme d'un dispositif d'estimation de mouvement hiérarchique symétrique, selon l'une des revendications 5 ou 6.