首页 / 专利库 / 视听技术与设备 / 运动估计 / Procédé et dispositif d'estimation de mouvement dans une séquence d'images animées

Procédé et dispositif d'estimation de mouvement dans une séquence d'images animées

阅读:166发布:2023-04-04

专利汇可以提供Procédé et dispositif d'estimation de mouvement dans une séquence d'images animées专利检索,专利查询,专利分析的服务。并且Le procédé consisté à estimer le mouvement par exécution d'un algorithme de gradient (2, 3) qui rend minimal l'écart quadratique des variations locales de luminance du point courant de l'image avec le point qui lui est homologue dans l'image précédente, à initialiser (7) l'exécution de l'algorithme par des valeurs de déplacements estimés selon plusieurs directions à l'intérieur du proche voisinage causal du point courant et par un vecteur initial de prédiction temporelle du déplacement entre trames successives de l'image puis à propager chaque estimation dans le sens du balayage des lignes de l'image.
Application : télévision numérique haute définition.,下面是Procédé et dispositif d'estimation de mouvement dans une séquence d'images animées专利的具体信息内容。

1. Procédé d'estimation de mouvement dans une séquence d'images animées du type télévision où chaque image est formée par un nombre déterminé de points lumineux disposés aux croisements de lignes et de colonnes, du type dans lequel : l'estimation de mouvement est obtenue par l'exécution d'un algorithme de gradient qui rend minimal l'écart quadratique des variations locales de luminance du point courant de l'image avec le point qui lui est homologue dans l'image précédente, l'initialisation (7, 21) de l'algorithme a lieu à partir de vecteurs de déplacements estimés selon plusieurs directions à l'intérieur du proche voisinage causal du point courant et chaque estimation est propagée dans le sens du balayage des lignes de l'image, caractérisé en ce qu'il consiste également à initialiser l'exécution de l'algorithme au moyen d'un vecteur initial de prédiction temporelle défini (23, 24, 25, 26, 27) pour chaque point courant d'une trame d'image par le vecteur déplacement d'un point dans la trame précédente dont le point de projection dans la direction de son vecteur déplacement dans la trame courante est le plus proche du point courant.2. Procédé selon la revendication 1 caractérisé en ce qu'il consiste, lorsque plusieurs projections suivant des vecteurs déplacement de points d'une trame aboutissent à un même point dans la trame courante, à retenir (25) comme vecteur déplacement celui qui donne la différence inter-image déplacée la plus faible.3. Procédé selon les revendications 1 et 2 caractérisé en ce qu'il consiste, lorsqu'au point courant aucun vecteur déplacement temporel ne peut être attribué parce qu'aucun point voisin ne résulte d'une projection par un vecteur déplacement d'un point dans une trame qui précède la trame courante, à attribuer (26), au trou ainsi constitué de champ de mouvement, un vecteur mouvement résultant de la moyenne des vecteurs mouvement des points qui font partie de son voisinage.4. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que le sens du balayage est alterné une ligne sur deux.5. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce qu'il consiste à choisir (1) un sens de propagation de l'algorithme en fonction de la position dans l'image de la ligne à laquelle appartient le point courant, à calculer le module du gradient (2)du point courant pour le comparer à une valeur de seuil prédéterminée (3), à choisir (4) un déplacement pour le point courant dans le voisinage causal de ce point lorsque le module du gradient obtenu est inférieur à la valeur de seuil prédéterminée en retenant le déplacement qui donne la différence inter-image déplacée la plus faible ou à estimer (5, 6) un nouveau déplacement lorsque le module du gradient obtenu est supérieur à la valeur de seuil prédéterminée.6. Procédé selon la revendication 5, caractérisé en ce qu'il consiste, lorsque le module du gradient obtenu est supérieur à la valeur de seuil prédéterminée, à effecteur un calcul d'estimation (5) simultané d'un nombre déterminé N de déplacements à partir de N valeurs de déplacement initiales et à retenir la valeur de déplacement Di (0 < i < iMAx) qui donne une convergence avec la différence inter-image déplacée 1 DFD(Di) | la plus faible (6).7. Dispositif pour la mise en oeuvre du procédé selon l'une quelconque des revendications 1 à 6, caractérisé en ce qu'il comprend une mémoire d'image (33) pour mémoriser les valeurs de luminance d'un nombre déterminé de points de l'image entourant l'homologue P(z,t-1) du point courant P(z,t) dans la trame d'image IMS(t-1) précédant la trame du point courant IMS(t), un dispositif de calcul du module du gradient de luminance du point courant (34), un premier et un deuxième organe de décision (36 et 37) et un dispositif d'estimation de déplacement (38), les sorties des deux organes de décision (36 et 37) étant couplées aux entrées d'un dispositif d'aiguillage (35) piloté par le dispositif de calcul du module du gradient courant (34), si la valeur du module du gradient courant est inférieure ou égale à une valeur de seuil prédéterminée le déplacement retenu est celui issu du deuxième organe de décision (37) sinon le déplacement retenu est celui issu du premier organe de décision (36).8. Dispositif selon la revendication 7, caractérisé en ce que le dispositif d'estimation de déplacement comprend un bloc d'initialisation (39) pour mémoriser des déplacements initiaux suivant plusieurs directions couplé à un ensemble de calcul (43 ... 67) pour calculer, à partir des valeurs de déplacement initiales, des valeurs de déplacement pour lesquelles l'algorithme du gradient converge.9. Dispositif selon la revendication 8, caractérisé en ce que l'ensemble de calcul est couplé à l'organe de décision (36) pour sélectionner la valeur de déplacement qui donne la convergence de l'algorithme la plus rapide.10. Dispositif selon les revendications 8 et 9, caractérisé en ce que l'ensemble de calcul comprend pour chaque valeur de déplacement estimée Di (0 < i < iMAx) un bloc de test de convergence (44, 49, 54, 59, 64), couplé à un bloc de calcul de termes de correction (45, 50, 55, 60, 65) et à un dispositif de calcul de nouveaux déplacements (47,52,57,62,67).11. Dispositif selon la revendication 10 caractérisé en ce que chaque bloc de test de convergence (44, 49, 54, 59, 64) comprend d'une part, un circuit d'interpolation (70) couplé à un dispositif de calcul (71) de valeur absolue de la différence inter-image déplacée, et d'autre part, un dispositif (74) de calcul du gradient couplé à un dispositif (75) de calcul de la somme des carrés des gradients déplacés obtenus suivant les deux directions de balayage horizontale et verticale de l'image.12. Dispositif selon les revendications 10 et 11, caractérisé en ce que chaque bloc de calcul de termes de correction (45, 50, 55, 60, 65) comprend un dispositif de calcul (76) du gain de l'algorithme du gradient couplé à un dispositif de calcul d'incrément (77) et de valeur de correction (78).13. Dispositif selon l'une quelconque des revendications 10, 11 et 12, caractérisé en ce que chaque dispositif de calcul de nouveaux déplacements comprend des circuits soustracteurs (81, 82) pour calculer des valeurs de déplacement en fonction des termes de correction calculés par les blocs de calcul de termes de correction (45, 50, 55, 60, 65).14. Dispositif selon les revendications 12 et 13, caractérisé en ce que chaque terme de correction (TC) fourni par un bloc de calcul des termes de correction est égal au produit de la différence inter-image déplacée (DFD(z,D)) par la valeur de gradient du point déplacé P(z-D,t-1) et par le gain de l'algorithme.15. Procédé d'estimation de mouvement selon l'une quelconque des revendications 1 à 6, caractérisé en ce qu'il consiste à déterminer un champ de mouvement entre deux trames successives (Ta, Tb) d'une séquence d'images sous la forme d'un champ de vecteurs attribué à une trame d'image fictive (Tj) localisée à proximité des deux trames (Ta, Tb).16. Procédé selon la revendication 15, caractérisé en ce que le sens du balayage des lignes de la trame fictive est alterné une ligne sur deux.17. Procédé selon les revendications 15 et 16, caractérisé en ce qu'il consiste à estimer le mouvement de chaque pixel dans la trame fictive (Tj) sous la forme d'un vecteur mouvement D(z,Tj) correspondant au déplacement du pixel P(z,Tj) entre les trames d'instants Ta et Tb, ce vecteur passant par le point courant P(z, Tj) et ayant respectivement ses extrémités sur les trames d'image d'instants Ta et Tb, l'estimation ayant lieu en effectuant un calcul par itération de vecteurs déplacement D;(z,Tj) suivant un algorithme de gradient qui rend minimal l'écart quadratique des variations locales de luminance du point courant dans la trame fictive Tj.18. Procédé selon la revendication 17, caractérisé en ce que chaque déplacement Di(z,Tj) d'une itération i est obtenu à partir du vecteur déplacement Di-1(z,Tj) obtenu à l'itération i-1 précédente par la relation
Di(z,Tj)=Di-1(z,Tj)-(DFD(z,Di-1).grad L(z,Di- 1))).2(grad L(z,Di-1))2)-1
où : z désigne les coordonnées dans l'espace du point courant P(z,Tj) pour lequel est estimé le vecteur mouvement D(z,Tj)- DFD(z,Di-1) désigne la différence inter-trames déplacées calculée entre les trames d'instants TaetTb- et grad L(z,Di-1) désigne le gradient spatial demi somme des gradients spatiaux aux extrémités du vecteur déplacement Di-1 sur les trames d'instants Ta et Tb.
19. Procédé selon la revendication 18, caractérisé en ce que l'estimation du vecteur mouvement D(z,Tj) pour le point courant du pixel P(z,Tj) est calculée à partir de cinq vecteurs déplacement d'initialisation correspondant à quatre vecteurs mouvement déjà estimés pour quatre points voisins dans le voisinage causal du point courant et à un vecteur initial de prédiction temporel estimé pour le point courant, les cinq vecteurs déplacement d'initialisation donnant lieu à cinq vecteurs mouvement estimés, seul le vecteur mouvement qui parmi les cinq estimés donne une convergence de l'algorithme du gradient avec la différence inter-trames la plus faible étant retenu.20. Procédé selon l'une quelconque des revendications 18 et 19, caractérisé en ce que la différence inter-trame déplacée DFD(z,Di-1) est obtenue en effectuant la différence temporelle dans la direction du déplacement DI-1 des valeurs de luminance du point courant P(z,Tj) déplacé dans les trames d'instants Ta et Tb.21. Procédé selon la revendication 20, caractérisé en ce que les luminances LA et LB du point courant déplacé respectivement dans les trames d'instants Ta et Tb sont obtenues par interpolation bilinéaire des valeurs de luminances In des 4 pixels entourant le point, extrémité du vecteur considéré, respectivement dans Ta et Tb.22. Procédé selon l'une quelconque des revendications 17 à 21, caractérisé en ce que chaque vecteur déplacement Di est obtenu par soustraction du vecteur déplacement Di-1, calculé à l'itération précédente, d'un terme de correction égale au produit de la différence inter-trame déplacée DFD(z,Di-1) d'une part, par le gradient spatial de luminance grad L(z,DI-1) et d'autre part de l'inverse de la demi-somme des gradients spatiaux aux extrémités du vecteur déplacement Di-1 sur les trames d'instants Ta et Tb.23. Dispositif pour la mise en oeuvre du procédé selon l'une quelconque des revendications 15 à 22, caractérisé en ce qu'il comprend : une mémoire lignes (32) couplée à une mémoire de trame d'image (33) pour mémoriser respectivement les valeurs de luminance d'un nombre déterminé de points de l'image entourant les homologues du point courant P(z,Tj) et des points l'entourant dans les trames d'instants Ta et Tb, un dispositif d'estimation de déplacement (38) couplé à la mémoire lignes (32) à la mémoire de trame d'image (33) et à un organe de décision (36, 37) pour calculer, à partir des valeurs de luminance des points contenus dans la mémoire lignes et la mémoire de trame et à partir d'au moins une valeur de déplacement intiale contenue dans un bloc d'initialisation (39), un vecteur de déplacement pour chaque point courant P(z,Tj) de l'image.24. Dispositif selon la revendication 23, caractérisé en ce que le dispositif d'estimation de déplacement comprend au moins un bloc de test de convergence (44, 49, 54, 59, 64) un bloc de calcul de terme de correction (45, 50, 55, 60, 65) et un bloc de calcul de nouveau déplacement (47, 52, 57, 62, 67).25. Dispositif selon la revendication 24, caractérisé en ce qu'un bloc de test de convergence comprend, d'une part, un premier circuit d'interpolation (70) pour déterminer la luminance du point courant déplacé dans la trame d'instant Ta, un deuxième circuit d'interpolation (70 bis) pour déterminer la luminance du point courant déplacé dans la trame Tb, et un dispositif de calcul (71) couplé au premier et au deuxième cir cuit d'interpolation (70) et (70 bis) pour calculer en fonction des valeurs de luminance calculées par le premier (70) et le deuxième (70 bis) circuit d'interpolation la valeur absolue de la différence inter-image déplacée, la sortie du dispositif de calcul (71) étant couplée à l'organe de décision (36) au travers d'un premier (72) et d'un deuxième (73) commutateur ; d'autre part, un premier et un deuxième dispositif (74, 74 bis) de calcul de gradient couplé à un troisième dispositif de calcul (75) de calcul de la moyenne de gradients formés par le premier et le deuxième dispositif de calcul, le troisième dispositif de calcul (75) étant couplé à un quatrième dispositif de calcul (75 bis) de la somme des carrés des gradients moyens déplacés.26. Dispositif selon les revendications 24 et 25, caractérisé en ce qu'un bloc de calcul de termes de correction comprend un cinquième dispositif de calcul (76) d'une valeur s égale à l'inverse divisée par deux de la somme des carrés des gradients moyens déplacés fournis par le quatrième dispositif de calcul (75 bis) couplé au travers d'un dispositif de calcul d'incrément (77) à un dispositif de calcul de correction (78) couplé, d'une part, au troisième dispositif de calcul (75) et d'autre part, au deuxième commutateur (73) pour calculer des termes de correction en fonction de la valeur absolue de la différence inter-image déplacées fournie par le dispositif de calcul (71) et de la valeur s, ainsi qu'au moins un circuit comparateur (79, 80) pour limiter la valeur des termes de correction obtenus du dispositif de calcul de correction (78).27. Dispositif selon la revendication 26, caractérisé en ce qu'un bloc de calcul de nouveaux déplacements comprend des circuits soustracteurs (81, 82) pour soustraire les termes de correction à chaque nouvelle itération commandée par le dispositif de calcul d'incrément (77), de la valeur du déplacement calculée à l'itération précédente et rangée dans le bloc d'initialisation (39), pour obtenir les nouvelles valeurs de déplacement à chaque nouvelle itération et les ranger dans le bloc d'initialisation (39).28. Dispositif selon l'une quelconque des revendications 7 à 14 d'une part, et 23 à 27 d'autre part, caractérisé en ce que le bloc d'initialisation (39) est couplé à un dispositif de prédiction temporelle (42) permettant le calcul du point d'impact dans la trame suivant la trame courante et le pixel le plus proche de ce point d'impact, en associant à ce point le vecteur mouvement du point courant.29. Procédé d'estimation de mouvement dans une séquence d'images animées selon l'une quelconque des revendications 1 à 6 et 15 à 22 caractérisé en ce qu'il consiste à calculer, en une seule itération et pour chaque vecteur déplacement estimé DPj, une valeur DFD(Dpj) de différence inter-images déplacée entre la luminance du point courant et sa valeur de luminance dans la trame précédente décalée de la distance Dpj, à comparer (101) les valeurs absolues des valeurs DFD obtenues pour sélectionner le vecteur de déplacement estimé Dpj qui correspond à la valeur absolue de DFD(Dpj) la plus faible, et à calculer (102 ... 107) le vecteur déplacement courant Dj par exécution de l'algorithme de gradient à partir du gradient spatial du vecteur déplacement sélectionné et de la valeur DFD(Dpj) correspondante.30. Procédé selon la revendication 29 caractérisé en ce que le gradient spatial du point courant est calculé en ne prenant en compte que les quatre points les plus proches de chaque point extrémité du vecteur déplacement.31. Procédé selon la revendication 30 caractérisé en ce que le gradient de chaque point extrémité du vecteur déplacement est calculé, en mesurant sur chaque ligne située à proximité de part et d'autre du point extrémité du vecteur déplacement, la différence des valeurs des luminances (Li, L2, L3, L4) des deux points sur charge ligne adjacente au point extrémité du vecteur déplacement en prenant la moyenne des différences de luminance obtenues sur chaque ligne.32. Procédé selon la revendication 31 caractérisé en ce que le gradient de chaque point extrémité du vecteur déplacement est calculé dans la direction du balayage vertical de l'image en mesurant, sur chaque colonne située à proximité et de part et d'autre du point extrémité du vecteur déplacement, la différence des valeurs des luminances (Li, L2, Ls, L4)des deux points sur charge colonne adjacente au point extrémité du vecteur déplacement en prenant la moyenne des différences des luminances obtenues sur chaque colonne.33. Procédé selon l'une quelconque des revendications 29 à 32 caractérisé en ce qu'il consiste à faire subir à chaque couple d'image sur lequel est estimé le mouvement, une rotation d'un quart de tour.34. Procédé selon l'une quelconque des revendications 29 à 33 caractérisé en ce qu'il consiste, pour combler des trous existants dans le champ de prédiction du mouvement après projection temporelle, à considérer pour chaque trou courant, les vecteurs s'ils existent des quatre pixels l'environnant et à définir le vecteur mouvement comme la moyenne des composantes des vecteurs existants.35. Procédé selon la revendication 34 caractérisé en ce qu'il consiste pour définir un vecteur associé à un trou, à sélectionner le vecteur qui minimise la valeur absolue de la différence intra-image déplacée DFD pour le pixel trou courant.36. Procédé selon la revendication 34 caractérisé en ce qu'il consiste à sélectionner le vecteur le plus proche de la moyenne des vecteurs existants.37. Procédé selon l'une quelconque des revendications 29 à 36 caractérisé en ce qu'il consiste à définir plusieurs prédicteurs temporels pour chaque point de l'image courante par filtrages au moyen d'une batterie de filtresdu champ de mouvement issu de la projection temporelle.38. Procédé selon l'une quelconque des revendications 29 à 37 caractérisé en ce qu'il consiste à effectuer un filtrage spatial du champ de mouvement avant projection temporelle pour définir chaque nouveau champ de prédiction.39. Dispositif pour la mise en oeuvre du procédé selon l'une quelconque des revendications 29 à 38.40. Dispositif selon la revendication 38 caractérisé en ce qu'il comprend des moyens pour filtrer les champs de mouvement issus de la projection temporelle.
说明书全文

