FR2637100A1 - Procede et dispositif d'estimation de mouvement dans une sequence d'images animees - Google Patents

Procede et dispositif d'estimation de mouvement dans une sequence d'images animees Download PDF

Info

Publication number
FR2637100A1
FR2637100A1 FR8812468A FR8812468A FR2637100A1 FR 2637100 A1 FR2637100 A1 FR 2637100A1 FR 8812468 A FR8812468 A FR 8812468A FR 8812468 A FR8812468 A FR 8812468A FR 2637100 A1 FR2637100 A1 FR 2637100A1
Authority
FR
France
Prior art keywords
displacement
frame
point
image
vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR8812468A
Other languages
English (en)
Other versions
FR2637100B1 (fr
Inventor
Philippe Robert
Patrick Pineau
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thales SA
Original Assignee
Thomson CSF SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thomson CSF SA filed Critical Thomson CSF SA
Priority to FR8812468A priority Critical patent/FR2637100B1/fr
Priority to FR898907673A priority patent/FR2648254B2/fr
Priority to AU43208/89A priority patent/AU625342B2/en
Priority to US07/487,956 priority patent/US5089887A/en
Priority to ES89402603T priority patent/ES2065408T3/es
Priority to AT89402603T priority patent/ATE115750T1/de
Priority to EP89402603A priority patent/EP0360698B1/fr
Priority to JP51022589A priority patent/JP3247105B2/ja
Priority to PCT/FR1989/000482 priority patent/WO1990003619A1/fr
Priority to DE68919965T priority patent/DE68919965T2/de
Priority to CN89108176A priority patent/CN1044159C/zh
Priority to NZ230769A priority patent/NZ230769A/en
Publication of FR2637100A1 publication Critical patent/FR2637100A1/fr
Application granted granted Critical
Publication of FR2637100B1 publication Critical patent/FR2637100B1/fr
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • H04N5/145Movement estimation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/269Analysis of motion using gradient-based methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Television Systems (AREA)
  • Image Analysis (AREA)

Abstract

Le procédé consiste à 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.

Description

Procédé et dispositif d'estimation de mouvement
dans une séquence d'images animées
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 à 18 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 mouvement 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 la et lb 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 un 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 A apporter à l'organes gramme 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.
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. ROBINS.
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 - Di(z,t)=Di-1(z,t)- .DFD(z,Di .grad I(z-Di-1,t-T) (1) - ou 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.
- l(z,t) est la luminance du point courant P(z,t) à l'instant t.
- Di(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
DFD(z,D) = I(z,t) - I(z-D,t-T) (2) - 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 E désigne le gain de l'algorithme.
Pour améliorer la vitesse et la précision de convergence de l'algorithme, 6 est défini par la relation # = 1/2.|grad I(z-D. i-1,t-1|2 (3)

grad I(z-Di-1,t-1)|2 = grad2xI(z-Di 1,t-1) + grad2 yI(z-Di- 1,t-1) (4)
avec la condition que si grad I(z-D. i-1,t-1)|2 =0, alors = 0 (5)
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 la, 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 la). Le champ de mouvement obtenu est donc attribué à la trame Ta ou à la trame Tb (Tb en figure la).Suivant que le mouvement est estimé dans la trame Ta ou dans la trame Tb le vecteur déplacement D de chaque pixel de composante de
e luminance horizontale et verticale IX et IY est défini par des relations de la forme
DefIX,IY,Ts) = DX, DY ou De (IX,IY,Tb) = DX, DY
En considérant par exemple que chaque point courant
P(z,Tb) se trouve dans la trame Tb, chaque vecteur déplacement 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 D(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 lb.
Cette configuration permet d'exploiter le champ de mouvement obtenu par des estimateurs de mouvement comprenant un interpc'ateur 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 temporellement d'une demi-période image) : la ligne l de la trame paire se trouve à égale distance des lignes l 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 8. l'étape 7 I'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 DXNtAX 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 A 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'algo rithme 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 D0A, D0B, D0C et D0D 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 gradx = I(k,l)-I(k-l,l); grad = I(k,l)-I(k,l-1) (8) pour une ligne paire le gradient vérifie la relation gradx = I(k+1,I)-I(k,l) ; grad = I(k,l)-I(k,l-l) (9)
y
Avec |grad I(z,t) | = (grad2x + grad2y) (10)
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 seull 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=(Dx ,D ) est
y décomposé suivant ses deux composantes D et D suivant les
x y relations :
D = ID + FDX et D = ID + FDy, où ID et FD désignent
x x x y y y 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, n08 d'Août 1984 ayant pour titre "Movement compensated inter-trame prediction 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 1B 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
n notations de la figure 6 par la relation 1B = I5.(1-FDx).(1-FDy)+I6.FDx.(1-FDy) +I2.(1-FDx) ).FD + I1.FDx.FDy (11)
y y
Le gradient horizontal est I = (I5-I6+I2- I1)/2 (12)
x 5 6 2 Iî)/2 (12)
Le gradient vertical est I = (I5-I2+I6-I1)/2 (13)
y 6 Iî)/2
Si FDX = O 1x = (I4-I6+I3-I1 )/4 (14)
Iy = (I5-I2) (15)
Si FD = 0 1x = (I5-I6) (16)
I = (I7-I1+I8-I2)/4 (17) Si FDX = O et FD = 0
x y
1x = (I4-I6+ I3-I1)/4 (18) I = (I -I +
Iy = (I7-I1+I8-I2)/4 (19)
Pour limiter les risques de divergence ou d'annulation des termes de correction ceux-ci sont majorés et minorés. On a
Dix = Di-1x - (terme de correction)x (20)
Diy =Di-1y - (terme de correction)Y (21) (terme de correction)X=DFD(z,D. i-1).gradx I(z-Di-1,t-1). (22) (terme de correction)y=DFD(z,Di-1).grady l(z-Di -1,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 FD sont différents de zéro, et la
x y 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 | (terme de correction) | < 1/16, alors le (terme de correction) sera pris égal à +1/16
2. Si | (terme de correction)xt > 3, alors lé (terme de correction) x sera pris égal à +3
3. Si | (terme de correction)y| > 2, alors le (terme de correction)# serapris égal à #2
Egalement dans ce mode de réalisation on pourra prendre à titre d'exemple comme déplacement maximal en x, DMAXx = #15 et comme déplacement maximal en y, DJYiSAX =#5
MAX -
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 LMS(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 D0A, D0B, D0C et D0D.
Un point est considéré comme convergent, quand au moins une des 4 valeurs de déplacement DAi X DB, DC et DD donne une
I I valeur absolue de la différence inter-image déplacée DFD(z,D1) 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 = O désignant une valeur initiale) et inférieur ou égal au numéro d'itération maximal iMAX (O # 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 DiMAxA, DiMAXB , DiMAXC ,
D iMAX 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 = O). Le critère de décision consiste alors à choisir le déplacement qui parmi les valeurs D0A, D0B, D0C et D0D 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 D0A, D0B, D0C D et D0D (é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 |DF-D(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 z DFD| la plus faible est choisi. En cas de nouvelle égalité sur |DFD|, un choix arbitraire est effectué dans l'ordre : B Dg C D dans l'ordre : DiA, DiB, DiC, D iD .
A chaque itération i (O 4 i < iMAX) est associé ainsi un déplacement Di X 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 D#(z,Tj) = D##1(z.Tj) - TC (24) avec TC = (DFD(z,Di-1).grad L(z,Di-1))/2.(grad L(z,Di 1))2 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), Di(z,Tj) est le vecteur déplacement estimé au point P(z,Tj) à l'itération i, DFD(z, Di#I) désigne la différence temporelle en luminance dans la direction du déplacement Di#î, elle est encore appelée "différence inter-trames déplacées" et est calculée entre Ta et
Tb suivant la relation
DFD(z,Di 1) = L(B,Tb) - L(A,Ta) avec B = z + ((Tb - Tj)/(Tb - Ta))xD
A = z - ((Tj - Ta)/(Tb - Ta))xDi 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-1, sur Ta et Tb ; sa valeur est définie par 2 grad L(z,D##1) = grad L(A,Ta) + grad L(B,Tb)
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 poir+ 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 n 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
DFD = L(B+dzb,Tb) - L(A+dza,Ta) (25) 2xgrad L(z,Dì-1) = grad L(B+dzb,Tb) - grad L(A+dza,Ta) (26)
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 pre mièvre é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é 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 (étape 21) et les déplacements sont enregistrés à é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
DA = ((Tj-Ta)/(Tb-Ta))xD
DB = ((Tb-Tj)/(Tb-Ta))xD
Les vecteurs DA et DB étant colinéaires et tels que
D = DA + DB.
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 LA=I9. (1-FDX). (1-PDY)+I8.FDX. (1-FDY)
I4(1-FDX).FDY + I5.PDX.FDY
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 alors
GX = (I10#I8)/2 GY = (I11-I4)/2 ou si FDY est supérieure à 0,8 alors
GX = (I3-I5)/2
GY = (Ig~I2)/2 ou est compris entre 0,2 et 0,8 alors
GX = (I10-I8+I3-I5)/4
GY = (Ig-I4) Si FDX est supérieure à 0, 8 et si FDY est inférieure à 0,2 alors
GX = (Ig~I7)/2
GY = (I12-I5)/2 ou si FDY est supérieure à 0,8 alors
GX = (I4 I6) /2
GY = (I8-I1)/2 ou si FDY est compris entre 0,2 et 0.8 alors
GX = (I9-I7+I4-I6)/4
GY = (I8-I5) enfin si FDX est compris entre 0,2 et 0,8 et si FDY est inférieure à 0,2 alors
GX = (Ig~I8)
GY = (I11-I4+I12-I5)/4 ou si FDY est supérieure à 0,8 alors
GX = (I4-I5)
GY = (I9-I2-I8-I1)/4 ou si FDY est compris entre 0,2 et 0,8 alors
GX = (I4-I5+I9-I8)/2
GY = (I9-I4+I8-I5)/2
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
DFD(z,D) = LB-LA
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 ] 'équation récursive (24) est calculée par la relation
2 x grad L(z,D) = GA+GB.
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,
Dix=Di-1x - (terme de correction en x) DYi= Di-1y (terme de correction en Y) avec (terme de correction en X)=DFD(z,Di-1)xgradx (z,D1#1)x # et (terme de correction en Y)=DFD(z,Di-1)xgrady(z,Di-1)x# avec = 1/2xigrad L(z,Di-1| et
grad L(z,D1#1)i2= grad2xL(z,Di-1)+grady2L(z,Di- 1) (5) avec la condition que si (grad L(z,Di 1))2=O alors 1 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 zà +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: D,YMAX = +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 2DA MAX = 2 x (DX MAX x ((Tj-Ta)/(Tb-Ta)),
DY MAX x ((Tj-Ta)/(Tb-Ta))) et 2DB MAX = 2 x DX MAX x ((Tb-Tj)/(Tb-Ta)),
DY MAX x ((Tb-Tj)/(Tb-Ta)))
Si un vecteur déplacement est estimé pour tous les pixels de la trame fictive Tj, y compris les bords, un test peut être ajoute 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 ini tiales DA DB DO et DD. Un point est considéré comme
0' 0' O 0 convergent, quand au moins une des 4 valeurs de déplacement DA DB DC, et DD. donne une valeur absolue de la différence
I i i I inter-trames déplacée DFD(z,Di) inférieure à un seuil S prédéfini, pour un numéro d'îtération i supérieur ou égal à zéro (i = O 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 DiMAXA, DiMAXB,
DC iMAX, DiMAXDdonne 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(D;) 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: DA, DB, 1 DD..
A chaque itération i depuis la valeur i = 0 jusqu a une valeur i MAX 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 estime 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 l3d. 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-l 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-l. Le cas idéal est une bijection des points de la trame Tx-l 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 Te 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-l, 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
Figure img00240001
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 a. chaque pixel P(X Y ) de la trame Tj, il est attribué au pixel de coordonnées
p p les plus proches de celle du point d'intersection C le vecteur déplacement du point C, comme cela peut être perçu u sur les exemples représentés aux figures 13c et 13d. Le vecteur déplacement D0P(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 (X , Y ) dans la trame Ti
p 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. Eventuellement 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 : ctest-à-dire que lorsqutun 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 (Xl,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 (X1,Y1) = (X + DX, Y +DY + DEY)
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 D0P(P,Tc) = D(B,Tb).
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écu- tion 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 DA DB DC DD et de la valeur initiale est Un point est considéré comme
O considéré comme convergent, quand au moins une des cinq valeurs de déplacement DA DB DC DD. et DP donne une valeur absolue de
1 I I I1 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 DiMAXA, DiMAXB, DiMAXC,DiMAXD,DiMAXPdonne la valeur absolue de DFD la plus faible.
A chaque itération (de O à 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
I DFD I 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 | DFD I la plus faible est choisi. En cas de nouvelle égalité sur | DFD J, un choix arbitraire est effectué dans l'ordre : DiP, DiA, DiB, DiC, DiD. 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'organe nigramme de la figure 2, chaque point d'une trame courante Te est considéré sur I'organigramme de la figure 20 en balayant chaque ligne de cette trame.
Le module du gradient au point courant |grad P(z,t) J est calculé à l'étape 2.
Un test sur ce module du gradient au point courant est effectué à l'étape 3.
Si | grad P(z,t)J | 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) | 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 D0P, D0A, D0B, D0C et D0D donne la différence inter-image déplacée la plus faible. En cas d'égalité, le choix est effectué dans l'ordre D0P, D0A, D0B, D0C et
D0D.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 courante est élevé les cinq estimations de déplacement sont menées en parallèle à partir des quatre valeurs initiales spatiales , D0A, D0B, D0C, D0D et de la valeur initiale temporelle D0D. Un point est considéré comme
convergent, quand au moins une des cinq valeurs de déplacements DiA, DiB, DiC, DiD, DiP donne une valeur absolue de la différence inter-trames déplacée DFD(z,D) 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 J 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 D iMAXA, DiMAXB, D iMAXC, DiMAXD,
iMAX donne la valeur absolue de DFD la plus faible.
A chaque itération (de O à 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 celai qui donne la différence inter-image déplacée | DFD | la plus faible est choisi. En cas de nouvelle égalité sur | DFD |, un choix arbitraire est effectué dans tordre : DiP, DiA, DiB, DiC, DiD.
A chaque itération, i(O6i~iMAx) est associé ainsi un déplacement D. 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 : DB C DO ou seulement 2 valeurs initiales : D0C et D0D (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 D0A 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éfinis sent une relation entre les composantes horizontale et verticale du mouvement Dx et Dy, les gradients spatiaux de la luminance horizontal GS et vertical GY, et le gradient temporel dans la direction d'un mouvement initial DFD
tel que GX 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 D = -DPD x G
JGJ2 x avec G = (GX, GY)
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 D0A 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: DC , D D et éventuellement DB définis précédemment.
O # A DB
2. A chaque nouveau champ de mouvement à estimer, le nouveau couple d'images source subit une rotation. Cette rotation est alternativement de 0 , 900, 1800, 2700, 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'est timateur 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 disposi tif 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 rafraî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 H1 et Hk fournies par une horloge ligne non représentée. Le dispositif 34 détermine le numéro de la ligne courante l et en fonction de la parité du numéro de la ligne courante l 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)J # < S su et l'entrée 2
g est choisie si |grad I(z.t) J > S .Les organes de décision 36 et
g 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 DiA, DiB, DiC, DiD,
i å l'organe de décision 36 qui les transmet å 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-l, l-1) pour le passage à l'analyse du point suivant (k+l,l). Il servent égale ment d'intermédiaires avant d'écraser les mots MDX et MDY correspondant aux déplacements D(k+1,l-1) pour le passage à l'analyse du point suivant (k-1,l).
Lorsque k est égal à FC, le déplacement estimé D(FC,l) est placé automatiquement dans les mots (MTDX,MTDY) ainsi que dans les mots de (MDX,MDY) correspondant aux déplacements
D(FC,l) et D(FC+1,l).
Quand k est égal à DC, le déplacement estimé D(DC,l) est mis automatiquement dans les mots (MTDX ,MTDY) ainsi que dans les mots de (MDX, MDY) correspondant aux déplacements
D(DC,l) et D(DC-1,l).
Le dispositif de calcul des estimations de déplacement, composé des éléments 43 à 67, effectue cinq calculs de déplace P ments en parallèle à partir de quatre valeurs initiales, DO, D0A, D0B, D0C, D0D 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 D0P, D0A, D0B, DC, D0D 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 à iMAXs 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
IDFDI, 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 E 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'iniflalisation 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 Dg, 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 D0 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). Ta 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.#(grad2# + grad2 ) sont calculés par le
y dispos#tif 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 =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)X = DFD(z,Di) x gradx(Di) x et (TC)Y = DFD(#z,D1) x #rady (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é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)X et de (TC)Y sont les mêmes et fixées à 1/16, par contre la valeur maximale de (TC)X 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 D0x et D0y par les circuits
O soustracteurs 81 et 82 et les résultats obtenus Dx et D1 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 D1x y et D1 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 pou#r 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'inter polation 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#D0x(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+D0x(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 = O, 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)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érifient les relations
(TC)X = DFD(z,Di) x gradx(Di) x et (TC)Y = DFD(z,Di) x grad (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ées, à des conditions de signes près, à des valeurs maximales et minimales. Suivant un mode préféré de réalisa tion 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)X 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 DD et DY par les circuits 81 et 82 et les résultats D 1 et D 1 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 Dx et DY aux circuits 70, 70 bis, 74, 74 bis, 81 et 82.
En sortie de i 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 couple à 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.

Claims (28)

REVENDICATIONS
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, à effectuer 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 ( < i < iMAX) qui donne une convergence avec la différence inter-image déplacée JDFD(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-I) 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érise en ce que l'ensemble de calcul comprend pour chaque valeur de déplacement estimée Di ( < i < lMAX) 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 des 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, caracteri- sé 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 D; (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, 1)))
-I .2(grad L(z,D1#1))2) 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, 1) désigne la différence inter-trames dépla- cées calculée entre les trames d'instants Ta et Tb
- 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, 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 Du 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#î) d'une part, par le gradient spatial de luminance grad L(z,D1#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 un 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 lten- tourant 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 initiale 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 6 é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 , 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.
FR8812468A 1988-09-23 1988-09-23 Procede et dispositif d'estimation de mouvement dans une sequence d'images animees Expired - Lifetime FR2637100B1 (fr)

Priority Applications (12)

Application Number Priority Date Filing Date Title
FR8812468A FR2637100B1 (fr) 1988-09-23 1988-09-23 Procede et dispositif d'estimation de mouvement dans une sequence d'images animees
FR898907673A FR2648254B2 (fr) 1988-09-23 1989-06-09 Procede et dispositif d'estimation de mouvement dans une sequence d'images animees
DE68919965T DE68919965T2 (de) 1988-09-23 1989-09-22 Verfahren und Einrichtung zur Bewegungsabschätzung in einer sich bewegenden Bildfolge.
ES89402603T ES2065408T3 (es) 1988-09-23 1989-09-22 Procedimiento y dispositivo de estimacion de movimiento en una secuencia de imagenes animadas.
AT89402603T ATE115750T1 (de) 1988-09-23 1989-09-22 Verfahren und einrichtung zur bewegungsabschätzung in einer sich bewegenden bildfolge.
EP89402603A EP0360698B1 (fr) 1988-09-23 1989-09-22 Procédé et dispositif d'estimation de mouvement dans une séquence d'images animées
AU43208/89A AU625342B2 (en) 1988-09-23 1989-09-22 Estimation of motion in animated image sequences
PCT/FR1989/000482 WO1990003619A1 (fr) 1988-09-23 1989-09-22 Procede et dispositif d'estimation de mouvement dans une sequence d'images animees
US07/487,956 US5089887A (en) 1988-09-23 1989-09-22 Method and device for the estimation of motion in a sequence of moving images
JP51022589A JP3247105B2 (ja) 1988-09-23 1989-09-22 動画像フレーム内の動き予測方法および装置
CN89108176A CN1044159C (zh) 1988-09-23 1989-09-23 动画图像系列中运动估算的方法和装置
NZ230769A NZ230769A (en) 1988-09-23 1989-09-25 Estimation of motion in animated television image sequences

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR8812468A FR2637100B1 (fr) 1988-09-23 1988-09-23 Procede et dispositif d'estimation de mouvement dans une sequence d'images animees

Publications (2)

Publication Number Publication Date
FR2637100A1 true FR2637100A1 (fr) 1990-03-30
FR2637100B1 FR2637100B1 (fr) 1990-11-02

Family

ID=9370331

Family Applications (1)

Application Number Title Priority Date Filing Date
FR8812468A Expired - Lifetime FR2637100B1 (fr) 1988-09-23 1988-09-23 Procede et dispositif d'estimation de mouvement dans une sequence d'images animees

Country Status (1)

Country Link
FR (1) FR2637100B1 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2675002A1 (fr) * 1991-04-05 1992-10-09 Thomson Csf Procede de classification des pixels d'une image appartenant a une sequence d'images animees et procede d'interpolation temporelle d'images utilisant ladite classification.
EP1855474A1 (fr) * 2006-05-12 2007-11-14 Sony Deutschland Gmbh Méthode pour générer une image interpolée entre deux images d'une séquence d'images

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
COMPUTER VISION, GRAPHICS AND IMAGE PROCESSING, vol. 21, no. 2, février 1983, pages 169-204, Academic Press, Inc., New York, US; J.STULLER et al.: "Kalman filter formulation of low-level television image motion estimation" *
COMPUTER VISION, GRAPHICS AND IMAGE PROCESSING, vol. 21, no. 2, février 1983, pages 262-279, Academic Press, Inc., New York, US; M.YACHIDA: "Determining velocity maps by spatio-temporal neighborhoods from image sequences" *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2675002A1 (fr) * 1991-04-05 1992-10-09 Thomson Csf Procede de classification des pixels d'une image appartenant a une sequence d'images animees et procede d'interpolation temporelle d'images utilisant ladite classification.
WO1992017983A1 (fr) * 1991-04-05 1992-10-15 Thomson-Csf Procede de classification des pixels d'une image et d'interpolation temporelle utilisant ladite classification
EP1855474A1 (fr) * 2006-05-12 2007-11-14 Sony Deutschland Gmbh Méthode pour générer une image interpolée entre deux images d'une séquence d'images

Also Published As

Publication number Publication date
FR2637100B1 (fr) 1990-11-02

Similar Documents

Publication Publication Date Title
EP0360698B1 (fr) Procédé et dispositif d&#39;estimation de mouvement dans une séquence d&#39;images animées
EP0286483B1 (fr) Procédé et dispositif d&#39;estimation de mouvement dans une séquence d&#39;images animées
EP0781041B1 (fr) Procédé d&#39;interpolation de trames progressives
EP0321356B1 (fr) Procédé d&#39;estimation multi prédictif du mouvement des points d&#39;une image électronique
EP1908297B1 (fr) Dispositif de generation d&#39;une image interpolee
FR2675002A1 (fr) Procede de classification des pixels d&#39;une image appartenant a une sequence d&#39;images animees et procede d&#39;interpolation temporelle d&#39;images utilisant ladite classification.
EP0568694B1 (fr) Procede d&#39;estimation et de codage hierarchise du mouvement de sequences d&#39;images
FR2958824A1 (fr) Procede de traitement d&#39;images stereoscopiques et dispositif correspondant
EP0780794B1 (fr) Procédé de correction d&#39;estimation de mouvement dans des images à structures périodiques
EP0418952A1 (fr) Dispositif de codage d&#39;informations bidimensionnelles et dispositif de décodage correspondant
EP1413140B1 (fr) Procede d&#39;estimation de mouvement entre deux images avec gestion des retournements de mailles et procede de codage correspondant
EP0347325A1 (fr) Procédé et installation de diffusion de programmes de télévision haute définition compatible
JP4922536B2 (ja) ビデオ・シーケンスの2つのイメージの間に補間される少なくとも一つのイメージを計算するための方法
EP0722251B1 (fr) Procédé d&#39;interpolation d&#39;images
FR2637100A1 (fr) Procede et dispositif d&#39;estimation de mouvement dans une sequence d&#39;images animees
WO1988010046A1 (fr) Procede et dispositif d&#39;interpolation temporelle d&#39;images
WO1993000773A1 (fr) Procede de conversion du rythme temporel d&#39;une sequence d&#39;images animees
FR2742902A1 (fr) Procede d&#39;estimation de mouvement
FR2613164A1 (fr) Procede et dispositif d&#39;estimation de mouvement dans une sequence d&#39;images animees
FR2648590A1 (fr) Procede et dispositif d&#39;estimation de mouvement dans une sequence d&#39;images animees
FR2624680A1 (fr) Procede et dispositif de reduction de la visibilite du bruit sur les images de television
FR2809267A1 (fr) Procede de detection de saturation d&#39;un champ de vecteurs mouvement
FR2856218A1 (fr) Appareil et procede de conversion de balayage
Vinolee et al. Motion interpolation using interframe coding for block motion picture
FR2525371A1 (fr) Dispositif d&#39;affichage pour oscilloscope numerique a balayage recurrent entrelace et oscilloscope numerique comprenant un tel dispositif

Legal Events

Date Code Title Description
TP Transmission of property