Brevet FR2651405A1 — publié le 19910301

"Procédé et dispositif de traitement d'images à estimation de mouvement améliorée" La présente invention concerne un procédé de trai- tement d'images de télévision, dans lequel l'image est divisée en plusieurs parties et chaque partie d'image est examinée pour y déterminer, en présence d'une série d'images se succé- dant dans le temps, un vecteur-mouvement. Elle concerne aussi un dispositif de traitement d'images comportant un processeur pour, en présence d'une sé- rie d'images se succédant dans le temps, déterminer des vec- teurs-mouvement associés à des parties d'image. Elle concerne enfin un système de codage de télévi- sion. La présente invention peut être utilisée dans des systèmes d'émission-réception de télévision à haute définition ou ordinaires, dans des systèmes à enregistrement d'images, par exemple ceux utilisant un disque à lecture laser, et en général dans les systèmes de traitement numérique d'images. Il est connu par la conférence intitulée "Motion compensated interpolation applied to HD. MAC pictures encoding and decoding" par F. Fonsalas et M.R. Haghiri, présentée au "2nd International workshop on signal processing of HDTV", l'Aquila, 29 Fev.- 3 Mars 1988, d'utiliser un tel procédé dans un système d'émission-réception de télévision, dans lequel des données complémentaires des données vidéo et notamment des vecteurs-mouvement sont transmis par voie numérique, dite DATV (Digitally Assisted Television, en langue anglaise) Dans le système proposé par ce document, un codage est utilisé pour réduire la fréquence d'échantillonnage, avec un débit de données numériques associé le plus réduit possi- ble. A cet effet l'image est divisée en plusieurs parties, à savoir des carrés de 16X16 pixels, pour chacun desquels un mo- de de traitement peut être choisi parmi plusieurs, dont l'un fait usage de vecteurs-mouvement. Pour l'affichage des images en réception, les vecteurs-mouvement sont utilisés pour re- construire une image intermédiaire non transmise entre deux images transmises. Dans ce cas, les vecteurs-mouvement ont été déterminés au moment du codage, c'est à dire alors qu'on a en- core à sa disposition toutes les images sources et notamment celles qui vont être supprimées par le codage, ce qui permet de procéder à tous les essais souhaitables pour vérifier la validité des vecteurs-mouvement, notamment en comparant une image reconstruite sur la base des vecteursmouvement avec l'image source correspondante. Un problème particulier se pose lorsqu'il s'agit de créer des images intermédiaires à un moment o on ne dispose pas de l'image source pour comparaison. Ceci est par exemple le cas lorsqu'on veut introduire à chaque fois une image sup- plémentaire entre deux images pour doubler la cadence d'affi- chage afin de diminuer l'impression de scintillement. Quand une image présente une structure périodique, par exemple lors- qu'elle représente au moins localement une grille ou des rayu- res, horizontales ou verticales, il se peut que plusieurs vec- teurs différents donnent des résultats équivalents pour cer- taines parties d'image, c'est à dire que des vecteurs erronés peuvent néanmoins donner des résultats corrects (pas de défaut visible) pour certaines parties d'image (ceci sera expliqué en détail plus loin). Mais si le vecteur choisi est erronné pour certaines parties de l'image, alors qu'il est correct pour d'autres parties, il y a des défauts visibles à la transition entre les parties qui ont un vecteur correct et celles qui ont un vecteur erronné. Il est connu par le document cité d'utiliser une fonction de coût, calculée sur les 256 pixels d'une partie d'image, qui permet de déterminer lequel est le plus approprié parmi plusieurs vecteurs- mouvements, mais l'estimation ainsi réalisée ne permet pas de lever l'ambiguïté lorsque plusieurs vecteurs-mouvement peuvent convenir aussi bien l'un que l'au- tre pour une même partie d'image, c'est à dire lorsqu'il exis- te plusieurs vecteurs-mouvement pour lesquels la susdite fonc- tion de coût donne des résultats équivalents. De tels vecteurs seront appelés vecteurs équivalents. L'invention est basée sur la constatation que ce problème est résolu lorsqu'il est fait usage d'un critère géométrique en plus de l'utilisation d'une fonction de coût. Le procédé de l'invention est notamment remarquable en ce que, la méthode de détermination de vecteur-mouvement étant susceptible de fournir pour une même partie d'image plu- sieurs vecteurs-mouvement équivalents, on calcule, pour chaque vecteurmouvement équivalent, la position o la partie d'image concernée se trouverait dans une image antérieure si on appli- quait à cette partie d'image ledit vecteur-mouvement, et on calcule à chaque fois la différence entre le vecteur-mouvement utilisé pour arriver à ladite position et le vecteur-mouvement qui avait été déterminé pour cette position dans l'image anté- rieure, et finalement le vecteur-mouvement choisi est l'un de ceux pour lesquels la différence est inférieure à un seuil prédéterminé. Le dispositif selon l'invention est notamment re- marquable en ce que, ledit processeur étant susceptible de fournir pour une même partie d'image plusieurs vecteurs-mouve- ment équivalents, le dispositif est muni en outre de moyens pour calculer, pour chaque vecteur-mouvement équivalent, la position o la partie d'image concernée se trouverait dans une image antérieure si on appliquait à cette partie d'image ledit vecteur-mouvement, de moyens pour calculer à chaque fois la différence entre le vecteur-mouvement utilisé pour arriver à ladite position et le vecteur-mouvement qui avait été détermi- né pour cette position dans l'image antérieure, et de moyens pour sélectionner le (ou les) vecteur-mouvement pour lequel cette différence est inférieure à un seuil prédéterminé. La description qui va suivre, en regard des des- sins annexés décrivant des exemples non limitatifs fera bien comprendre comment l'invention peut être réalisée. Les figures 1. à 3. représentent des signaux video pour expliquer le problème que résout l'invention. La figure 4. représente schématiquement un disposi- tif dans lequel est mis en oeuvre le procédé de l'invention. La figure 5. représente des groupes de parties d'i- mages qui se succèdent dans le temps, pour illustrer le procé- dé de l'invention. Dans le présent exemple, on suppose que chaque image est divisée en parties d'images qui sont des carrés de 16X16 pixels, soit 256 pixels par partie d'image. Le processus commence par la détermination du mouvement pour chaque partie d'image. Cette détermination est bien entendu basée sur un examen fait à deux instants différents pour mesurer les dépla- cements qui se sont produits entre les deux instants. Elle peut être faite par n'importe quel procédé connu, par exemple un procédé basé sur des différences spatio-temporelles, ou bien utilisant des techniques de transformée de Fourier, ou bien basé sur des comparaisons avec application d'une fonction de coût. Ces trois procédés sont décrits par exemple dans un rapport de la British Broadcasting Corporation, BBC RD 1987/11, intitulé: "television motion measurement for DATV and other applications", par G.A. Thomas. Le procédé qui utilise une fonction de coût et qui est aussi décrit dans le document mentionné en premier, sera maintenant rappelé brièvement. Les vecteurs-mouvement sont estimés en sélectionnant parmi un jeu de vecteurs équivalents celui qui minimise une fonction de coût exprimée, sur les 256 pixels d'un partie d'image, par l'expression suivante: 16,16 7Z Io(XrY)-_(Ii(X-Vx,Y-Vy)+Ili(x+Vx,y+Vy)) x,y=1,1 O Io et Il sont les intensités d'un pixel dans des images d'indice temporel respectivement 0 et 1 pour les positions indiquées entre parenthèses (selon des coordonnées orthogonales propres au carré considéré), Vx etVy étant les composantes orthogonales du vecteur-mouvement considéré. Après l'estimation du mouvement ainsi réalisée, il importe de vérifier si le vecteur-mouvement choisi permet d'obtenir la meilleure image. En effet d'autres modes de trai- tement peuvent être envisagés qui éventuellement pourraient donner une meilleure image, et notamment un mode dans lequel une image serait décrite plus vite mais avec une définition spatiale inférieure. Pour cette vérification un décodage res- pectivement inverse du codage est réalisé dans chacun des mo- des envisagés et dans chaque mode la partie d'image décodée et la partie d'image source sont comparés, afin de déterminer quel est le mode qui donne la meilleure image pour la partie en question (pour l'instant toutes les images sources sont disponibles). Supposons maintenant que la supériorité du mode avec vecteur-mouvement ait été constatée, pour un carré déter- miné. Dès lors il n'est pas question d'utiliser un autre mode. Des signaux video sont représentés sur la figure 1 aux temps référencés T1, T2, T3. Ces signaux correspondent par exemple en 15 à l'image d'une grille verticale claire (en mo- dulation positive) avec à droite sur la figure une partie claire de plus grande largeur dont la limite droite n'est pas représentée. Si l'on applique la méthode expliquée ci dessus à ces signaux on constate que pour l'image de la grille il y a deux vecteurs V1 et V2 qui sont équivalents (ils donnent la même valeur pour la fonction de coût et en outre ils donne- raient aussi le même résultat lors de la vérification du meil- leur mode). Soit à créer des images intermédiaires pour dimi- nuer l'impression visuelle de scintillement, à partir de ces images successives aux temps T1, T2, T3. Les images recréées à partir du vecteur Vl sont représentées par la figure 2 et cel- le recréées à partir du vecteur V2 sont représentées par la figure 3. Le temps entre T1 et T2 est appelé T12 et le temps entre T2 et T3 est appelé T23. Sur la figure 2, les images in- termédiaires T12 et T23 sont correctes. Sur la figure 3, il y a des zones indiquées par des hachures à 45 o il y a incer- titude: il est évident qu'un processus automatique est impuis- sant à réparer les lacunes d'information. Sur le dispositif de codage de la figure 4, des images à coder sont introduites en 1. Elles peuvent alors être appliquées à deux voies différentes: La voie du haut sur la figure est destinée à un codage avec estimation de vecteurs-mouvement dans lequel une image complè- te est décrite en 40 mS: les images traversent un filtre 3 et les vecteurs-mouvement sont déterminés dans un module 8 selon la méthode décrite plus haut (fonction de coût). Le module 8 a besoin de connaître les images à deux époques successives, images qui lui sont fournies simultanément par les sorties de deux circuits de retard 13 en cascade, qui apportent chacun un retard de 20 mS. L'image filtrée avec ses vecteurs-mouvement est fournie à un module 9 qui calcule la valeur de la susdite fonction de coût, par comparaison avec l'image source 1 qui lui est aussi fournie au travers d'un circuit de retard 14 dont le retard est égal à celui apporté par les circuits 3 et 8. La voie du bas sur la figure est destinée à un codage sans estimation de vecteurs-mouvement et dans lequel une image com- plète est décrite en 20 mS: les images traversent un filtre 4 et sont fournies à un module 6 qui calcule la valeur de la susdite fonction de coût, par comparaison avec l'image source 1 qui lui est fournie au travers d'un circuit de retard 5 dont le retard est égal à celui apporté par le filtre 4. Les deux coûts calculés respectivement dans les mo- dules 6 et 9 sont fournis à un module d'évaluation 10. Comme le retard apporté par les éléments 3,8 est plus grand que ce- lui apporté par les éléments 4,6, un retard supplémentaire est introduit entre les modules 6 et 10 pour que les informations des modules 6 et 9 arrivent ensemble au module 10. Le module 10 détermine quelle est la meilleure voie, c'est à dire le meilleur mode de codage, en choisissant celle des deux voies pour laquelle la fonction de coût est la plus favorable. En variante, il peut aussi choisir à priori la voie avec vecteur-mouvement si le coût évalué pour cette voie est inférieur à une valeur prédéterminée (donc sans faire in- tervenir le coût calculé pour l'autre voie). Néanmoins plu- sieurs vecteurs-mouvements peuvent toujours être équivalents, vecteurs entre lesquels on ne sait pas choisir. C'est pourquoi le module 10 est suivi d'un module 11 dans lequel est calculée une valeur de distorsion géométrique et d'un module 19 dans lequel un critère basé sur cette valeur permet de choisir le meilleur vecteur-mouvement. Si le mode avec vecteur-mouvement a été choisi, les vecteurs-mouvement sont fournis par le module 10 au module 11. Afin de pouvoir comparer les vecteurs d'une image à ceux d'une image antérieure, le module 11 est muni d'un circuit de rebouclage avec un retard de 40 mS qui lui 'ramène' les vecteurs de l'image antérieure à comparer. Le processus de comparaison mis en oeuvre dans le mo- dule 11 est illustré par la figure 5. Les trois images 20, 21, 22 sont des images transmises, et les images 23 et 24 sont des images à créer au moyen des vecteurs-mouvement. Sur la figure, seule une fraction d'image contenant neuf parties d'image est représentée à chaque fois, fraction qui sera néanmoins nommée image pour simplifier la terminologie. Soit à vérifier la validité d'un vecteur-mouvement de l'image 24 alors que le processus est maintenant terminé pour les images 20,21,23. Pour chaque vecteur-mouvement à tester, on applique à la par- tie d'image concernée un déplacement correspondant à un retour en arrière dans le temps de 40 mS dans la direction et avec la vitesse indiquées par ledit vecteur-mouvement, ce qui amène ladite partie d'image de l'image 24 dans une des parties de l'image 23. Soit par exemple le vecteur-mouvement symbolisé par la flèche 16, qui amène le point central de l'image 24 au point 17 dans l'image 23. Ce point est situé dans le carré 18, pour lequel un vecteur-mouvement avait été déterminé dans l'i- mage 23. La distorsion entre ce vecteur antérieur et le vec- teur courant testé pour l'image 24 est calculée et mémorisée. Puis l'opération est répétée pour tous les vecteurs équiva- lents pour la partie d'image courante de l'image 24. Si par exemple les vecteurs-mouvement ont des am- plitudes limitées (pour des raisons de débit de transmission) à 16 pixels selon chaque axe de coordonnées, le point 17 ne peut être à l'extérieur des quatre carrés du centre sur la fi- gure (chacun d'eux a une dimension de 16X16 pixels). Pour l'ensemble des vecteurs-mouvement à tester pour une partie d'image 24, il y a au maximum quatre parties d'image concer- nées dans l'image 23, donc le processus de comparaison est simple et nécessite très peu de capacité de mémorisation. Le module 19 qui suit le module 11 détermine enfin le vecteur-mouvement qui sera utilisé. Les modules 8 et 9 de la figure 4 sont munis de moyens processeurs pour déterminer éventuellement plusieurs vecteurs-mouvement équivalents et calculer pour chacun sa fonction de coût. Ces données sont fournies au module 19. Le processus dans le module 19 est alors le suivant: il contient un registre dans lequel il range la liste des vecteurs-mouvement équivalents pour une partie d'image, et cela en les classant par ordre de mérite décrois- sant du point de vue de la fonction de coût calculée dans le module 9. S'il existe un ensemble de vecteurs-mouvement pour lesquels les valeurs de comparaison fournies par le module 11 sont elles mêmes équivalentes, c'est à dire que les distor- sions sont toutes inférieures à une valeur prédéterminée, le vecteurmouvement choisi est celui qui, parmi les éléments de cet ensemble, est le plus près du début de la liste. Si par exemple l'ensemble ne contient qu'un vecteur-mouvement, c'est lui qui sera choisi, même s'il n'est pas en tête de liste. Si par contre aucune valeur de comparaison n'est convenable, c'est parceque le mouvement n'a pas été régulier entre les deux images comparées, et que donc la méthode n'est pas adap- tée, et le vecteur-mouvement en tête de la liste est choisi. REVENDICATIONS 1. Procédé de traitement d'images, dans lequel l'image est divisée en plusieurs parties et chaque partie d'image est examinée pour y déterminer, en présence d'une série d'images se succédant dans le temps, un vecteurmouvement, caractérisée en ce que, la méthode de détermination de vecteurmouvement étant susceptible de fournir pour une même partie d'image plu- sieurs vecteurs-mouvement tous convenables appelés vecteurs- mouvement équivalents, on calcule, pour chaque vecteur-mouve- ment équivalent, la position o la partie d'image concernée se trouverait dans une image antérieure si on appliquait à cette partie d'image ledit vecteur-mouvement, et on calcule à chaque fois la différence entre le vecteur-mouvement utilisé pour ar- river à ladite position et le vecteur-mouvement qui avait été déterminé pour cette position dans l'image antérieure, et fi- nalement le vecteur-mouvement choisi est l'un de ceux pour lesquels ladite différence est inférieure à un seuil prédéter- miné. 2. Procédé de traitement d'images selon la revendica- tion 1, utilisant une méthode de détermination de vecteur-mou- vement basée sur le calcul d'une fonction exprimant la validi- té d'un vecteur-mouvement, caractérisé en ce que s'il existe plusieurs vecteurs-mouvement pour lesquels ladite différence est inférieure audit seuil prédéterminé, on choisit parmi eux celui pour lequel la dite fonction a la valeur la plus favora- ble. 3. Procédé de traitement d'images selon l'une des re- vendications 1 ou 2, utilisant une méthode de détermination de vecteurmouvement basée sur le calcul d'une fonction exprimant la validité d'un vecteur-mouvement, caractérisé en ce que s'il n'existe aucun vecteurmouvement pour lequel ladite différence est inférieure audit seuil prédéterminé, on choisit parmi les vecteurs équivalents celui pour lequel la dite fonction a la valeur la plus favorable. 4. Dispositif de traitement d'images comportant un processeur pour, en présence d'une série d'images se succédant dans le temps, déterminer des vecteurs-mouvement associés à des parties d'image, caractérisé en ce que, ledit processeur étant susceptible de fournir pour une même partie d'image plu- sieurs vecteurs-mouvement équivalents, le dispositif est muni en outre de moyens pour calculer, pour chaque vecteur-mouve- ment équivalent, la position o la partie d'image concernée se trouverait dans une image antérieure si on appliquait à cette partie d'image ledit vecteur-mouvement, de moyens pour calcu- ler à chaque fois la différence entre le vecteur-mouvement utilisé pour arriver à ladite position et le vecteur-mouvement qui avait été déterminé pour cette position dans l'image anté- rieure, et de moyens pour sélectionner le (ou les) vecteur(s)- mouvement pour lequel (ou lesquels) cette différence est infé- rieure à un seuil prédéterminé. Dispositif de traitement d'images selon la revendi- cation 4, dont ledit processeur comporte des moyens pour cal- culer une fonction de coût afin de décider si chacun desdits vecteursmouvement est acceptable, caractérisé en ce qu'il est muni de moyens pour, s'il existe plusieurs vecteurs-mouvement pour lesquels la susdite différence est inférieure au susdit seuil prédéterminé, choisir parmi eux celui pour lequel la fonction de coût a la valeur la plus favorable. 6. Dispositif de traitement d'images selon l'une des revendication 4 ou 5, dont ledit processeur est muni de moyens pour calculer une fonction de coût afin de décider si chacun desdits vecteurs-mouvement est acceptable, caractérisé en ce qu'il est muni de moyens pour,, s'il n'existe aucun vecteur- mouvement pour lequel la susdite différence est inférieure au susdit seuil prédéterminé, choisir le vecteur-mouvement pour lequel la fonction de coût a la valeur la plus favorable. 7 Système de codage de télévision à haute définition comportant un dispositif selon l'une des revendications 4 à 6.