L'invention concerne un procédé et un dispositif d'estimation de mouvement dans une séquence d'images animées.

Elle s'applique notamment à la réalisation de systèmes de télévision numérique et à la réduction du débit des informations circulant dans ces systèmes.

Pour estimer le mouvement ou le déplacement de points animant une séquence d'images, il est connu soit d'effectuer une mise en correspondance des traits caractéristiques de celles-ci, soit d'appliquer une méthode d'estimation différentielle en exploitant les gradients spatiaux et temporels des points représentatifs. Dans ce dernier cas cependant, l'initialisation des algorithmes de gradient employés est difficile à maîtriser. Par exemple, suivant une première méthode, il est connu d'assurer un suivi temporel de quelques points caractéristiques (points anguleux, contours ...) pour estimer leur movement et initialiser un algorithme de gradient, mais dans ce cas, il est impératif avant d'effectuer ce suivi, de résoudre les problèmes d'extraction et de mise en correspondance des points anguleux, ce qui est laborieux et donne des résultats encore très imparfaits.

Il est également connu, suivant une deuxième méthode, de rendre minimal l'écart quadratique des variations locales de luminance inter-image, éventuellement inter-trame, et de procéder à l'initialisation de l'algorithme de gradient par l'estimée du mouvement au point qui précède le point courant sur la même ligne. Dans ce cas, la convergence de l'algorithme dépend en grande partie de la phase d'initialisation employée et celle-ci est généralement faite en ne prenant en compte que les paramètres définis dans le plus proche voisinage spatial causal du point courant. De la sorte, les champs de mouvement pour chaque couple d'images sont calculés de façon indépendante sans tenir compte du fait que ceux-ci sont nécessairement corrélés d'une image à l'autre.

Le but de l'invention est de pallier les inconvénients précités.

A cet effet l'invention a pour objet, un procédé d'estimation de mouvement dans une séquence d'images animées du type télévision où chaque image est formée par un nombre déterminé de points lumineux disposés aux croisements de lignes et de colonnes, du type dans lequel : l'estimation de mouvement est obtenue par l'exécution d'un algorithme de gradient qui rend minimal l'écart quadratique des variations locales de luminance du point courant de l'image avec le point qui lui est homologue dans l'image précédente, l'initialisation de l'algorithme a lieu à partir de vecteurs de déplacements estimés selon plusieurs directions à l'intérieur du proche voisinage causal du point courant et chaque estimation est propagée dans le sens du balayage des lignes de l'image, caractérisé en ce qu'il consiste également à initialiser l'exécution de l'algorithme au moyen d'un vecteur initial de prédiction temporelle défini pour chaque point courant d'une trame d'image par le vecteur déplacement d'un point dans la trame précédente dont le point de projection dans la direction de son vecteur déplacement dans la trame courante est le plus proche du point courant.

L'invention a également pour objet un dispositif pour la mise en oeuvre du procédé précité.

Le procédé et le dispositif selon l'invention ont pour principal avantage qu'ils permettent, grâce à l'utilisation supplémentaire d'un vecteur d'initialisation temporelle, une augmentation de la vitesse de convergence de l'algorithme de gradient. L'estimation de déplacement qui en résulte permet une meilleure interpolation temporelle du fait qu'il y a continuité dans les champs de déplacement. Les risques de fausses estimations qui entraînent des sauts d'images très gênants pour l'oeil se trouvent ainsi limités

D'autres caractéristiques et avantages de l'invention apparaîtront ci-après à l'aide de la description qui est faite en regard des dessins annexés qui représentent :

  • - Les figures 1a et 1b deux schémas pour illustrer deux types d'estimation du mouvement mis en oeuvre par l'invention.
  • - La figure 2 un organigramme pour illustrer le premier type d'estimation de déplacement mis en oeuvre par l'invention.
  • - La figure 3 une représentation d'une zone d'estimation et d'exploration.
  • - Les figures 4a, 4b et 4c, trois vues pour illustrer le sens de propagation de l'estimation de déplacement dans une trame et la détermination des valeurs initiales pour les lignes impaires et paires respectivement.
  • - La figure 5 une vue pour illustrer le mode de calcul du gradient du point courant utilisé selon un premier type d'estimation de déplacement selon l'invention.
  • - La figure 6 une vue montrant un déplacement dans une image précédant l'image courante.
  • - La figure 7 une représentation d'une zone d'exploration.
  • - La figure 8 une organigramme pour illustrer un algorithme de décision mis en oeuvre dans le premier type d'estimation de déplacement selon l'invention.
  • - La figure 9 une vue éclatée pour illustrer une application du procédé selon l'invention à un mode de fonctionnement inter-trame selon un second type d'estimation de déplacement.
  • - La figure 10 un organigramme pour illustrer le deuxième type d'estimation de déplacement mis en oeuvre par l'invention.
  • - La figure 11 une vue pour illustrer un calcul de différence inter-trame déplacée et de gradient de luminance mis en oeuvre dans le deuxième type d'estimation de déplacement selon l'invention.
  • - La figure 12 une représentation d'une zone où est située l'extrémité du vecteur déplacement pour un point courant (IX, IY, Tj) dans une trame Ta, correspondant au deuxième type d'estimation de déplacement.
  • - Les figures 13a à 13f des schémas pour illustrer différents types de déplacement entre trames successives Ta et Tb, le mode de définition du champ de prédiction du mouvement en tre Tb et Tc pour les deux types d'estimation, et les cas d'apparition de trous et de conflits dans le champ de prédiction au cours de la projection temporelle.
  • - La figure 14 une vue éclatée montrant un ensemble de trames fictives intercalées dans des trames Ta, Tb, Tc successives, pour illustrer le procédé de prédiction temporelle mis en oeuvre dans le deuxième type d'estimation de déplacement selon l'invention.
  • - Les figures 15a et 15b deux vues pour illustrer les phases du procédé selon l'invention permettant le traitement des trous en fonction du balayage.
  • - La figure 16 une vue éclatée de trois trames Ta, Tb et Tc successives pour illustrer le procédé de prédiction temporelle mis en oeuvre dans le premier type d'estimation de déplacement selon l'invention.
  • - La figure 17 un organigramme pour illustrer les différentes étapes du processus d'élaboration d'une prédiction temporelle selon l'invention.
  • - La figure 18 les modifications à apporter à l'organigramme de la figure 10 pour permettre une estimation de mouvement à prédiction temporelle.
  • - La figure 19 une vue éclatée montrant la détermination d'une fenêtre de déplacement à l'intérieur de deux trames encadrant une trame fictive correspondant au deuxième type d'estimation de déplacement selon l'invention.
  • - La figure 20 les modifications à apporter à l'organigramme de la figure 2 pour permettre une estimation de mouvement à prédiction temporelle correspondant au premier type d'estimation de déplacement.
  • - La figure 21 les modifications à apporter à l'organigramme de la figure 8 pour permettre une estimation de mouvement à prédiction temporelle.
  • - Les figures 22 à 27 des modes de réalisation de dispositifs pour la mise en oeuvre du procédé selon l'invention.
  • - La figure 28 une variante du procédé de calcul de nouveaux déplacements, sous la forme d'un organigramme ;
  • - La figure 29 une vue pour illustrer une variante de calcul du gradient du point extrémité du vecteur déplacement dans une trame courante ;
  • - Les figures 30 à 34 des vues pour illustrer deux variantes possibles au traitement des trous en projection temporelle, décrits comme précédemment ;
  • - La figure 35 un dispositif de filtrage du champ mouvement projeté, avant estimation de mouvement de l'image courante.

Le procédé selon l'invention qui est décrit ci-après repose sur l'utilisation d'un algorithme d'estimation de déplacement du type de celui qui est décrit dans un article de la publication BELL SYSTEM TECHNOLOGIE volume 58 pages 631 à 670 de MARS 1979 Part.1 ayant pour titre "Motion compensated television coding" et pour auteur A.N NETRAVALI et JD. ROBBINS. L'algorithme de gradient qui y est développé rend minimal l'écart quadratique des variations locales de luminance de chaque point courant d'une image de télévision entre le point courant et le point qui lui est homologue dans l'image précédente.

L'expression de cet algorithme est définie par une relation de la forme :

  • - où z(x,y) désigne les coordonnées spatiales du point courant P(z,t), en fonction de sa position repérée dans le plan (x, y) de l'image.
  • - I(z,t) est la luminance du point courant P(z,t) à l'instant t.
  • - D;(z,t) est le déplacement estimé au point P(z,t) à l'itération i et DFD(z,D) désigne la différence inter-image déplacée, cette différence vérifiant la relation :
  • - T désigne la période image, ou la période trame
  • - grad I(z,t) désigne le vecteur gradient du point courant P(z,t).


et s désigne le gain de l'algorithme.

Pour améliorer la vitesse et la précision de convergence de l'algorithme, ε est défini par la relation :avec la condition que si :

La relation (3) fait apparaître que plus le gradient devient grand plus le terme correctif au déplacement estimé à l'itération précédente décroît. Pour estimer le mouvement le procédé selon l'invention utilise les différences inter-trame existantes entre deux trames d'image Ta et Tb dans une séquence d'images, l'unité de temps considérée étant la période image, les trames Ta et Tb étant désignées par la suite par leurs instants de prises de vue.

Selon une première variante de réalisation de l'invention, le mouvement est estimé, de la façon représentée à la figure 1a, entre deux trames Ta et Tb à partir des points de Ta et Tb pour les pixels de l'une des deux trames Ta ou Tb (Tb en figure 1a). Le champ de mouvement obtenu est donc attribué à la trame Ta ou à la trame Tb (Tb en figure 1a). Suivant que le mouvement est estimé dans la trame Ta ou dans la trame Tb le vecteur déplacement De de -chaque pixel de composante de luminance horizontale et verticale IX et IY est défini par des relations de la forme

En considérant par exemple que chaque point courant P(z,Tb) se trouve dans la trame Tb, chaque vecteur déplace ment De(z,Tb) d'un point courant dans la trame Tb a une extrémité pivotante sur un pixel de la trame Tb et une extrémité origine libre dans la trame Ta. Dans ce contexte, si les mouvements des points d'une trame Tj située temporellement entre les trames Ta et Tb doivent être interpolés, les champs des vecteurs déplacement De(z,Tb) sont associés aux pixels de la trame Tj, et un calcul d'interpolation permet connaissant De(z,Tb) de définir De(z,Tj).

Selon une deuxième variante de réalisation de l'invention, le mouvement est estimé entre les trames Ta et Tb directement pour chaque point de composantes de luminance (IX, IY) d'une trame intermédiaire fictive Tj. En disposant du vecteur déplacement D de chaque pixel de coordonnées (IX, IY, Tj) dans la trame Tj, le procédé d'interpolation fournit alors les valeurs de reconstruction pour chaque point (IX, IY, Tj) de la trame Tj sans nécessiter une étape supplémentaire d'association de mouvement à la trame Tj. Cependant, si plusieurs trames Tj sont interpolées entre les trames Ta et Tb, ce processus devient rapidement très coûteux en temps car il nécessite une estimation du mouvement entre chaque trame Ta et Tb pour chacune des images Tj, il pourrait être alors préférable d'opter en faveur du premier type d'estimation indiqué précédemment. Selon la deuxième variante de réalisation de l'invention le vecteur déplacement D(z,Tj) de chaque pixel P(z,Tj) d'une trame Tj pivote donc autour de son pixel et a ses extrémités portées respectivement sur les trames Ta et Tb, une représentation de cette variante est montrée à la figure 1b.

Cette configuration permet d'exploiter le champ de mouvement obtenu par des estimateurs de mouvement comprenant un interpolateur de trame adapté au mouvement.

Il est à noter que, pour les deux variantes, les trames Ta, Tb et Tj (cette dernière n'existant que dans la deuxième variante) peuvent être indifféremment de parité paire ou impaire ; les trames paires sont simplement décalées verticalement d'une demi-ligne par rapport aux trames impaires (et tempo rellement d'une demi-période image) : la ligne 1 de la trame paire se trouve à égale distance des lignes 1 et 1 + 1 de la trame impaire. Ceci doit être pris en compte lors de la mise en correspondance de deux trames par un adressage adéquat.

Les étapes du procédé correspondant à la première variante de réalisation sont représentées à la figure 2. Selon une première étape représentée en 1 à la figure 2, chaque trame courante IMS(t) (Tb) est analysée point à point en balayant chaque ligne. Le gradient de luminance de chaque point courant de coordonnées z = (x,y) dans le plan de l'image est calculé à l'étape 2, sa valeur absolue est comparée à l'étape 3 à une valeur de seuil déterminée de référence Sg. Si la valeur du gradient trouvé à l'étape 3 est inférieure au seuil Sg, le procédé exécute l'étape 4 qui consiste à choisir un déplacement dans le voisinage causal du point courant P(z,t). Par contre, si à l'étape 3 la valeur du gradient trouvé est supérieure au seuil Sg, le procédé exécute les traitements indiqués à l'étape 5 pour estimer quatre nouveaux déplacements à partir de quatre valeurs initiales de déplacement dans le voisinage causal du point courant. A la fin de l'exécution de l'étape 5 le procédé passe à l'exécution de l'étape 6 et fait le choix d'un déplacement parmi les quatre déplacements qui ont été estimés à l'étape 5. Le procédé se déroule ainsi par itérations successives, chaque fin d'exécution des étapes 4 ou 6 provoquant à l'étape 7 l'initialisation du point suivant et les déplacements sont enregistrés à l'étape 8.

Le déplacement estimé est limité dans l'image en lignes et en colonnes à l'intérieur d'un rectangle de coordonnées ±DXMAX et ±DYMAx par rapport au point courant. La zone d'estimation du mouvement dans l'image courante Tb est limitée de la façon représentée à la figure 3, par des valeurs de déplacements maximum DXMAX et DYMAX dans la direction horizontale X et la direction verticale Y de l'image. La recherche du point déplacé se fait dans toute l'image précédente (Ta).

Si un vecteur déplacement est estimé pour tous les pixels de Tb, y compris les bords, un test peut être ajouté pour vérifier que l'extrémité mobile du vecteur est effectivement située sur la trame d'instant Ta. Si ce n'est pas le cas, il est aisé de modifier ce vecteur de façon à avoir pour le pixel courant un nouveau vecteur, le plus proche de l'ancien, qui a son extrémité mobile sur Ta, de façon à pouvoir estimer les fonctions DFD et gradL.

Chaque point de Tb, sauf les points hors de la fenêtre définie précédemment possèdent une fenêtre locale de recherche de l'extrémité du vecteur sur Ta, qui est centrée sur le point courant et dont les dimensions horizontale et verticale sont respectivement 2DXMAx et 2DYMAX.

Les déplacements qui sont estimés dans le plus proche voisinage causal du point courant servent à initialiser l'algorithme d'estimation de mouvement. Ce voisinage causal contient quatre déplacements qui sont utilisés pour initialiser quatre estimations de mouvement en parallèle.

La propagation de l'estimation suit dans le procédé le balayage normal des images de télévision. Cependant pour éviter de privilégier un sens de propagation dans l'image de la gauche vers la droite par exemple, le sens de balayage est inversé une ligne sur deux de façon alternée. Une représentation de ce balayage en lignes paires et impaires alternées est représentée à la figure 4a et les valeurs initiales Dô, Dô, Dô et Dh pour les lignes impaires et paires sont représentées respectivement aux figures 4b et 4c.

En suivant la représentation de la figure 5, le calcul du gradient dans l'image courante est effectué au point courant P(z,t) suivant le balayage de la ligne courante. Comme ce calcul respecte la causalité il est différent suivant le sens de balayage. Pour une ligne impaire le gradient vérifie la relation :pour une ligne paire le gradient vérifie la relation

Comme l'algorithme de base employé est un algorithme de gradient, aucune itération (nouvelle estimation de déplacement) n'est faite dans les zones à gradients faibles. Le seuil Sg est le seuil employé sur le module du gradient courant. Pour effectuer l'interpolation et le calcul des gradients dans l'image précédente, chaque déplacement D=(px,Dy) est décomposé suivant ses deux composantes Dx et Dy suivant les relations : Dx = IDx + FDx et Dy = IDy + FDy, où ID et FD désignent respectivement les parties entières et décimales du déplacement.

L'unité du déplacement en X est formée par l'intervalle séparant deux points sur la même ligne et l'unité du déplacement en Y est constituée par l'intervalle séparant deux lignes dans la même trame. Quant aux gradients, ceux-ci sont calculés suivant la méthode connue décrite dans l'article IEEE Trans. on Com., vol. com.32, n°8 d'Août 1984 ayant pour titre "Movement compensated inter-trame predic- tion for NTSC color TV signals" et ayant pour auteur S. SABRI. Une représentation graphique de ces calculs est montrée à la figure 6 qui représente des déplacements dans l'image précédente IMS(t-1). La luminance IB du point courant déplacée dans l'image précédente est obtenue par interpolation bilinéaire des luminances In des points voisins, ce qui se traduit avec les notations de la figure 6 par la relation

Le gradient horizontal est :

Le gradient vertical est :

Pour limiter les risques de divergence ou d'annulation des termes de correction ceux-ci sont majorés et minorés. On a(terme de correction)x=DFD(z,Di-1).gradx I(z-Di- 1,t-1). (22) (terme de correction)y=DFD(z,Di-1).grady I(z-Di- i,t-1). (23)

En calculant le gradient dans l'image précédente avec une précision maximale de 0.25 on obtient en vertu de la relation (3) εMAX = 8 (24)

En général, FDx et FDy sont différents de zéro, et la précision maximale sur le gradient est de 0.5. On obtient alors εMAx = 2.

Suivant un mode possible de réalisation de l'invention des tests de limitation des termes de correction exprimés en unité de déplacement pourront être éventuellement définis de la façon suivante :

  • 1. Si 1 (terme de correction) I < 1/16, alors le (terme de correction) sera pris égal à ± 1/16
  • 2. Si I (terme de correction)xI > 3, alors le (terme de correction)x sera pris égal à ±3
  • 3. Si 1 (terme de correction)Y I > 2, alors le (terme de correction)Y sera pris égal à ±2

Egalement dans ce mode de réalisation on pourra prendre à titre d'exemple comme déplacement maximal en x, = ± 15 et comme déplacement maximal en y, = ±5.

Si le déplacement estimé dépasse l'une ou l'autre de ces valeurs il est remis à zéro.

Dans ces conditions la zone de recherche dans une trame de l'image IMS(t-1) pour un point courant P(z,t) est définie dans un rectangle de dimension 30x10 comme cela est représenté à la figure 7.

Les quatre estimations de déplacement sont menés en parallèle à partir des 4 valeurs initiales , , et . Un point est considéré comme convergent, quand au moins une des 4 valeurs de déplacement , , et donne une valeur absolue de la différence inter-image déplacée DFD(z,Di) inférieure au seuil S défini précédemment pour un numéro d'itération i supérieur ou égal à zéro (i = 0 désignant une valeur initiale) et inférieur ou égal au numéro d'itération maximal iMAX (0 ≦ i ≦ iMAX). Si aucune valeur de déplacement ne donne une valeur 1 DFD 1 inférieure ou égale à S, le point est considéré comme divergent, mais il lui est attribué malgré tout un déplacement, celui qui parmi , , donne la valeur absolue de DFD la plus faible.

Si le gradient de l'image courante est faible, le choix d'un déplacement se fait dans le voisinage causal du point courant P(z,t) et aucune itération n'est effectuée (i = 0). Le critère de décision consiste alors à choisir le déplacement qui parmi les valeurs , , et donne la valeur absolue de différence inter-image déplacée DFD(z,Do) la plus faible. En cas d'égalité, le choix est effectué dans l'ordre , , et (étapes 9 à 15 de la figure 8). Cependant, si la différence inter-image déplacée des déplacements choisis n'est pas inférieure ou égale au seuil S (étape 16) (seuil de test de convergence) le déplacement prend la valeur 0 (étape 17).

Si le gradient de l'image courante est élevé à chaque itération (de 0 à iMAx), on obtient quatre valeurs de |DFD(Di) qui sont comparées au seuil S.

Le déplacement retenu est le premier qui donne une |DFD| inférieure ou égale au seuil S. Si plusieurs déplacements sont obtenus à la même itération, celui qui donne la différence inter-image déplacée 1 DFD 1 la plus faible est choisi. En cas de nouvelle égalité sur |DFD|, un choix arbitraire est effectué dans l'ordre : DAi, DBi, DCi, DDi.

A chaque itération i (0 ≦ i ≦ iMAx) est associé ainsi un déplacement Di, une différence inter-image déplacée DFD et un nombre d'itération i.

La décision se prend alors sur le nombre d'itérations le plus faible, puis sur la différence inter-image déplacée DFD minimale, pour ensuite faire éventuellement un choix arbitraire.

Selon la deuxième variante de réalisation de l'invention, le procédé permet la détermination d'un champ de mouvement entre deux trames généralement successives d'une séquence d'images, sous la forme d'un champ de vecteurs attribué à une trame fictive située généralement entre les deux trames mères. Le champ de mouvement est composé par un ensemble de vecteurs. Chaque vecteur passe par un pixel de la trame fictive et a ses extrémités sur les deux trames mères qui l'encadrent. Sur la figure 9, les trames mères sont désignées par leur instant de prise de vue Ta et Tb. La trame fictive est située à un instant Tj intermédiaire entre les instants Ta et Tb. Le but est de fournir un vecteur déplacement à chaque pixel de la trame fictive considérée à l'instant Tj, la luminance de chaque pixel étant inconnue a priori, à partir du champ de luminance des trames des instants Ta et Tb. Suivant un autre mode de réalisation de l'invention il sera également possible de considérer que l'instant Tj peut aussi être situé en dehors de l'intervalle (Ta, Tb).

Ce procédé est similaire au procédé décrit précédemment correspondant à la première variante de réalisation de l'invention à la différence cependant qu'il permet d'estimer le mouvement entre deux trames d'instants Ta ou Tb pour les pixels de la trame fictive Tj. Les complexités de l'algorithme et celle du dispositif d'estimation qui en découle, sont du même ordre.

L'estimation de mouvement est calculée à partir de la luminance L() des pixels des trames d'instants Ta et Tb. Le mouvement estimé pour chaque pixel se présente sous la forme d'un vecteur D à deux composantes horizontale DX et verticale DY. D désigne le déplacement entre Ta et Tb du pixel P de coordonnées (z, Tj) dans la trame fictive Tj. z représente le couple des coordonnées horizontale IX et verticale IY du pixel dans la trame fictive Tj. Dans le cas présent le vecteur déplacement D passe par le point (z, Tj) et a ses extrémités sur les trames Ta et Tb alors que dans le cas précédent le vecteur déplacement D(z, Tb) correspond au déplacement du pixel de coordonnées (z, Tb) entre les trames Ta et Tb. Cette différence a des conséquences sur la définition de l'équation de base (1). Cette équation devient :dans laquelle : z est un vecteur qui désigne les coordonnées spatiales du point courant P(z,Tj) pour lequel est estimé le vecteur déplacement D(z,Tj), D,(z,Tj) est le vecteur déplacement estimé au point P(z,Tj) à l'itération i,

DFD(z,Di-1) désigne la différence temporelle en luminance dans la direction du déplacement Di-1, elle est encore appelée "différence inter-trames déplacées" et est calculée entre Ta et Tb suivant la relation :grad L(z,Di-1) est un vecteur qui désigne le gradient spatial de luminance L dans la direction du déplacement Di-1. Ce vecteur est égal à la demi-somme des gradients spatiaux aux extrémités de Di-i, sur Ta et Tb ; sa valeur est définie par :Comparée à l'équation (1), l'équation (24) ci-dessus est peu différente ; elle diffère cependant dans le calcul des fonctions DFD et grad L, du fait que le vecteur mouvement pivote autour du pixel (z, Tj) et qu'en conséquence ses extrémités sur les trames d'instants Ta et Tb varient, alors que dans le cas précédent, le vecteur pivotait par une extrémité autour du pixel P(z,Tb) et avait son autre extrémité libre sur la trame d'instant Ta. Il en résulte que les avantages conférés par l'estimateur précédent sont conservés. De même, en ce qui concerne le cadre d'utilisation de l'équation de base, les stratégies qui ont encore un sens dans le présent estimateur sont conservées. Il s'agit notamment de :

  • - l'estimation du vecteur mouvement pour le point courant suivant les récurrences examinées parallèlement calculées à partir de 4 vecteurs d'initialisation qui sont les vecteurs mouvement estimés de 4 points voisins du point courant dans le voisinage causal,
  • - l'alternance du sens de balayage de la ligne dans la trame courante, trame Tj dans le cadre de la présente invention,
  • - l'organe de décision à propos du choix d'un déplacement parmi 4 déplacements estimés.

Cependant, la procédure qui consiste à comparer le gradient de la luminance du point courant à un seuil, et à distinguer deux procédures selon que ce gradient est plus grand (strictement) ou plus petit que ce seuil est supprimée. En effet, cette distinction n'a plus de sens du fait que la luminance de la trame courante Tj est inconnue. Tous les points de la trame fictive Tj suivent donc dans ces conditions la même procédure d'estimation du vecteur mouvement, suivant quatre récurrences calculées parallèlement.

D'autre part, l'estimation est calculée entre deux trames Ta et Tb qui peuvent être de même parité ou de parité différente, et pour une trame Tj qui peut être également paire ou impaire. Un vecteur correcteur, désigné par dza ou dzb, est introduit dans le calcul des fonctions DFD et grad L. dza dépend de la parité relative de Ta et Tj, dzb dépend de la parité relative de Tb et Tj.

Les fonctions DFD et grad L deviennent :

Dans le cas où la trame Tj considérée est située en dehors de l'intervalle (Ta, Tb), les différentes équations présentées ci-dessus restent inchangées. Dans ce cas, le support du vecteur D(z,Tj) passe par le point P = (z,Tj) et celui-ci mesure encore le déplacement relatif entre les trames d'instants Ta et Tb.

Pour estimer le mouvement, le procédé utilise les différences inter-trames existantes entre deux trames d'instants Ta et Tb qui se suivent directement ou non dans une séquence d'images. Dans la description qui suit il est supposé que le déplacement de chaque pixel de la trame fictive d'instant Tj est rectiligne entre deux trames d'instants Ta et Tb, et chaque élément d'objet de la trame fictive d'instant Tj (luminance de pixel) est supposé également présent dans les trames d'instants Ta et Tb.

Le procédé se déroule suivant plusieurs étapes qui sont représentées sur l'organigramme de la figure 10. Selon une première étape, représentée en 18, chaque point de la trame courante est analysé, par un balayage en lignes de tous les points de la trame. Le procédé exécute les traitements indiqués à l'étape 19 pour estimer quatre valeurs de déplacements à partir de quatre valeurs initiales de déplacement dans le voisinage causal du point courant. A la fin de l'exécution de l'étape 19, le procédé passe à l'exécution de l'étape 20 et fait le choix d'un déplacement parmi les quatre déplacements qui ont été esti més à l'étape 19. Le procédé se déroule ainsi par itérations successives, chaque fin d'exécution de l'étape 20 provoquant l'initialisation du point suivant (étape 21) et les déplacements sont enregistrés à l'étape 22.

Les déplacements qui sont estimés dans le plus proche voisinage causal du point courant servent à initialiser l'algorithme d'estimation de mouvement. Ce voisinage causal contient quatre déplacements qui sont utilisés pour initialiser quatre estimations de mouvement en parallèle.

Conformément au cas décrit précédemment, le sens de balayage est inversé une ligne sur deux de façon alternée.

Pour effectuer l'interpolation et le calcul des gradients dans la trame précédente, chaque déplacement D = (DX, DY) est décomposé suivant ses deux composantes DX et DY suivant les relations : DX = IDX + FDX et DY = IDY + FDY où ID et FD désignent respectivement les parties entières et décimales du déplacement.

L'unité du déplacement en X est formée par l'intervalle séparant deux points sur la même ligne et l'unité du déplacement en Y est constituée par l'intervalle séparant deux lignes dans la même trame. Les gradients sont calculés de la façon décrite ci-dessous, et illustrée par la figure 11 qui représente une portion de la trame d'instant Ta, et un vecteur déplacement dont l'extrémité sur la trame d'instant Ta a pour coordonnées (z-DA,Ta) et a pour luminance LA. La luminance LB de son extrémité dans la trame d'instant Tb, et le vecteur déplacement DB en ce point sont calculés de la même façon. Dans ce cas les vecteurs déplacements DA et DB vérifient les relations :

Les vecteurs DA et DB étant colinéaires et tels

La luminance LA du point courant déplacé dans la trame d'instant Ta est obtenue par interpolation bilinéaire des luminances Ln des pixels voisins, ce qui se traduit avec les notations de la figure 11 par la relation :

Le gradient spatial de luminance G en ce point dont les composantes sont notées GX et GY, est calculé de la façon suivante :

Si FDX est inférieure à 0,2 et si FDY est inférieure 0,2 alorsou si FDY est supérieure à 0,8 alorsou est compris entre 0,2 et 0,8 alorsSi FDX est supérieure à 0,8 et si FDY est inférieure à 0,2 alorsou si FDY est supérieure à 0,8 alorsou si FDY est compris entre 0,2 et 0,8 alorsenfin si FDX est compris entre 0,2 et 0,8 et si FDY est inférieure à 0,2 alorsou si FDY est supérieure à 0,8 alorsou si FDY est compris entre 0,2 et 0,8 alors

Une fois déterminées les luminances LA et LB des extrémités du vecteur D sur les trames d'instants Ta et Tb, la différence inter-trames déplacées est calculée par la relation :

De même une fois que les gradients spatiaux GA et GB sont déterminés aux extrémités du vecteur D sur les trames Ta et Tb, le gradient grad L(z,D) de l'équation récursive (24) est calculée par la relation :

Comme dans le cas précédent les risques de divergence ou d'annulation des termes de correction peuvent être limités en majorant et en minorant ces derniers, de sorte que,avec (terme de correction en X)=DFD(z,D;- 1)xgradx(z,Di-1)x s

et (terme de correction en Y)=DFD(z,Di-i)xgra- dy(z,Di-1)x avec s = 1/2x 1 grad L(z,Di-1)|2 etavec la condition que si (grad L(z,Di-1))2=0 alors s a pour valeur zéro.

Comme dans le cas précédent des tests de limitation des termes de correction exprimés en unité de déplacement peuvent être définis de la façon suivante :

  • 1. Si la valeur absolue de (terme de correction) est inférieure à 1/16, alors le (terme de correction) sera pris égal à ± 1/16.
  • 2. Si la valeur absolue de (terme de correction en x) est supérieure à 3, alors le (terme de correction en x) sera pris égal à ±3.
  • 3. Si la valeur absolue de (terme de correction en y) est supérieure à 2, alors le (terme de correction en y) sera pris égal à ±2.

On pourra également prendre à titre d'exemple, dans le cas de 2 trames successives, un déplacement maximal en x : DXMAX = ±8 colonnes, et un déplacement maximal en y : DYMAX = ±4 lignes. Si le déplacement estimé dépasse l'une ou l'autre de ces valeurs, il est remis à zéro.

Le déplacement maximal DMAX entre les trames d'instants Ta et Tb peut être décomposé en DA MAX et DB MAX vecteurs colinéaires dont les extrémités sont respectivement sur les trames d'instants Ta et Tj pour DA MAX, les trames d'instants Tb et Tj pour DB MAX, tels que DMAX = DA MAX + DB MAX. DMAX étant fixé, DA MAX et DB MAX dépendent de la distance de la trame d'instant Tj aux trames d'instants Ta et Tb. La zone de recherche dans les trames d'instants Ta et Tb pour un point courant P(z,Tj) est alors définie par un rectangle sur chaque trame Ta et Tb comme cela est figuré aux figures 12 et 19 de dimensions respectives :et

Si un vecteur déplacement est estimé pour tous les pixels de la trame fictive Tj, y compris les bords, un test peut être ajouté pour vérifier que les extrémités du vecteur sont effectivement situés sur les trames d'instants Ta et Tb. Si ce n'est pas le cas, il est aisé de modifier ce vecteur de façon à avoir pour le pixel courant un nouveau vecteur, le plus proche de l'ancien, qui a ses extrémités sur les trames d'instants Ta et Tb, de façon à pouvoir estimer les fonctions DFD et grad L.

Conformément au cas précédent, les quatre estimations de déplacement sont menées en parallèle à partir de 4 valeurs initiales , , et . Un point est considéré comme convergent, quand au moins une des 4 valeurs de déplacement , , , et donne une valeur absolue de la différence inter-trames déplacée DFD(z,Di) inférieure à un seuil S prédéfini, pour un numéro d'itération i supérieur ou égal à zéro (i = 0 désignant une valeur initiale) et inférieur ou égal au numéro d'itération maximal i MAX. Si aucune valeur de déplacement ne donne une valeur DFD inférieure ou égale à S, le point est considéré comme divergent, mais il lui est attribué malgré tout un déplacement, celui qui parmi donne la valeur absolue de la différence inter-image déplacée DFD la plus faible.

A chaque itération (de 0 à i MAX), le procédé donne quatre valeurs de DFD(Di) qui sont comparées au seuil S.

Le déplacement retenu est le premier qui donne la valeur DFD inférieure ou égale au seuil S. Si plusieurs déplacements possèdent une valeur DFD inférieure ou égale à S à la même itération, celui qui donne la différence inter-trames déplacées DFD la plus faible est choisi. En cas de nouvelle égalité sur la valeur de DFD, un choix arbitraire est effectué dans l'ordre : , , , .

A chaque itération i depuis la valeur i = 0 jusqu'à une valeur iMAx sont associés ainsi un déplacement Di, une différence inter-trames déplacées DFD et un nombre d'itération i.

La décision est prise sur le nombre d'itérations le plus faible, puis sur la différence inter-trames déplacées DFD minimale, puis ensuite selon éventuellement un choix arbitraire.

Pour tenir compte du fait que les champs de mouvement sont nécessairement corrélés d'une image à l'autre, les procédés décrits précédemment doivent être modifiés dans leur phase d'initialisation pour introduire un vecteur déplacement temporel supplémentaire ; la difficulté étant, pour propager temporellement d'estimation, de trouver dans le champ de mouvement estimé précédent, le déplacement qui convient le mieux au point courant où est appliqué l'algorithme d'estimation de déplacement.

Selon une première méthode, il est possible d'utiliser comme valeur initiale, le déplacement du point de mêmes coordonnées spatiales dans le champ de mouvement estimé précédent, comme cela est représenté aux figures 13a et 13b. Cependant cette méthode n'est valable que si les déplacements d'une image à l'autre sont petits et il ne faudrait pas par exemple attribuer au point courant une valeur initiale fausse, ce qui aurait pour conséquence d'introduire des imprécisions supplémentaires dans l'estimation de mouvement.

Dans le cas où, selon une deuxième méthode, les images présentent de grands déplacements, il est nécessaire d'effectuer une prédiction temporelle du champ de mouvement courant à partir du champ de mouvement précédent, dans la direction du déplacement comme cela est figuré aux figures 13c et 13d. Cette prédiction temporelle sert ensuite à l'initialisation de l'estimation du déplacement.

La première méthode présente peu d'intérêt dans la mesure où elle peut introduire des imprécisions. Par contre, la valeur initiale temporelle est obtenue très facilement : il suffit de lire le mouvement attribué au point de mêmes coordonnées spatiales dans une mémoire de mouvement de l'image précédente.

La seconde méthode est plus performante : les déplacements estimés entre les trames Ta et Tb pour les points d'une trame fictive Tj-1 ou pour les points de la trame Ta ou de la trame Tb sont projetés suivant leur direction vers la trame suivante, dont on veut estimer le mouvement respectivement vers la trame Tj ou vers la trame Tb ou Tc, pour former l'image de prédiction. On obtient ainsi le champ de mouvement initial de prédiction temporelle servant à l'estimation de déplacement entre Tc et Tb pour les points de la trame Tj ou pour les points de la trame Tb ou de la trame Tc.

Ainsi, si Tx désigne indifféremment la trame (Tj, Tb ou Tc) sur laquelle est appliqué l'algorithme d'estimation de mouvement, la trame Tx-1 précédente contient par hypothèse un champ de mouvement défini par des vecteurs mouvements à deux composantes (DX et DY) en chacun de ses points. Le champ de mouvement est défini dans ces conditions pour tous les points de la trame Tx s'il existe en chaque point de la trame Tx un point correspondant dans la trame Tx-1. Le cas idéal est une bijection des points de la trame Tx-1 vers ceux de la trame Tx, chaque point de la trame Tx possédant dans ce cas un et seul correspondant dans la trame Tx-1.

Cependant en pratique cette configuration ne se rencontre pratiquement jamais, conformément aux figures 13e et 13f soit qu'il manque des correspondants, et il existe alors des trous dans le champ de prédiction, soit qu'il existe plusieurs correspondants, et des conflits apparaissent dans le champ de prédiction.

Ces difficultés sont surmontées par l'invention de la façon suivante.

Dans le cas où les déplacements sont estimés entre les trames Ta et Tb pour les points d'une trame fictive Tj-1 située entre Ta et Tb, le procédé selon l'invention consiste à définir pour chaque point de la trame fictive Tj suivante comprise entre la trame Tb et la trame suivante Tc une prédiction du vecteur mouvement à partir du champ de la trame fictive Tj-1 ; ce champ de mouvement étant défini par les vecteurs déplacement D = (DX,DY) de chaque point de la trame Tj-1. Pour cela comme le représente la figure 14 il est supposé que le mouvement entre les trames Tj-1 et Tj est linéaire, et chaque vecteur déplacement de la trame Tj-1 est prolongé jusqu'à la trame Tj où il crée un point d'intersection. Il y a ainsi autant de points d'intersection qu'il y a de pixels dans la trame Tj-1, certains pouvant être éventuellement confondus. Chacun de ces points d'intersection est de la sorte associé au vecteur mouvement qui l'a créé, et de ce fait chaque point d'intersection est porteur d'une information renseignant sur le mouvement des points de la trame Tj.

Le problème devient alors celui de définir quelle est la prédiction de mouvement à donner aux pixels de la trame Tj à partir des vecteurs déplacement des points d'intersection situés également sur la trame Tj.

A titre d'exemple, en considérant sur la figure 14 le champ de mouvement entre les trames Ta et Tb pour les points de la trame Tj-1, en appelant D=(DX,DY) le vecteur déplacement d'un point B situé sur cette trame, et en faisant l'hypothèse que le mouvement a lieu linéairement entre la trame Ta et la trame Tj, il est possible de considérer que le mouvement du point B peut être attribué au point C, point d'intersection du vecteur déplacement du point B dans la trame Tj.

Si le point B a pour coordonnées spatiales (X,Y), le point d'impact C a pour coordonnées spatiales

Cependant, comme au point d'intersection C ne correspond généralement pas un pixel de la trame Tj car les déplacements dans la trame ne sont généralement pas entiers et que le but est d'attribuer un vecteur de prédiction à chaque pixel P(Xp Yp) de la trame Tj, il est attribué au pixel de coordonnées les plus proches de celle du point d'intersection C le vecteur déplacement du point C, comme cela peut être perçu sur les exemples représentés aux figures 13c et 13d. Le vecteur déplacement Dô(P,Tj) qui est attribué au point P est dans ces conditions égale au vecteur déplacement D(B,Tj-1) du point B dans la trame Tj-1.

Pour le traitement des conflits, lorsque par exemple plusieurs quadruplets (X, Y, DX, DY) de la trame Tj-1 aboutissent à un même point de coordonnées (Xp, Yp) dans la trame Tj la solution qui est adoptée consiste à calculer la différence temporelle dans la direction du mouvement entre les trames Tc et Tb par vecteur déplacement reçu en ne retenant comme prédiction temporelle que le déplacement qui donne la différence DFD la plus petite. Eventuel- lement d'autres solutions peuvent encore être envisagées. Une deuxième solution peut par exemple consister à n'envisager de ne garder que le premier mouvement qui se présente : c'est-à-dire que lorsqu'un point de la trame Tj a reçu un mouvement, il ne pourra plus en recevoir d'autres. Cependant cette solution parait assez critique dans la mesure où il n'est pas possible de juger si le premier mouvement qui est attribué au point convient comme valeur initiale.

De plus, cette solution nécessite d'effectuer un test en chaque point pour savoir si un mouvement a été ou non attribué en ce point.

Selon encore une troisième solution il est encore possible d'envisager plus simplement de ne garder que le dernier mouvement qui se présente. Cependant un problème similaire à celui mentionné dans la deuxième solution subsiste. Dans le cas d'un mouvement où objet et fond se déplacent comme dans la deuxième solution en sens opposés, cette troisième solution donnera de bons résultats mais des mouvements de l'objet relativement au fond sont inversés il y a encore passage de l'objet derrière le fond.

Le traitement des trous a lieu de la manière suivante : Comme indiqué précédemment il peut arriver que certains pixels de la trame Tj ne se voient attribuer aucun mouvement (figure 13f). Ces trous dans le champ en mouvement de prédiction sont comblés par interpolation spatiale des vecteurs mouvement du plus proche voisinage. Pour ce faire, lorsque le procédé a associé aux pixels les plus proches des points d'impact les mouvements correspondants, il recherche les trous dans le champ de prédiction de la trame Tj ainsi obtenu, en alternant le sens de balayage horizontal une ligne sur deux.

Lorsqu'il est en présence d'un trou quatre points du voisinage sont alors considérés comme cela est représenté aux figures 15a et 15b. Dans. les configurations représentées aux figures 15a et 15b on suppose que les points du voisinage causal (A d'une part, B ou C selon le sens de balayage horizontal d'autre part) ont déjà été traités, et qu'ils possèdent un vecteur mouvement. Cependant, selon le sens du balayage les points C ou B et le point D peuvent ne pas posséder de vecteur mouvement et être aussi des trous. Dans ce cas, ils ne sont pas pris en compte pour l'interpolation. Dans ces cas le procédé attribue au trou le mouvement issu de la moyenne des vecteurs mouvement des points du voisinage spatial. Ce calcul se fait au mieux avec quatre vecteurs mouvement (points A, B, C et D) au pire avec deux vecteurs mouvement (points A, et B ou C selon le balayage, C ou B et D étant aussi des trous).

Le processus de prédiction temporelle pour des estimateurs de déplacement entre trames Tc et Tb pour des points appartenant à une trame Tc ou Tb est similaire.

En considérant, par exemple, comme ceci est représenté à la figure 16, le champ de mouvement entre les trames Ta et Tb calculé pour les points de la trame Tb et en faisant l'hypothèse d'un mouvement linéaire, le mouvement du pixel B de coordonnées spatiales (X,Y) dans la trame Tb peut être attribué à un point C de la trame Tc, de coordonnées spatiales (X1,Y1) qui est le point d'impact sur cette trame du vecteur mouvement attribué au point B. Dans ce cas les coordonnées (X1, Y1) vérifient la relation :où DX, DY désignent les composantes du vecteur déplacement D du point B dans la trame Tb et DEY désigne le décalage vertical éventuel entre les trames Tb et Tc (si trames de parités différentes).

Comme le point C ne correspond généralement pas à un pixel, c'est le pixel le plus proche du point C qui se voit attribué le vecteur mouvement du point C : En appelant P(XP,YP) le pixel le plus proche du point C, on obtient ainsi la relation

Les conflits et les trous du champ de prédiction sont traités de la même façon que précédemment. Les différentes étapes du processus de prédiction temporelle sont résumées sur l'organigramme de la figure 17. Une première étape 23 consiste à mémoriser les vecteurs déplacement des points de chaque trame Tj-1 ou Tb pour prolonger à l'étape 24 les vecteurs déplacements afin de déterminer leurs points d'impact sur les trames Tj ou Tc. A l'étape 25 les vecteurs déplacements sont attribués aux pixels les plus proches des points d'impact et les conflits entre vecteurs arrivant aux mêmes points d'impact sont réglés. Le traitement des trous a lieu à l'étape 26 et la mémorisation des champs de mouvement pour les trames Tj ou Tc est réalisée à l'étape 27. Pour obtenir une très bonne prédiction, il faut ajouter à la prédiction temporelle des champs de mouvement obtenus à l'étape 27 les prédictions obtenues précédemment dans le voisinage spatial causal du point courant.

Ceci conduit de par les exemples décrits précédemment à fixer à cinq le nombre des déplacements initiaux, quatre sont choisis dans le plus proche voisinage causal (récursion spatiale) et un est choisi par la méthode de prédiction temporelle décrite précédemment.

Dans ces conditions les procédés décrits par les organigrammes des figures 2 et 10 doivent être modifiés selon les figures 20 et 18 respectivement pour introduire dans chaque phase d'initialisation le paramètre de prédiction temporelle.

Selon une première étape représentée en 18 sur la figure 18, chaque point de la trame courante est considéré en balayant chaque ligne de cette trame. Le procédé exécute les traitements indiqués à l'étape 19 pour estimer 5 nouveaux déplacements à partir de quatre valeurs initiales de déplacement déterminées dans le voisinage causal du point courant, et à partir d'une valeur initiale de prédiction temporelle définie à l'étape 28. A la fin de l'exécution de l'étape 19, le procédé passe à l'exécution de l'étape 20 et fait le choix d'un déplacement parmi les 5 déplacements qui ont été estimés à l'étape 19. Le procédé se déroule ainsi par itérations successives, chaque fin d'exécution de l'étape 20 provoquant l'initialisation du point suivant et les déplacements sont enregistrés à l'étape 22.

Les cinq estimations de déplacement sont menées en parallèle à partir des 4 valeurs initiales spatiales , , , et de la valeur initiale . Un point est considéré comme convergent, quand au moins une des cinq valeurs de déplacement DAi, DBi, Df, D et DPi donne une valeur absolue de la différence inter-trames déplacée DFD(z,Di) inférieure au seuil S défini précédemment pour un numéro d'itération i supérieur ou égal à zéro (i=0 0 désignant une valeur initiale) et inférieur ou égal au numéro d'itération maximal iMAX(0≦i≦iMAX). Si aucune valeur de déplacement ne donne une valeur 1 DFD 1 inférieure ou égale à S, le point est considéré comme divergent mais il lui est attribué malgré tout un déplacement, celui qui parmi , donne la valeur absolue de DFD la plus faible.

A chaque itération (de 0 à iMAx), on obtient ainsi cinq valeurs de |DFD(DI) qui sont comparées au seuil S.

Le déplacement retenu est le premier qui donne une |DFD inférieure ou égale au seuil S. Si plusieurs déplacements sont obtenus à la même itération, celui qui donne la différence inter-image déplacée 1 DFD 1 la plus faible est choisi. En cas de nouvelle égalité sur |DFD|, un choix arbitraire est effectué dans l'ordre : , , , , . A chaque itération i(0≦i≦iMAX) est associé ainsi un déplacement Di, une différence inter-trames déplacées DFD et un nombre d'itération i.

La décision se prend alors sur le nombre d'itérations le plus faible, puis sur la différence inter-image déplacée DFD minimale pour ensuite faire éventuellement un choix arbitraire.

De manière similaire au procédé décrit à l'aide de l'organigramme de la figure 2, chaque point d'une trame courante Tc est considéré sur l'organigramme de la figure 20 en balayant chaque ligne de cette trame.

Le module du gradient au point courant | grad P(z,t) | est calculé à l'étape 2.

Un test sur ce module du gradient au point courant est effectué à l'étape 3.

  • . Si 1 grad P(z,t) 1 est faible, le choix d'un déplacement pour le point courant se fait à l'aide de l'organe de décision 4. Cinq valeurs initiales sont considérées : 4 dans le voisinage spatial causal et une valeur initiale de prédiction temporelle. Aucun calcul de terme de correction n'est effectué. Puis passage à l'étape 8.
  • . Si grad P(z,t) 1 est élevé, 5 nouveaux déplacements sont estimés en parallèle à l'étape 5 à partir des 5 valeurs initiales (4 spatiales + 1 temporelle). L'étape 6, consiste à choisir un déplacement parmi les 5 déplacements qui ont été estimés à l'étape 5. Chaque fin d'exécution de l'étape 4 ou 6 provoque l'initialisation du point suivant (étapes 7 et 9) et les déplacements sont enregistrés à l'étape 8.

Lorsque le gradient de l'image est faible, le choix d'un déplacement se fait de la manière représentée à la figure 21 parmi cinq valeurs initiales, le choix des quatre valeurs de déplacement spatiales s'effectuant selon des étapes 9 à 17 identiques à celles représentées à la figure 8 et le choix de la valeur de déplacement temporelle s'effectuant par l'exécution des étapes 30 et 31. Comme précédemment le déplacement retenu est celui qui parmi les déplacements , , , et donne la différence inter-image déplacée la plus faible. En cas d'égalité, le choix est effectué dans l'ordre , , , et . Cependant, si la différence inter-image déplacée n'est pas inférieure ou égale au seuil S de convergence, le déplacement choisi est remis à zéro. Lorsque le gradient de l'image courant est élevé les cinq estimations de déplacement sont menées en parallèle à partir des quatre valeurs initiales spatiales , , , et de la valeur initiale temporelle . Un point est considéré comme convergent, quand au moins une des cinq valeurs de déplacements , , , , donne une valeur absolue de la différence inter-trames déplacée DFD(z,Di) inférieure au seuil S défini précédemment pour un numéro d'itération i supérieur ou égal à zéro (i = 0 désignant une valeur initiale) et inférieur ou égal au numéro d'itération maximal iMAX(0≦i≦iMAX). Si aucune valeur de déplacement ne donne une valeur |DFD| inférieure ou égale à S le point est considéré comme divergent, mais il lui est attribué malgré tout un déplacement, celui qui parmi , , , donne la valeur absolue de DFD la plus faible.

A chaque itération (de 0 à iMAx), on obtient cinq valeurs de |DFD(z,Di) | qui sont comparées au seuil S.

Le déplacement retenu est le premier qui donne une |DFD| inférieure ou égale au seuil S. Si plusieurs déplacements sont obtenus à la même itération celui qui donne la différence inter-image déplacée 1 DFD 1 la plus faible est choisi. En cas de nouvelle égalité sur |DFD|, un choix arbitraire est effectué dans l'ordre : , , , , . A chaque itération, i(0≦i≦iMAX) est associé ainsi un déplacement Di une différence inter-trames déplacées DFD et un nombre d'itération i. La décision est prise sur le nombre d'itérations le plus faible, puis sur la différence inter-image déplacée DFD minimale pour ensuite faire éventuellement un choix arbitraire.

Selon encore d'autres modes de réalisation du procédé selon l'invention il est encore possible d'effectuer des modifications sur le nombre des vecteurs d'initialisation ou sur les sens de propagation du mouvement dans l'image.

Dans les procédés d'estimation de mouvement décrits ci-dessus, pour éviter de privilégier un sens de propagation horizontal du mouvement dans l'image, de la gauche vers la droite par exemple, le sens du balayage horizontal est inversé une ligne sur deux de façon alternée. Il va de soi que, pour éviter de privilégier un sens de propagation vertical du mouvement dans l'image, du haut vers le bas par exemple, il est aussi possible d'inverser le sens de balayage vertical une image sur deux de façon alternée. Sans le suivi temporel, l'alternance du balayage vertical parait inutile à cause de l'indépendance du calcul des champs de mouvement entre les images successives.

Mais la combinaison du suivi temporel et de l'alternance de la direction de la récursion permet d'obtenir un champ de mouvement plus précis, moins sensible à cette direction de récursion, et d'accélérer la convergence de l'estimateur en particulier dans le haut de l'image par rapport à une estimation à récursion purement spatiale de direction verticale haut vers bas.

Il est également possible de ne prendre, en plus du mouvement initial de prédiction temporelle, que 3 valeurs initiales spatiales de déplacement du voisinage causal : , , ou seulement 2 valeurs initiales : et (figures 4b et 4c). Ceci se justifie d'un point de vue réalisation : l'utilisation du mouvement estimé pour le point A comme prédiction de mouvement pour le point courant z empêche toute parallélisation de l'estimation sur la ligne courante. Cependant, avec la suppression de D disparaît la récursion horizontale et l'intérêt de l'alternance du balayage ligne) ce qui augmente l'effet de direction de récursion dans l'estimation du mouvement (essentiellement verticale).

Selon encore une autre variante de réalisation du procédé selon l'invention, l'alternance du sens de propagation du mouvement d'une trame à la suivante peut être obtenu par rotation. En effet, les relations (1) et (24) décrites précédemment définissent une relation entre les composantes horizontale et verticale du mouvement Dx et Dy, les gradients spatiaux de la luminance horizontal GX et vertical GY, et le gradient temporel dans la direction d'un mouvement initial DFD

  • tel queGX x DX + GY x DY = -DFD
  • et la fonction de correction de l'équation (1) D détermine une solution particulière de cette équation :avec G = (GX, GY)T

Dans ces conditions en présence d'un contour purement vertical (GX # 0, GY = 0), la composante DX est déterminée sans ambiguïté. Il en est de même pour la composante DY en présence d'un contour horizontal.

Or, dans une image, les gradients spatiaux ne sont pas répartis uniformément. D'où l'importance de la récursion dans la propagation des composantes significatives du mouvement : celle-ci doit être la plus isotrope possible pour créer un champ de mouvement précis et homogène.

C'est pourquoi il peut être envisagé de faire subir à chaque couple d'images sur lesquelles est estimé le mouvement une rotation d'un quart de tour : ceci permet de modifier la direction de récursion à chaque image. La combinaison de cette rotation et le suivi temporel favorisent l'accélération de la convergence de l'estimateur vers le mouvement réel.

Cette modification est particulièrement importante lorsque par exemple on ne dispose pas du vecteur de prédiction sur la même ligne que le point courant, ou d'une manière plus générale, lorsque le nombre de vecteurs de prédiction est réduit à 1 ou que le choix de ceux-ci réduit l'arc angulaire de propagation du mouvement par récursion en réduisant l'interdépendance spatiale des vecteurs estimés.

Cette modification peut être réalisée de la façon suivante :

  • 1. Les vecteurs d'initialisation restent les vecteurs : , et éventuellement définis précédemment.
  • 2. A chaque nouveau champ de mouvement à estimer, le nouveau couple d'images source subit une rotation. Cette rotation est alternativement de 0°, 90°, 180°, 270°, pour redevenir la même tous les 4 champs de mouvement.
  • 3. De même le champ de mouvement de prédiction temporelle subit la même rotation et le signe de l'une ou des 2 composantes du mouvement est modifié selon la rotation de façon à conserver les sens de déplacement positifs.
  • 4. Ainsi, les seules modifications intervenant dans l'estimateur sont relatives au format d'image : les paramètres de début et de fin de colonne DC et FC, et de début et fin de ligne DL et FL sont échangés à chaque nouveau couple d'images : DC prend la valeur de DL et vice versa, FC prend la valeur de FL et vice versa.
  • 5. En fin d'estimation du champ de mouvement, celui ci subit une rotation et un changement de repère qui l'amène à l'orientation originale, pour application hors estimation de mouvement et prédiction temporelle.

Un exemple de réalisation d'un premier dispositif d'estimation de déplacement mettant en oeuvre les phases du procédé représentées aux figures 20 et 21 est maintenant décrit à l'aide des figures 22 à 24. Il se compose sur la figure 22 d'un ensemble de mémoires ligne 32, d'une mémoire d'image 33, d'un dispositif de détermination du sens de balayage et de calcul du module du gradient courant 34, d'un dispositif d'aiguillage 35, des organes de décision 36 et 37 et d'estimation de déplacement 38, un dispositif d'initialisation 39 et un dispositif de prédiction temporelle 40 couplé à des mémoires de mouvements prédits 41 et 42. Le dispositif de détermination du sens de balayage et de calcul du module du gradient courant 34 reçoit ses informations de l'ensemble des mémoires lignes 32 et fournit le résultat des calculs au dispositif d'estimation de déplacement 38 et au dispositif d'aiguillage 35. Le dispositif d'estimation 38 de déplacement possède deux entrées qui sont reliées d'une part, à la sortie de l'ensemble des mémoires ligne 32 au travers du dispositif de détermination du sens de balayage et de calcul du gradient courant 20 et d'autre part, à la sortie de la mémoire d'image 33. La mémoire ligne 32 sert de tampon à la mémoire d'image 33 pour stocker les informations de rafrai- chissement de la mémoire d'image 33 en attendant que les points analysés soient en dehors de la fenêtre d'exploration. Avec une fenêtre d'exploration occupant un espace de 10 lignes du type décrit à la figure 7, une mémoire ligne ayant une capacité de stockage de points correspondants à 5 lignes successives parait suffisante. Les calculs effectués ont lieu à la fréquence point, au rythme d'impulsions d'horloge Hl et Hk fournies par une horloge ligne non représentée. Le dispositif 34 détermine le numéro de la ligne courante 1 et en fonction de la parité du numéro de la ligne courante 1 il détermine le numéro de la colonne du point courant k. Disposant alors des coordonnées (k,l) du point courant le dispositif 34 calcule le module du gradient courant. Le dispositif d'aiguillage 35 compare le résultat du calcul fournit par le dispositif 34 à un seuil de référence Sg et conformément à l'algorithme représenté à la figure 20 valide son entrée 1 ou 2. L'entrée 1 est choisie si |grad I(z,t) | ≦ Sg et l'entrée 2 est choisie si grad I(z,t) > Sg. Les organes de décision 36 et 37 ont les fonctionnalités décrites par l'organigramme de la figure 21, et peuvent être réalisées de façon connue, soit à l'aide d'une structure microprogrammée du type à microprocesseur, soit encore à l'aide d'une logique câblée composée de façon connue par des circuits comparateurs.

Un mode de réalisation d'un dispositif d'estimation de déplacement 38 est représenté à la figure 23. Il est constitué par un ensemble de calcul formé par les éléments 43 à 67. Ce dernier fournit les informations de déplacement , , , , à l'organe de décision 36 qui les transmet à l'entrée 2 du dispositif d'aiguillage 35, figure 22. Le bloc de l'initialisation 39 également représenté figure 23 permet d'initialiser l'algorithme de calcul de déplacement. Le bloc 39 comprend un premier registre 68 et un deuxième registre 69. Ces registres sont formés de trois parties distinctes, une pour mémoriser des mots binaires représentant le mot de déplacement en x ou en y appelés respectivement MDX et MDY, une autre pour servir de mémoire tampon aux mots de déplacement MTDX et MTDY calculés par l'organe de décision 36 et la dernière pour mémoriser les mots de prédiction de déplacement temporel MPDX et MPDY.

En utilisant les notations précédentes on a

  • MDX = (FC-DC-2DXMAX+3) déplacements
  • MDY = (FC-DC-2DXMAX+3) déplacements
  • MTDX = 1 déplacement
  • et MTDY = 1 déplacement

Au début de chaque trame d'images l'ensemble des mots MDX, MDY, MTDX et MTDY est remis à zéro. MTDX et MTDY sont utilisés en tant qu'intermédiaires avant d'écraser les mots MDX et MDY correspondant aux déplacements D(k-1, 1-1) pour le passage à l'analyse du point suivant (k+1,1). Il servent également d'intermédiaires avant d'écraser les mots MDX et MDY correspondant aux déplacements D(k+1,1-1) pour le passage à l'analyse du point suivant (k-1,1).

Lorsque k est égal à FC, le déplacement estimé D(FC,I) est placé automatiquement dans les mots (MTDX,MTDY) ainsi que dans les mots de (MDX,MDY) correspondant aux déplacements D(FC,I) et D(FC+1,1).

Quand k est égal à DC, le déplacement estimé D(DC,I) est mis automatiquement dans les mots (MTDX,MTDY) ainsi que dans les mots de (MDX,MDY) correspondant aux déplacements D(DC,I) et D(DC-1,1).

Le dispositif de calcul des estimations de déplacement, composé des éléments 43 à 67, effectue cinq calculs de déplacements en parallèle à partir de quatre valeurs initiales, , , , , contenues dans le bloc d'initialisation 39 lorsque le gradient spatial de l'image courante est supérieur au seuil Sg défini précédemment. Les informations , , , DC sont appliquées respectivement sur des premières entrées des circuits aiguilleurs 43, 48, 53, 68 et 63 dont les sorties sont reliées à des blocs de test de convergence et de calcul de termes de corrections notés respectivement (44,45), (49,50), (54,55), (59,60) et (64,65). Les résultats des tests de convergence et le calcul des termes de correction sont appliqués sur des entrées de dispositifs d'aiguillage notés respectivement 46, 51, 56, 61 et 66 qui les dirigent ensuite, soit sur des entrées respectives de l'organe de décision 36, soit sur des dispositifs de calcul de nouveaux déplacements, notés respectivement 47, 52, 57, 62 et 64, lorsque la résolution de l'algorithme décrit précédemment diverge pour i inférieur à iMAX. Les nouveaux déplacements fournis par les dispositifs de calculs 47, 52, 57, 62 et 67 sont appliqués respectivement sur les deuxièmes entrées des dispositifs d'aiguillages 43, 48, 53, 68 et 63.

Les détails de réalisation d'un bloc de test de convergence 44 associés à un bloc de calcul des termes de corrections 45 et à un bloc de calcul de nouveaux déplacements 47 sont représentés à la figure 24 à l'intérieur de lignes en pointillées. Le bloc de test de convergence 44 comprend d'une part, un circuit d'interpolation 70 couplé à un dispositif 71 de calcul de valeur absolue de la différence inter-image déplacée 1 DFD |, ce dernier étant couplé à l'organe de décision 36 au travers des commutateurs 72, 73 et d'autre part, un dispositif de calcul de gradient 74 couplé à un dispositif de calcul 75 de la somme des carrés des gradients déplacés. Le circuit d'interpolation 70, formé éventuellement par une mémoire morte programmable, est également couplé à la mémoire d'images 33. Le bloc de calcul des termes de correction 45 comprend un dispositif de calcul 76 de la valeur s décrite précédemment couplé à un dispositif de calcul d'incrément 77 et à un dispositif de calcul 78 de valeurs de correction, ainsi que des circuits comparateurs 79 et 80.

Le bloc de calcul de nouveaux déplacements 47 comprend des circuits soustracteurs 81 et 82 couplés tous deux à un circuit comparateur 83. Le couplage entre le bloc de test de convergence 44 et le bloc de calcul des termes de correction 45 est réalisé par le commutateur 46 de la figure 23. L'entrée du commutateur 46 est couplée directement à la sortie du dispositif de calcul 75 et à la sortie du dispositif de calcul 71 au travers des commutateurs 72 et 73. D'autre part, comme sur la figure 23, le bloc d'initialisation 39 est couplé au bloc de test de convergence 44 par l'intermédiaire du commutateur 43. Ce commutateur relie le bloc d'initialisation 39 d'une part, à une première entrée du circuit d'interpolation 70 et d'autre part, à une première entrée du dispositif de calcul 74. La deuxième entrée du commutateur 43 est également couplée à la sortie du bloc de calcul du nouveau déplacement 47 qui est formée par le circuit comparateur 83.

Le fonctionnement du dispositif d'estimation de déplacement est le suivant. Pour chacun des points courant de l'image, le commutateur 43 transmet une valeur initiale Do, trouvée dans le registre 39, au circuit d'interpolation 70 et au dispositif de calcul de gradient 74. Un calcul d'interpolation bilinéaire sur la valeur Do est effectué par le circuit d'interpolation 70 pour déterminer la luminance du point courant déplacé dans l'image précédente I(z-Do, t-1). La différence inter-image déplacée DFD(z,Do) et sa valeur absolue sont calculées par le dispositif de calcul 71 à partir de l'information de luminance du point courant. Le commutateur 72 transmet la valeur calculée par le dispositif de calcul 71 à destination de l'organe de décision 36 lorsque la valeur obtenue est inférieure ou égale au seuil S précédemment défini. Le déplacement Do et la valeur absolue de la différence inter-image déplacée DFD(D0) sont appliqués aux entrées de l'organe de décision 36. Dans le cas contraire, le résultat fourni par le dispositif de calcul 71 est appliqué à l'entrée du commutateur 73 puis à celle de l'organe de décision 36 lorsque la valeur de l'itération i est égale à la valeur d'itération maximale iMAx. Par contre, lorsque la valeur de l'itération i est inférieure à la valeur maximale, le résultat est appliqué aux entrées du bloc de calcul de correction 45 au travers du commutateur 46.

Au cours de ces calculs, qui sont effectués durant un temps t depuis l'instant t=0, les gradients déplacés gradx et grady et le terme G2 = 2.(grad2x + grad2y) sont calculés par le dispositif de calcul 75.

Suivant la valeur de G2, le commutateur 46 dirige le résultat obtenu soit en direction de l'organe de décision 36 si la valeur de G2 obtenue est inférieure ou égale à une valeur de coefficient égale par exemple à 0,125, soit vers le bloc de calcul des termes de correction de nouveaux déplacements 45 et 47.

Le dispositif de calcul 76 calcule la valeur s =1/G2. La valeur de l'itération i est augmentée de une unité par le dispositif de calcul d'incrément 77 et est remis à zéro à l'analyse du point courant suivant. Le calcul des termes (TC)X et (TC)Y de correction en X et Y est effectué par le circuit 78. Les valeurs (TC)X et (TC)Y obtenues sur les sorties du dispositif de calcul 78 vérifie les relations

  • (TC)" = DFD(z,Di) x gradx(Di) x
  • et (TC)y = DFD(z,Di) x grady(D) x

Les valeurs (TC)X et (TC)Y obtenues sont appliquées respectivement aux entrées des circuits comparateurs 79 et 80 pour être limités, à des conditions de signes près, à des valeurs maximales et minimales. Suivant un mode préféré de réalisation de l'invention les valeurs minimales de (TC)" et de (TC)Y sont les mêmes et fixées à 1/16, par contre la valeur maximale de (TC)" est fixée égale à 3 et la valeur maximale de (TC)Y est fixée égale à 2. Les termes (TC)x et (TC)Y obtenus sont ajoutés aux valeurs de déplacement de et par les circuits soustracteurs 81 et 82 et les résultats obtenus et qui correspondent aux déplacements estimés sont à nouveau limités par le circuit comparateur 83 avant d'être appliqués sur la deuxième entrée du commutateur 43. A i'itération i suivante (i = 2) le commutateur 43 applique les déplacements estimés ; et aux circuits 70, 74, 81 ou 82.

En sortie de l'organe de décision 36 un déplacement est choisi pour le point courant et est écrit dans la mémoire tampon 39 contenant les mots MTDX et MTDY. i est remis à zéro et le commutateur 43 retourne sur sa position de départ et les calculs décrits précédemment sont recommencés pour estimer le déplacement du nouveau point courant. Un exemple de réalisation d'un deuxième dispositif d'estimation de déplacement mettant en oeuvre les phases du procédé représentées à la figure 18 est montré aux figures 25 et 26. Le dispositif représenté à la figure 25 diffère essentiellement de l'exemple décrit à la figure 22 par le fait qu'il ne possède qu'un organe de décision 36 et qu'il ne possède pas de dispositif d'aiguillage 35. De la sorte les éléments similaires à ceux de la figure 22 sont représentés avec les mêmes références.

Le dispositif d'estimation de nouveaux déplacements a une structure similaire à celle qui a été décrite à l'aide de la figure 23 seule diffère légèrement la structure du dispositif de calcul des estimations de déplacement dont un mode de réalisation correspondant est représenté à la figure 26. La différence porte essentiellement sur l'utilisation de deux circuits d'interpolation 70 et 70 bis et de deux dispositifs de calcul 74 et 74 bis au lieu respectivement d'un seul de ceux-ci.

Comme tous les autres éléments ont des structures similaires à celles de la figure 2, ceux-ci sont représentés sur la figure 26 avec les mêmes références.

Le fonctionnement du dispositif d'estimation de déplacement est le suivant. Pour chacun des points courants de l'image, le commutateur 43 transmet une valeur initiale de déplacement Do, trouvée dans les registres 39 à destination des circuits d'interpolation 70 et 70 bis et des dispositifs de calcul de gradient 74 et 74 bis. La valeur Do initialise l'estimation. Un calcul d'interpolation bilinéaire est effectué, d'une part, par le circuit d'interpolation 70 pour déterminer la luminance L(z-Dox(Tj-Ta)/(Tb,Ta),Ta) du point courant (z,Tj) déplacé dans la trame précédente d'instant Ta de la valeur Do x(Tj-Ta)/(Tb-Ta) et d'autre part, par le circuit d'interpolation 70 bis pour déterminer la luminance L(z+Dox(Tb-Tj)/(Tb,Ta),Tb)) du même point courant déplacé cette fois dans la trame suivante Tb de la valeur Do x(Tb-Tj)/(Tb-Ta).

La différence inter-trames déplacées DFD(z,Do) et sa valeur absolue sont calculées par le dispositif de calcul 71. Le commutateur 72 transmet la valeur calculée par le dispositif de calcul 71 à destination de l'organe de décision 36 lorsque la valeur obtenue est inférieure ou égale au seuil S précédemment défini. Le déplacement Do et la valeur absolue de la différence inter-trame déplacée DFD(Do) sont appliqués aux entrées de l'organe de décision 36. Dans le cas contraire, le résultat fourni par le dispositif de calcul 71 est appliqué à l'entrée du commutateur 72 puis, à celle de l'organe de décision 36, lorsque la valeur de l'itération i est égale à la valeur d'itération maximale iMAx. Par contre, dans les autres cas lorsque la valeur de l'itération i est inférieure à la valeur maximale, le résultat fourni par le dispositif de calcul 71 est appliqué aux entrées du bloc de calcul de correction 45 au travers du commutateur 46.

Au cours de ces calculs qui sont effectués durant un temps T depuis l'instant t = 0, les gradients au point courant déplacé dans chaque trame d'instants Ta et Tb (grad Xa, grad Ya) et (grad Xb, grad Yb) sont calculés parallèlement dans les dispositifs 74 et 74 bis. Puis des valeurs de gradients grad X et grad

  • Y déterminées par les relations
  • 2 x grad X = grad Xa + grad Xb
  • 2 x grad Y = grad Ya + grad Yb


sont calculés par le dispositif 75. Le dispositif de calcul 75 bis calcule ensuite un terme de type G2 = 2 x(grad2X+grad2y).

Les parités relatives des trames des instants Ta et Tj sont prises en compte dans les circuits 70 et 74 et les parités relatives des trames d'instants Tb et Tj sont prises en compte dans les circuits 70 bis et 74 bis.

Suivant la valeur de G2, le commutateur 46 dirige le résultat obtenu soit en direction de l'organe de décision 36 si la valeur de G2 obtenue est inférieure ou égale à une valeur de coefficient égale par exemple à 0,125, soit vers le bloc de calcul des termes de correction de nouveaux déplacements 45 et 47.

Le dispositif de calcul 76 calcule comme précédemment la valeur définie précédemment. La valeur de l'itération i est augmentée de une unité par le dispositif de calcul d'incrément 77 et est remis à zéro à l'analyse du point courant suivant. Le calcul des termes (TC)" et (TC)Y de correction en X et Y est effectué par le circuit 78. Les valeurs (TC)" et (TC)Y obtenues sur les sorties du dispositif de calcul 78 vérifient les relations

  • (TC)" = DFD(z,Di) x gradx(Di) x
  • et (TC)Y = DFD(z,Di) x grady(Di) x

Les valeurs (TC)X et (TC)Y obtenues sont appliquées respectivement aux entrées des circuits comparateurs 79 et 80 pour être limitées, à des conditions de signes près, à des valeurs maximales et minimales. Suivant un mode préféré de réalisation de l'invention les valeurs minimales de (TC)X et de (TC)Y sont les mêmes et fixées à 1/16, par contre la valeur maximale de (TC)" est fixée à 3 et la valeur maximale de (TC)Y est fixée égale à 2. Les termes (TC)X et (TC)Y obtenus sont ajoutés aux valeurs de déplacement de et par les circuits 81 et 82 et les résultats et qui correspondent aux déplacements estimés sont à nouveau limités par le circuit comparateur 83 avant d'être appliqués sur la deuxième entrée du commutateur 43. A l'itération i suivante (i=2) le commutateur 43 applique les déplacements estimés et aux circuits 70, 70 bis, 74, 74 bis, 81 et 82.

En sortie de l'organe de décision 36 un déplacement est choisi pour le point courant et est écrit dans les zones MTDX et MTDY de la mémoire tampon 39. La valeur de l'itération i est remise à zéro, le commutateur 43 retourne sur sa position de départ et les calculs décrits précédemment sont recommencés pour estimer le déplacement du nouveau point courant.

Un mode de réalisation d'un dispositif de prédiction temporelle est représenté à la figure 27. Il comprend un dispositif de calcul 84 couplé à deux mémoires 85 et 86 au travers d'un commutateur 87. Les sorties des mémoires 85 et 86 sont reliées à un autre dispositif de calcul 88 au travers d'un commutateur 89.

Le dispositif de calcul 84 est formé par une mémoire morte ou tout dispositif équivalent et est adressée par le vecteur mouvement courant estimé. Il calcule le point d'impact dans l'image ou la trame suivante, et le pixel le plus proche de ce point d'impact, auquel il associe le vecteur mouvement courant. Le commutateur 87 dirige ce vecteur vers l'une des mémoires 85 ou 86. Ces mémoires 86 et 87 sont montées en "Flip-Flop". En sortie de celles-ci, le commutateur 89 choisit la mémoire qui est en lecture. Le dispositif de calcul 89 détecte et bouche les trous dans le champ de mouvement prédit temporellement. La sortie du dispositif de calcul 88 est reliée au bloc d'initialisation 39. Dans ce dispositif, la résolution des conflits se fait simplement par écrasement par le nouveau vecteur associé au point courant du précédent vecteur associé à ce point.

Dans les modes de réalisation de l'invention précités il est clair que plus le nombre des points pris en compte et le nombre d'itérations pour effectuer les calculs sont grands plus les temps de calcul doivent être importants. Dans ces cas pour limiter au maximum les temps de calcul une amélioration des procédés de calculs précédents peut consister à ne faire exécuter les calculs qu'en une seule itération en limitant les calculs de gradients spatiaux à l'examen seulement des luminances des quatre points les plus proches du point extrémité du vecteur déplacement situé dans la trame courante.

Le procédé se résume alors, à calculer, en une seule itération et pour chaque vecteur déplacement estimé Dpj, une valeur DFD(Dj) de différence inter-images déplacées entre la luminance du point courant et sa valeur de luminance dans la trame précédente décalée de la distance Dpj, à comparer entre elles des valeurs DFD obtenues pour sélectionner le vecteur de déplacement estimé Dpj qui correspond à la valeur DFD(Dpj) la plus faible et à calculer le vecteur déplacement courant Dj par exécution de l'algorithme de gradient à partir du gradient spatial du point extrémité du vecteur déplacement situé dans la trame courante et de la valeur DFD(Dpj) correspondante.

A la différence des procédures décrites précédemment, le procédé représenté à la figure 28 permet d'effectuer des estimations de mouvement suivant l'une ou l'autre des variantes de réalisation de l'invention à l'aide d'une seule itération. Selon une première étape représentée en 100 à la figure 28 une valeur de différence inter-trame déplacée DFD(Dpj) est calculée pour chaque vecteur déplacement Dpj estimée. Puis à l'étape 101 une comparaison entre les valeurs absolues DFD est effectuée pour sélectionner le vecteur déplacement Dpj qui donne lieu à la différence inter-image déplacée minimum. L'estimation du vecteur déplacement courant Dj est alors effectuée par l'exécution des étapes 102 à 107. A l'étape 102 le gradient spatial aux extrémités du vecteur déplacement Dpj est calculé. Ce calcul est effectué en considérant dans chaque trame comme montré à la figure 29 les quatre pixels les plus proches de l'extrémité du vecteur déplacement Dpj contenu dans cette trame. Sur la figure 2, Li, L2, L3 et L4 désignent les luminances de chacun de ces points. La valeur du gradient spatial de composantes (GX, GY) suivant les directions horizontale X et verticale Y de balayage de l'image est donnée en fonction des valeurs L1, L2, Ls et L4 par les relationset

Cette opération est effectuée pour les trames Ta et Tb. Le gradient Dpj est la moyenne des deux vecteurs gradients.

Le calcul du nouveau vecteur déplacement Dj a leur à l'étape 104 par application de la formule du gradient précédente après avoir évalué à l'étape 103, de la manière décrite précédemment, les termes de correction à appliquer. Naturellement, comme cela a été expliqué précédemment les composantes du vecteur déplacement Dj calculées doivent être limitées et un test est effectué aux étapes 105 et 106 pour vérifier que la valeur Dj obtenue est comprise entre deux valeurs de déplacement prédéterminées -Dmax et + Dmax. Si tel n'est pas le cas, la valeur de Dj qui est retenue est celle du déplacement Dpj sélectionnée à l'étape 101.

Cette opération est effectuée pour chaque composante séparément. Il est possible d'effectuer un filtrage spatial du champ de mouvement ainsi obtenu par composante (horizontale et verti cale). Ceci a l'avantage d'une part de le débruiter, d'autre part de l'homogénéiser et de le préciser dans les zones de l'image à luminance homogène, ou l'information mouvement n'est pas directement mesurable. Ce filtrage peut être effectué avant projection temporelle pour la définition du nouveau champ de prédiction. Il peut consister par exemple en un filtrage médian qui a pour effet de débruiter le signal, suivi d'un filtrage moyenneur qui permet de préciser en particulier le mouvement des zones homogènes.

Comme dans les procédés décrits précédemment, pour éviter de privilégier un sens de propagation du mouvement dans l'image horizontal ou vertical il est toujours possible soit d'inverser le sens de balayage horizontal d'une ligne sur deux de façon alternée soit encore d'inverser le sens de balayage vertical d'une image sur deux de façon alternée. Mais il est encore possible de faire subir à chaque couple d'image sur lequel est estimé le mouvement une rotation d'un quart de tour de façon à modifier la direction de récursion à chaque image pour que la combinaison de cette rotation et du suivi temporel favorisent l'accélération de la convergence de l'estimateur de mouvement vers le mouvement réel. De même pour combler les trous existants dans le champ de prédiction du mouvement après projection temporelle le procédé qui consiste pour le trou courant à considérer les vecteurs s'ils existent des quatre pixels environnants et à définir le vecteur mouvement par la moyenne des composantes des vecteurs existants reste valable. Les trous sont examinés des manières représentées aux figures 30, 31 et 32 en alternant le balayage ligne. Les vecteurs existants sont alors au nombre de quatre au maximum et au nombre de deux au minimum, les pixels situés dans la partie causal ayant déjà été traités. Toutefois deux variantes de réalisation sont encore possibles. Une première peut consister à sélectionner le vecteur qui minimise la valeur absolue de la différence inter-image déplacée DFD pour le pixel trou courant afin de préciser le vecteur associé au trou en reprenant le vecteur indiqué ci-dessus. Une deuxième variante peut aussi consister à sélectionner le vecteur le plus proche de la moyenne des vecteurs. D'autre part, dans le cas de certaines réalisations il peut aussi être envisagé de ne pas prendre en compte le vecteur du pixel précédent si celui-ci correspond à un trou ceci pour des questions de parallélisation du traitement. Il est alors possible de travailler suivant la première variante ou de prendre le vecteur du dernier pixel qui n'était pas un trou suivant la deuxième variante de la façon représentée aux figures 33 et 34.

Naturellement la méthode de prédiction temporelle qui exploite largement la corrélation temporelle du mouvement et permet une convergence rapide de l'algorithme récursif est encore applicable. Cependant de la même façon que plusieurs vecteurs spatiaux sont sélectionnés a priori dans leur environnement causal il est aussi possible de sélectionner plusieurs prédicteurs temporels. Par exemple, plusieurs champs de prédiction du movement peuvent être obtenus par différents filtrages, au moyen par exemple d'une batterie de filtres 108, 109, du champ du mouvement issu de la projection temporelle mémorisé par exemple dans une mémoire 110 comme cela est représenté à la figure 35. Selon l'importance du filtrage du champ de mouvement le champ prédicteur pourra être soit adapté aux zones de rupture du mouvement ou au contraire aux zones de l'image à mouvement homogène.

Une mise en oeuvre du procédé qui vient d'être décrit peut naturellement être effectuée au moyen des dispositifs décrits précédemment, comme elle peut également avoir lieu comme pour l'exécution des procédés précédents en utilisant des structures de microprocesseurs connues convenablement programmés.

高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