Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
PROCESS AND DEVICE FOR TEMPORAL INTERPOLATION OF IMAGES
Document Type and Number:
WIPO Patent Application WO/1988/010046
Kind Code:
A1
Abstract:
The invention concerns a process for reconstituting the luminance values of a field (Tj) from the luminance values of the pixels of two known fields (Ta, Tb). It consists essentially in estimating a velocity vector (V) for each pixel (6) of a single field (Ti) corresponding to an instant Ti between Ta and Tb, or being Ta or Tb; determining successively for each pixel (G) of this image (Ti), called the pixel father, the co-ordinate of the centre (Fj) of a pixel to be interpolated (H), called the pixel son, corresponding to the centre (Cj) of the pixel father by a translation of which the vector is a function of the velocity vector (V) of the pixel father multiplied by the time Ti-Tj; associating successively with each pixel to be interpolated (H) a velocity vector constituted by the velocity vector (V) of its pixel father (G); determining in the two known fields (Ta, Tb) the co-ordinates and then the luminance of two points (A, B) corresponding to the centre (Fj) of the pixel to be interpolated (H) by a translation, in the plane of one of the known images (Ta, Tb), of which translation the vector is a function of the velocity vector associated with the pixel to be interpolated multiplied respectively by the durations Tj-Ta and Tb-Tj; determining a luminance valve for the pixel to be interpolated (H) by calculating a linear combination of the luminance values of these two points (A, B). Application to changes in the standard of television images and to the reconstitution of missing images in the low-output transmission of images with the elimination of certain images.

Inventors:
ROBERT PHILIPPE (FR)
Application Number:
PCT/FR1988/000271
Publication Date:
December 15, 1988
Filing Date:
May 31, 1988
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
THOMSON GRAND PUBLIC (FR)
International Classes:
H04N7/01; (IPC1-7): H04N7/01
Foreign References:
GB2162018A1986-01-22
GB2110046A1983-06-08
GB2165417A1986-04-09
Download PDF:
Claims:
REVENDICATIONS
1. Procédé d'interpolation temporelle d'images, pour déterminer une valeur de luminance interpolée pour chaque pixel d'une image (T.) dite image à interpoler, à _) partir des valeurs de luminance des pixels d'une pre 5 mière et d'une seconde image dites images connues (T 3. , TJ, prises à des instants T et T, respectivement, T. étant compris entre Ta et T.b : consistant à : associer les valeurs des composantes d'un vec¬ teur vitesse à chaque pixel (H) de l'image à interpoler 0 (T.), dit pixel à interpoler ; déterminer dans les deux images connues (T 3 , T. ) les coordonnées de deux points (A, B) appelées points de base de l'interpolation temporelle, chacun de ces deux points correspondant au centre (F.) du pixel à 5 interpoler (H), par une translation dans le plan de l'une des imag °es connues (Ta , T.bT, translation dont le vecteur est fonction du vecteur vitesse associé au pixel à interpoler (H), multiplié respectivement par les durées TJ.Ta et T.bTj. ;' 0 _ déterminer la valeur de luminance de chacun des deux points de base (A, B) par une interpolation spa¬ tiale entre des pixels voisins de chacun de ces points de base (A, B), respectivement dans les deux images connues (Ta , T.D) ; 5 _ déterminer une valeur de luminance pour le pixel à interpoler (H), en calculant une combinaison li¬ néaire des deux valeurs de luminance des points de base (A, B), pondérées par les durées T.T et T. T. respec J a D J tivement ; ° caractérisé en ce que, pour associer les compo¬ santes d'un vecteur vitesse à chaque pixel à interpoler (H) , il consiste à : estimer par un procédé classique les composan¬ tes d'un vecteur vitesse (F) pour chaque pixel (G) d'une seule image (T.), dite porteuse du mouvement, correspon¬ dant à un instant T. compris entre T et T. , ou étant Ta ou Tb ; déterminer, successivement pour chaque pixel (G) de l'image porteuse (T.), dit pixel père, les coor¬ données du centre (F.) d'un pixel à interpoler (H), dit pixel fils, correspondant au centre (C:) du pixel père par une translation dont le vecteur est fonction du vec¬ teur vitesse (f) du pixel père, multiplié par la durée T.T. ; 3 associer, successivement à chaque pixel à in¬ terpoler (H), un vecteur vitesse constitué par le vec teur vitesse (T) de son pixel père (G) ou de l'un de ses pixels pères, s'il existe au moins un pixel père pour ce pixel à interpoler (H).
2. Procédé selon la revendication 1, caractérisé en ce que pour déterminer les coordonnées du centre (F.) d'un pixel fils (H) correspondant à un pixel père donné (G) , il consiste à : déterminer les coordonnées d'un point (E.) de l'i age à interpoler (T.) correspondant au centre (C.) du pixel père (G), par une translation dont le vecteur est égal au vecteur vitesse du pixel père multiplié par la durée T.T. ; puis à déterminer le pixel (H) de l'image à in¬ terpoler (T.), dont le centre (F.) est le plus proche du point (E .) ainsi déterminé, ce pixel constituant alors le pixel fils du pixel père donné (G).
3. Procédé selon la revendication 1, appliqué à des images constituées par des trames d'images de télé¬ vision, caractérisé en ce que pour déterminer les coor¬ données du centre (F.) d'un pixel fils correspondant au centre (C.) d'un pixel père donné, il consiste à : déterminer les coordonnées d'un point (E.) de <J la trame à interpoler (T.) correspondant au centre (C.) du pixel père (G), par une translation dont le vecteur est égal au vecteur vitesse du pixel père multiplié par la durée T.T. , en décalant l'une des coordonnées du point (E.) de l'image à interpoler correspondant au cen¬ tre (C.) du pixel père (G), d'une valeur égale à 0 ou 0,5 ou +0,5 pixel, en fonction de la parité de la trame constituant l'image à interpoler (T.) et de la parité de <J la trame constituant l'image porteuse de mouvement (Ti) ; puis à déterminer le pixel (K) de l'image à in¬ terpoler (T.), dont le centre (F.) est le plus proche du «J si point (E.) ainsi déterminé, ce pixel constituant alors le pixel fils du pixel père donné (G) ; et en ce que pour déterminer dans les deux images connues (Ta , T.D) les coordonnées des deux points de base (A, B), il consiste en outre à décaler l'une de s coordonnées de ces deux points (A, Ξ de 0 ou 0,5 ou +0,5 pixel, en fonction des parités des deux trames constituant les deux images connues (T , T. ), et de la parité de la trame constituant l'image à interpoler (Tj).
4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce que pour chaque pixel à interpoler (H) ayant au moins un pixel père, il consiste en outre à valider le vecteur vitesse du pixel père (G) , en calcu¬ lant la valeur, appellée DFD du pixel à interpoler, de la différence des luminances des deux points de base (A, B) de l'interpolation temporelle ; et en vérifiant que la DFD est inférieure à une valeur de seuil fixée ; et en ce que, si le vecteur vitesse d'aucun pixel père n'est validé, ou si le pixel à interpoler n'a aucun pixel père, il consiste en outre : à associer au pixel à interpoler un vecteur vi¬ tesse interpolé en fonction des vecteurs vitesses asso¬ ciés aux pixels voisins du pixel à interpoler, si la DFD du pixel à interpoler, calculée pour le vecteur vitesse interpolé, est inférieure à une valeur de seuil fixée ; sinon, à associer au pixel à interpoler un vec¬ teur vitesse nul.
5. Procédé selon la revendication 4, caractérisé en ce que, lorsqu'un pixel à interpoler (H) a plusieurs pixels pères (G), le vecteur vitesse associé à ce pixel à interpoler est constitué par le vecteur vitesse du pixel père tel que la DFD du pixel à interpoler soit mi¬ nimale.
6. Procédé selon la revendication 1, caractérisé en ce que, lorsqu'un pixel à interpoler (H) a plusieurs pixels pères (G), le vecteur vitesse associé à ce pixel à interpoler est constitué par le vecteur vitesse du pixel père ayant été'déterminé en dernier.
7. Procédé selon la revendication 1, caractérisé en ce qu'il consiste en outre, pour chaque pixel à in¬ terpoler (H) n'ayant pas de pixel père à lui associer un vecteur vitesse interpolé en fonction des vecteurs vitesses associés aux pixels voisins du pixel à inter¬ poler, s'il y a des pixels voisins ayant un vecteur vi tesse associé ; sinon, à lui associer un vecteur vitesse nul.
8. Procédé selon la revendication 1, caractérisé en ce qu'il consiste en outre, pour chaque pixel à in¬ terpoler (H) n'ayant pas de pixel père (G) à lui asso cier un vecteur vitesse nul.
9. Dispositif d'interpolation temporelle d'ima¬ ges, pour la mise en oeuvre du procédé selon la revendi¬ cation 1 , recevant une suite de valeurs de luminance re¬ présentant respectivement les pixels d'une première image connue (T3) prise à un instant T3 et les pixel d'une seconde image connue (T. ) prise à un instant Tb ; recevant une suite de valeurs représentant respective ment les composantes du vecteur vitesse des pixels d'un troisième image (T.), dite image porteuse du mouvement, corresp rondant à un instant Tî. compris entre Ta et T,b o pouvant être Ta ou T.b ; et fournissant une suite de va leurs de luminance interpolées représentant la lumi nance des pixels d'une image à interpoler (T.) corres pondant à un instant Tj. compris entre Ta et T.b ; carac térisé en ce qu'il comporte : une première et une seconde mémoire (MA, MB) pour stocker respectivement les valeurs de luminance de la première et de la seconde image connue (Ta ,' T,b) : des premiers moyens de calcul (7) pour calcu¬ ler, pour chaque pixel de l'image porteuse (T.), dit pixel père (G), les coordonnées du centre (F.) d'un pixel, dit pixel fils (H), situé dans l'image à inter¬ poler (T.) et dont le centre (F.) correspond au centre (C.) du pixel père par une translation dont le vecteur est fonction du vecteur vitesse du pixel père (G), mul¬ tiplié par la durée T.T. ; des deuxièmes moyens de calcul (5a, 5b) pour associer à chaque pixel (H) de l'image à interpoler (T.), dit pixel à interpoler, un vecteur vitesse qui est (J le vecteur vitesse de son pixel père (G) ou de l'un de ses pixels pères, s'il en exite au moin un ; des troisièmes moyens (49) pour calculer les coordonnées, dans les deux images connues (Ta ,' T,b) res pectivement, de deux points (A, B) appelés points de base de l'interpolation temporelle, chacun de ces deux points (A, B) correspondant au centre du pixel à inter¬ poler (H), par une translation dont le vecteur est fonc¬ tion de vecteur vitesse associé au pixel à interpoler, multiplié respectivement par les durées T .T et T.T . ; y 3 b 3 ' et des quatrièmes moyens (50) pour calculer les valeurs de luminance des deux points de base (A, B) et en déduire une valeur de luminance pour le pixel à in¬ terpoler (H), en calculant une combinaison linéaire de deux valeurs de luminance des deux points de base, pon¬ dérées par les durées T.T et T.T. respectivement. J b j .
10. Dispositif selon la revendication 9, pour la mise en oeuvre du procédé selon la revendication 2, ca¬ ractérisé en ce que les premiers moyens de calcul (7) comportent : un multiplicateur (71) pour calculer un vecteur en multipliant le vecteur vitesse du pixel père (G), pa la durée T±T, ; un soustracteur (72) pour soustraire, au vec teur calculé par le multiplicateur (71), un vecteu ayant pour composantes les coordonnées (IX,IY)"du centr ( C . ) du pixel père (G) ; si un dispositif (74) pour calculer la valeur en tière la plus proche de chacune des composantes du vec teur calculé par le soustracteur (72) ; chacune consti tuant une coordonnée du centre (F.) du pixel fils (H).
11. Dispositif selon la revendication 10, pour l mise en oeuvre du procédé selon la revendication 3, ca ractérisé en ce qu'il comporte en outre un dispositi (73) de correction de parité de trames, pour additionne un vecteur de correction au vecteur calculé par le sous tracteur (72), intercalé entre le soustracteur (72) e le dispositif (74) pour calculer la valeur entière l plus proche de chaque composante ; le dispositif d correction (73) étant commandé en fonction de la parit des trames correspondant aux instants T. et T . .
12. Dispositif selon la revendication 9, pour l mise en oeuvre du procédé selon la revendication 4, ca ractérisé en ce que les deuxièmes moyens de calcul (5a, 5 ) comportent : deux premiers dispositifs de calcul (6, 8) pou calculer les coordonnées, dans les deux images connues (T 3 , TD) respectivement, de deux points (A, B) appelés points de base de l'interpolation temporelle, à parti des coordonnées du pixel à interpoler (H), par une translation fonction du vecteur vitesse d'un pixel père (G) du pixel à interpoler, s'il existe au moins un pixel père, et en fonction des durées T.T et T.T. respecti 3 a b j vement ; deux deuxièmes dispositifs de calcul (10, 11) pour calculer les valeurs de luminance des deux points de base (A, B) par une interpolation spatiale respecti¬ vement dans les deux images connues (T , T, ) ; un soustracteur (14) pour calculer la valeur absolue, appelée DFD du pixel à interpoler de la diffé¬ rence, des deux valeurs de luminance calculées par les deuxièmes dispositifs de calcul (10, "1) ; un premier comparateur (16 pour comparer la valeur de DFD à une valeur de seuil prédéterminée, et valider le vecteur vitesse du pixel père considéré si la valeur de DFD est inférieure à la valeur de seuil ; une première mémoire (M1 ) pour stocker un vec¬ teur vitesse associé, pour chaque pixel à interpoler ; des moyens de calcul (5b) pour associer à un pixel à interpoler, un vecteur vitesse interpolé à par¬ tir de vecteurs vitesses associés à des pixels voisins, et lus dans la première mémoire (M1), lorsque le pixel à interpoler n'a aucun pixel père dont le vecteur vitesse est validé.
13. Dispositif selon la revendication 12, pour la mise en oeuvre du procédé selon la revendication 5, ca¬ ractérisé en ce que les deuxièmes moyens de calcul (5a, 5b) comportent en outre : une seconde mémoire (M2) pour stocker une va leur de DFD pour chaque pixel à interpoler ; un second comparateur (15) pour comparer chaque valeur de DFD calculée pour.un pixel à interpoler, avec une valeur de DFD stockée précédemment pour le même pixel à interpoler ; des moyens (4, 18) pour incrire dans la pre¬ mière mémoire (M1 ) le vecteur vitesse d'un pixel père (G) d'un pixel à interpoler (H), si la valeur de DFD calculée pour ce vecteur vitesse est inférieure à celle stockée dans la seconde mémoire (M2) à l'adresse corres pondant à ce pixel à interpoler (H) ; des moyens (4, 17) pour inscrire dans la se¬ conde mémoire (M2) la valeur de DFD calculée pour ce vecteur vitesse, à l'adresse correspondant au pixel à interpoler (H) .
Description:
Procédé et dispositif d'interpolation temporelle d'images.

L'invention concerne un procédé d'interpolation temporelle d'images permettant de reconstituer les valeurs de luminance des pixels d'une image manquante dans une suite d'images représentant un même objet. Un tel procédé est utilisable, par exemple, pour une trans¬ mission d'images vidéo à très bas débit, consistant à ne transmettre que certaines trames, avec un codage rédui¬ sant le débit d'informations, et à restituer les trames non transmises, par une interpolation à partir des trames transmises et décodées. Il est utilisable aussi pour la conversion d'une suite d'images vidéo d'un stan¬ dard ayant une fréquence de 50 Hz vers un standard ayant une fréquence de 60 Hz, ou réciproquement. Pour une telle conversion, la plupart des trames doivent être in- terpolées à partir des trames disponibles à la fréquence de 50 Hz, car les instants de prise de vue à la fré¬ quence de 60 Hz ne coïncident pas, avec les instants de prise de vue à la fréquence de 50 Hz.

L'interpolation a donc pour but de déterminer une valeur de luminance L(IX,IY,T.) pour chaque pixel d'une trame à interpoler correspondant à un instant T., à par- tir des valeurs de luminance L(IX,IY,Ta) et L(IX,IY,T,b) des pixels de deux trames connues correspondant à des instants Ta et T,b tels que Tj. est comp r ris entre Ta et . Les pixels des trames sont repérés par les coordon¬ nées (IX,IY) de leur centre dans un repère ortho-normé qui est commun pour toutes les trames.

Une première classe de procédés d'interpolation temporelle est basée sur une interpolation linéaire sim-

pie consistant à calculer, pour chaque pixel à interpo¬ ler, une combinaison linéaire de deux valeurs de lumi¬ nance des pixels ayant des coordonnées homologues (IX,IY) dans les deux trames connues correspondant aux instants T et T. , pondérées par les durées T.-T. et .-T , selon la formule :

L(IX,IY,T ) (

Les coordonnées homologues sont exactement iden¬ tiques si les deux trames T et T. ont la même parité, et sont identiques à une demi-ligne près si elles ont des parités différentes.

Cette classe de procédés permet une bonne resti¬ tution des zones fixes dans une suite de trames, car alors les valeurs de luminance utilisées pour l'interpo- lation correspondent effectivement à un même point de l'objet représenté par la suite de trar.es. Par contre, les zones en mouvement sont mal restituées et sont d'au¬ tant plus floues que la vitesse du mouvement est plus élevée. Une seconde classe de procédés prend en compte le mouvement de l'objet représenté par les deux trames connues. Ces procédés consistent à supposer que chaque point d'un objet en mouvement représenté par la suite de trames se déplace de la première trame connue à la seconde trame connue par une translation élémentaire à vitesse constante. Des procédés connus permettent de dé¬ terminer un vecteur vitesse Y * = (VX,VY) pour chaque pixel de la trame à interpoler. Ce vecteur traduit une translation élémentaire du pixel, qui ne correspond pas forcément à la vitesse de l'objet représenté mais correspond aux variations de luminance des pixels repré¬ sentant cet objet.

Ces procédés de la seconde classe consistent en¬ suite à calculer une valeur de luminance interpolée pour chaque pixel, en tenant compte de deux déplacements de sens opposés respectivement dans les deux trames 5 connues. Ces deux déplacements sont dans la direction du vecteur vitesse associé au pixel à interpoler, et ont respectivement un module proportionnel à l'intervalle de temps séparant la trame à interpoler et la trame connue considérée. Chaque valeur de luminance interpo- 10 lée est donc calculée selon la formule :

L(ix,π,τ.) =

) + . L(IX+VX .(T b -T j ),IY+VY .(T b -T j .),T b )

Cette classe de procédés permet de restituer de 15 façon plus précise les zones en mouvement, aussi bien que les zones fixes des trames à interpoler. Mais la mise en oeuvre de cette classe de procédés comporte une difficulté importante qui est la détermination d'un vec¬ teur vitesse à associer à chaque pixel à interpoler. Un premier procédé connu, décrit par H.C. Bergman dans : - ~ Motion Adaptive Frame Interpolation 1984 International

Zurich Seminar on Digital Communications, consiste associer à chaque pixel à interpoler le vecteur vitesse estimé pour le pixel ayant les mêmes coordonnées dans la première trame connue. Cette association est toujours 5 plus ou moins inexacte puisque dans les zones en mouve¬ ment ces deux pixels ne représentent pas un même point de l'objet en mouvement. Cette association n'est exacte que dans la mesure où des points voisins de l'objet en mouvement ont le même vecteur vitesse, ce qui n'est pas

forcément le cas, notamment si l'objet représenté subit une rotation. La fidélité de restitution des images varie donc, dans les zones " en mouvement, en fonction du type de mouvement de ces zones. Un second procédé connu, décrit par M. Bierling et R. Thoma dans : Motion compensating field interpola¬ tion using a hierachically structured displacement es- timator, consiste à estimer un vecteur vitesse pour cha¬ que pixel de chaque trame à interpoler, indépendamment pour chaque trame à interpoler. Cette estimation est faite à partir du même couple d'images connues, pour toutes les trames à interpoler correspondant à des ins¬ tants compris entre T et T. , mais elle tient compte de la durée des intervalles de temps séparant la trame à interpoler et les images connues, par conséquent le vec¬ teur vitesse associé à chaque pixel à interpoler a une valeur beaucoup plus précise que celle associée par le procédé décrit précédemment. La fidélité de restitution des trames dans les zones en mouvement est donc rendue indépendante du type de mouvement. Par contre, ce second procédé a pour inconvénient de multiplier le temps de calcul nécessaire pour l'estimation des vecteurs vitesses, puisqu'il est proportionnel au nombre de trames à interpoler comprises entre les deux trames connues.

Le but de l'invention est de proposer un procédé d'interpolation temporelle fournissant une bonne fidé¬ lité de restitution des trames dans les zones en mouve¬ ment, quel que soit le type de mouvement, sans nécessi- ter un temps de calcul important pour l'estimation des vecteurs vitesses des pixels des trames à interpoler.

L'objet de l'invention est un procédé apparte¬ nant à la seconde classe et qui consiste essentiellement à estimer un vecteur vitesse pour chaque pixel d'une

trame unique qui est appelée trame porteuse du mouve¬ ment, qui peut être l'une des deux trames connues, puis à déterminer, dans chacune des trames à interpoler, les pixels dits pixels fils, qui ont un vecteur vitesse égal au vecteur vitesse d'un pixel dit pixel père correspon¬ dant à un même point de l'objet représenté par la suite de trames, ce point étant supposé se déplacer avec le même vecteur vitesse pendant l'intervalle de temps de T à V Naturellement le procédé selon l'invention est applicable aussi à des images qui ne sont pas des trames entrelacées.

Selon l'invention, un procédé d'interpolation temporelle d'images, pour déterminer une valeur de lumi- nance interpolée pour chaque pixel d'une image dite image à interpoler, à partir des valeurs de luminance des pixels d'une première et d'une seconde image dites images connues, prises à des instants T et T, respecti¬ vement, TJ. étant compris entre Ta et T.b ; consistant à : - associer les valeurs des composantes d'un vec¬ teur vitesse à chaque pixel de l'image à interpoler, dit pixel à interpoler ;

- déterminer dans les deux images connues les coordonnées de deux points appelés points de base de l'interpolation temporelle, chacun de ces deux points correspondant au centre du pixel à interpoler, par une translation dans le plan de l'une des images connues, translation dont le vecteur est fonction du vecteur vitesse associé au pixel à interpoler, multiplié respec- tivement par les durées T.-T et T.-T. ;

- déterminer la valeur de luminance de chacun des deux points de base par une interpolation spatiale entre des pixels voisins de chacun de ces points de base, res¬ pectivement dans les deux images connues ;

- déterminer une valeur de luminance pour le pixel à interpoler, en calculant une combinaison linéaire des deux valeurs de luminance des points de base,' ^pondérées p *ar les durées T _.-Ta et T.b-Tj. respecti- vement ; est caractérisé en ce que, -pour associer les com¬ posantes d'un vecteur vitesse à chaque pixel à interpo¬ ler, il consiste à :

- estimer par un procédé classique les compo- santés d'un vecteur vitesse pour chaque pixel d'une seule image, dite porteuse du mouvement, correspondant à un instant Tî. comp r ris entre Ta et Tb. , ou étant Ta ou

T

- déterminer, successivement pour chaque pixel de l'image porteuse, dit pixel père, les coordonnées du centre d'un pixel à interpoler, dit pixel fils, corres¬ pondant au centre du pixel père par une translation dont le vecteur est fonction du vecteur vitesse du pixel père, multiplié par la durée T.-T. ; - associer, successivement à chaque pixel à in¬ terpoler, un vecteur vitesse constitué par le vecteur vitesse de son pixel père ou de l'un de ses pixels pères, s'il existe au moins un pixel père pour ce pixel à interpoler. L'invention sera mieux comprise et d'autres détails apparaîtront à l'aide de la description ci- dessous et des figures l'accompagnant :

- la figure 1 illustre le principe de la seconde classe de procédés connus ; - la figure 2 illustre le procédé selon l'inven¬ tion ;

- la figure 3 représente un organigramme illus¬ trant le procédé selon l'invention ;

- les figures 4 et 7 représentent deux organi-

grammes illustrant une première variante de mise en oeuvre du procédé selon l'invention ;

- la figure 5 représente une partie de cet orga¬ nigramme ; - la figure 6 illustre le calcul réalisé confor¬ mément à l'organigramme de la figure 5 ;

- les figures 8 et 9 représentent un organigramme d'une deuxième variante de la mise en oeuvre du procédé selon l'invention ; - les figures 10 et 11 représentent un organi¬ gramme d'une troisième variante de la mise en oeuvre du procédé selon l'invention ;

- les figures 12 et 15 représentent le schéma synoptique d'un exemple de réalisation d'un dispositif pour la mise en oeuvre du procédé selon l'invention ;

- les figures 13, 14, 16 représentent un schéma synoptique plus détaillé de trois parties de cet exemple de réalisation.

Dans l'exemple représenté sur la figure 1, une trame à interpoler, appelée trame T. car elle correspond à un instant T. , est à interpoler à partir d'une pre- mière et d'une seconde trame connues appelées respecti¬ vement trame Ta et trame T,b car elles corres^pondent à un instant Ta qui précède Tj. et à un instant T.D qui suit T , Toutes ces trames sont repérées dans un même repère ortho-normé PXY ayant pour unités les dimensions d'un pixel. Des points ayant des coordonnées (X, Y) identi¬ ques sont différenciés par les instants correspondant aux trames où sont situés ces points. Dans ce qui suit, on distinguera les points et les pixels, chaque point de trame a des dimensions infiniment petites alors que chaque pixel a des dimensions finies déterminées par les caractéristiques de l'échantillonnage. Les trames con¬ nues sont fournies par une source de signaux vidéo telle

qu'une caméra de télévision classique suivie d'un con¬ vertisseur analogique-numérique classique. Chaque pixel est repéré par les coordonnées de son centre et il est représenté par un carré en pointillé. Chacun a une valeur de luminance égale à la moyenne des luminances de tous les points contenus dans ce pixel. Par hypothèse, chaque pixel à interpoler, centré sur un point M. dans la trame à interpoler T. , possède un vecteur vitesse ^ -i associé V . Il existe alors dans les trames connues T et T. deux points M et M, ayant des coordonnées ho o- loges à celles de M. et qui sont chacun le centre d'un pixel représenté par un carré en pointillés.

La première classe de procédés connus consiste à calculer la valeur de luminance du pixel à interpoler, en combinant linéairement les valeurs de luminance des pixels centrés sur M. D et sur M3. . Il y a une erreur due au fait que dans la trame T l'objet représenté est dé¬ placée, par rapport à la trame T. , dans la direction, et -, J dans le sens du vecteur V , tandis que. dans la trame 3 au contraire, l'objet représenté est déplacé, dans la direction et dans le sens opposé au vecteur V " . La seconde classe de procédés connus consiste à calculer une valeur de luminance interpolée à partir des valeurs de luminance d'un point B de la trame T.o et d'un point A de la trame T CL , déterminés en tenant compte d'une translation de l'objet dans les trames Ta et T.b . par rapport à la trame T. . Le point A est déduit de M DEΓ

-> a une translation -V.(T.-T ) et le point B est déduit de

M par une translation : V.(T.-T.), car tout point d'un

3 objet représenté par la suite de trames est supposé gar¬ der une vitesse constante entre les instants Ta et T.b .

Les points A et B sont appelés, dans ce qui suit, points de base de l'interpolation temporelle. Le procédé selon l'invention est basé sur la même hypothèse.

La figure 2 illustre l'étape du procédé selon l'invention consistant à associer un vecteur vitesse V * à un pixel à interpoler, centré sur un point F. de la trame à interpoler T. . 5 Dans cet exemple, il n'y a qu'une seule trame T. à interpoler, mais dans d'autres cas il peut y avoir plusieurs trames à interpoler, correspondant à des ins¬ tants compris entre Ta et T.b . Pour toutes les trames à interpoler entre Ta, et T.b , les vecteurs vitesses asso-

10 ciés sont déduits des vecteurs vitesses des pixels d'une unique trame T. , appelée trame porteuse du mouvement, correspondant à un instant compris entre Ta et T.b ou pouvant être Ta ou T.b . Les calculs nécessaires p^our déterminer les vecteurs vitesses des pixels de la trame

15 porteuse sont réalisés une seule fois quel que soit le nombre des trames à interpoler entre les instants Ta et

Chaque pixel de la trame T. porteuse de mouvement est considéré comme le père d'un pixel unique, appelé

- - pixel fils, dans la trame à interpoler T. , ces deux pixels étant supposés représenter un même point de l'objet en mouvement. Ce point de l'objet en mouvement a un vecteur vitesse qui est connu dans la trame T. . Ce point est supposé garder ce même vecteur vitesse à tous

25 les instants compris entre T et T. alors ' qu'il est re¬ présenté par une suite de pixels ayant des coordonnées différentes et qui sont tous les fils d'un même pixel père de la trame T. . Le procédé selon l'invention con¬ siste à déterminer dans chaque trame à interpoler T . ,

30 le centre d'un pixel fils correspondant à un pixel père donné dans la trame T. porteuse du mouvement, puis à attribuer à ce pixel fils un vecteur vitesse égal au vecteur vitesse de son pixel père, où de l'un de ses pixels pères.

Par exemple, sur la figure 2, un pixel G centré sur le point C. de la trame T. a pour vecteur vitesse un vecteur T connu. Il a un pixel fils H dans la trame T. , qui lui correspond approximativement par une transla- tion de vecteur -V * . (T.-T .) à partir d'un point C. ayant, dans la trame T. , des coordonnées homologues à celles du point C. dans la trame T. . Cette translation fait correspondre exactement un point E. au point C. . En général, le point E. ne coïncide pas avec le centre d'un pixel. Le procédé consiste alors à prendre comme pixel fils le pixel de la trame T. ayant un centre F. le plus proche du point E. , en prenant la valeur entière la plus proche pour chacune des coordonnées. Le vecteur vitesse V du pixel père G est alors associé à ce pixel fils H.

Il est à remarquer que certains pixels de la trame T. porteuse du mouvement n'ont pas de pixels fils, par exemple les pixels situés en t rdure de la trame porteuse n'ont pas de pixels fils lorsque le vecteur vitesse est dirigé vers l'intérieur de la trame por¬ teuse. Il est à remarquer aussi qu'un pixel de la trame à interpoler T. peut être le pixel fils de plusieurs pixels pères simultanément. Par exemple, si deux pixels pères ont respectivement deux vecteurs vitesses non colinéaires, il peut arriver que les deux vecteurs de translation C. E. correspondant à ces vecteurs vitesses convergent dans un même pixel fils. Ces cas particuliers sont traités différemment selon trois variantes de mise en oeuvre du procédé selon l'inven¬ tion, qui seront décrites plus loin.

Dans un cas particulier, la trame porteuse T. considérée est la trame Ta ou la trame T.b . Si par exem- pie, la trame porteuse considérée est la trame T , l'estimation des vecteurs vitesses de ses pixels peut

consister à calculer, par un procédé connu, la transla¬ tion élémentaire subie pour chaque point de l'objet entre la tramée Ta et la trame T.b , en déduire un vec- teur translation élémentaire (DX,DY) pour chaque pixel de la trame T, , puis calculer un vecteur vitesse V " pour chacun de ces pixels, selon la formule :

(VX,VY) = ( T D * , T^-) (3) b a b a La figure 3 représente un organigramme des étapes essentielles du procédé selon l'invention, quelle que soit la variante de mise en oeuvre qui est considérée. Cet organigramme représente les étapes du procédé d'in¬ terpolation temporelle d'une seule trame à interpoler, correspondant à l'instant T. . Pour chaque trame à in- i terpoler comprise aussi dans l'intervalle (Ta , T,b) les mêmes étapes sont à réaliser. La figure 3 ne mentionne pas l'étape de détermination des vecteurs vitesses des Dixels de la trame Dorteuse T 1. car c'est une étaoe qui est réalisée une seule fois pour tou es les trames à in¬ terpoler situées entre les deux traces connues corres¬ pondant aux instants Ta et T,b . La trame pour laquelle l'estimation des vecteurs vitesses est réalisée peut être la trame Ta ou la trame T,b ou une trame dont les valeurs de luminance sont inconnues mais qui correspond à un instant Tî. comp^ris entre Ta et T,b . Par exemp^le elle peut être constituée par l'une des trames à inter¬ poler, l'essentiel étant d'utiliser un procédé d'esti¬ mation de vitesse permettant d'obtenir une valeur exacte des composantes du vecteur vitesse peur chaque pixel de cette trame. De nombreux procédés d'estimation de vitesse peuvent être utilisés. Ceux qui réalisent la dé¬ termination par bloc de pixels ou pixel par pixel con¬ viennent mieux que ceux réalisant la détermination par extraction des caractéristiques de la trame, car ils

permettent d'obtenir un champ de vecteurs vitesse plus dense et donc une plus grande précision pour chacun des pixels. Par exemple, il est possible d'appliquer le procédé d'estimation de vitesse décrit par : NETRAVA.H, et ROBBINS dans le brevet US 4 383 272.

Comme mentionné sur la figure 3, le procédé selon l'invention comporte deux phases principales. Une pre¬ mière phase consiste à balayer les pixels de la trame porteuse T. et à déterminer un pixel fils, s'il en existe un, dans la trame à interpoler T. , pour chaque pixel de la trame porteuse. Lorsque tous les pixels de la trame porteuse ont été balayés, une deuxième phase consiste ensuite à balayer successivement tous les pi¬ xels de la trame à interpoler T. ; à associer un vecteur vitesse V à chaque pixel de cette trame à interpoler, en fonction du vecteur vitesse du pixel père ou des pixels pères correspondant au pixel à interpoler considéré, s'il existe au moins un pixel père ; à déterminer, pour chaque pixel à interpoler, deux points de base de l'ïn- terpolation temporelle, dans les deux trames connues Tcl et T. ; à déterminer la luminance de ces deux points de base par une interpolation spatiale dans les deux trames connues T et T. , lorsque les points de base ne sont pas les centres de pixels de ces trames connues ; et enfin à déterminer une valeur de luminance interpolée, pour le pixel à interpoler considéré, en combinant li¬ néairement les valeurs de luminance des deux points de base conformément à la formule (2).

La figure - ' i représente un organigramme de la pre¬ mière phase d'une première variante de mise en oeuvre du procédé selon l'invention. Dans cette variante, le cas où un pixel à interpoler possède plusieurs pixels pères est traité en sélectionnant le pixel père qui est le meilleur. Le critère est la valeur d'une fonction appe-

lée DFD qui est égale à la valeur absolue de la diffé¬ rence des valeurs de luminance des deux points de base A et B. La sélection du meilleur pixel père consiste à comparer entre elles les valeurs de la fonction DFD obtenues en associant au pixel à interpoler le vecteur vitesse de chacun des pixels pères successivement. Le pixel père considéré comme le meilleur, est celui dont le vecteur vitesse donne une valeur minimale à la fonc¬ tion DFD. D'autre part, selon cette première variante, le cas d'un pixel orphelin, c'est-à-dire n'ayant aucun pixel père dans la trame porteuse du mouvement, est traité en déterminant un vecteur vitesse interpolé à partir des vecteurs vitesse associés aux pixels voisins dans la trame à interpoler, dans la mesure où ils ne sont pas orphelins. La valeur de la fonction DFD est utilisée comme critère pour détecter les pixels qui sont orphelins. Dans le cas où il n'est pas possible non plus d'associer un vecteur vitesse cette variante consiste à associer un vecteur vitesse nul.

La première phase de la première variante débute par une initialisation d'une mémoire M2 destinée à sto¬ cker la valeur minimale de la fonction DFD déterminée pour chaque pixel de la trame à interpoler T . . elle est initialisée avec une valeur constante égale à 255 qui correspond à la valeur maximale de la luminance des trames et donc aussi de la DFD. La suite des trames con¬ sidérée est constituée en fait par une suite de trames entrelacées, chaque trame étant considérée comme une trame indépendante. Chaque trame comporte un nombre M de pixels par ligne et un nombre N de lignes. La mémoire M2 a une capactié de MxN octets.

Puis la coordonnée IY est initialisée à zéro. Puis elle est incrémentée d'une unité et la coordonnée

IX est initialisée à zéro. Puis la coordonnée IX est in- crémentée d'une unité. Les coordonnées (IX,IY) dési¬ gnent le centre C. d'un pixel de la trame T. porteuse du mouvement, et qui peut être un pixel père. Puis le vec- teur V*(IX,IY,T. ) , qui est le vecteur vitesse de ce pixel, est lu dans une mémoire MI à une adresse corres¬ pondant aux coordonnées de ce pixel. La mémoire MI est une mémoire ayant une capacité de MxN cellules et qui est chargée préalablement avec les valeurs des compo- santés du vecteur vitesse de tous les pixels de la trame porteuse de mouvement utilisée pour l'interpolation des trames manquantes dans l'intervalle Ta , T,b .

Puis les coordonnées d'un point E. correspondant au point C. sont déterminées selon la formule : ψ_f = PC - fUX,IY).(T.-T .) (4)

Puis les coordonnées du centre F. d'un pixel fils sont déterminées en prenant la partie entière des compo¬ santes du vecteur : pT. + T^+ (0,5 ; 0,5) où (0,5 ; 0,5) permet de "rouver la valeur en¬ tière la plus proche des composantes, et pas seulement la partie entière de celles-ci ; et où Z . est un vecteur de correction de parité de trames, ayant pour compo¬ santes : (0,5 ; 0,5) si les trames T. et T . sont des trames ayant la même parité ;

(0,5 ; 0) si la trame T. est une trame impaire et la trame T. est une trame paire ;

(0,5 ; 1) si la trame T. est une trame paire et si la trame«T. est une trame imoaire. J

Le pixel à interpoler centré sur le point F. est un pixel fils du pixel de coordonnée (IX,IY) dans la trame T. . Le procédé consiste ensuite à déterminer les coordonnées de deux points de base d'interpolation tem-

porelle, B et A, dans les trames T.o et Ta respective- ment, selon les formules : = FF* + (IX,IY).(T b -T j ) + Z^ (5)

* = PΨ ~* - V * (IX,IY).(T -T ) + Z * (6)

J j a a

5 Dans lesquelles le vecteur Z. est un vecteur de correction de parité de trames, ayant pour composantes :

(0 ; 0) si la trame T et la trame T. sont des trames ayant la même parité ; a J

(0 ; 0,5) si la trame T ci est une trame impaire et

- ~ si la trame T. est une trame paire ;

(0 ; -0,5) si la trame T est une trame paire et si la trame T. est une trame impaire.

Le vecteur Z. a des composantes analogues en fonction de la parité de la trame constituant la tramée 5 T . et de la parité de la trame constituant la trame T, .

La première phase de la première variante con¬ siste ensuite à calculer les valeurs de luminance,

L(P7f,Ta et L(P ~ Ê? T.o) aux points A et B selon un procédé de calcul qui sera détaillé plus loin et qui consiste en 0 une interpolation spatiale combinant les valeurs de lu¬ minance de quatre pixels les plus proches du point A, respectivement du point B, lorsque ces points ne corres¬ pondent pas aux centres de pixels de la trame T et de la trame T.b . Puis elle consiste à calculer la valeur de 5 l fonction DFD, qui est égale à la valeur absolue de la différence des luminances, aux points A et B déterminés pour ce vecteur vitesse V*.

Puis la valeur de la fonction DFD est comparée à ' une valeur de seuil fixée égale à 7 dans cet exemple. Si 0 la fonction DFD est inférieure à la valeur de seuil, cela signifie que le pixel de coordonnée (IX,IY) dans la trame porteuse constitue un pixel père pour le pixel à interpoler centré sur le point F. . Le procédé consiste

alors à lire dans la mémoire M2 une valeur DFD' à une adresse correspondant aux composantes du vecteur PF . . Si la valeur DFD qui vient d'être trouvée pour le pixel père de coordonnée (IX,IY) dans la trame T. , est infé- rieure à la valeur DFD' lue dans la mémoire M2, cela signifie que le pixel père qui vient d'être trouvé est meilleur car son vecteur vitesse rend plus petite la valeur de la fonction DFD. Son vecteur vitesse est donc retenu pour être associé au pixel fils centré sur le point F . . Ce vecteur vitesse est inscrit dans une mémoire M1 à une adresse correspondant au pixel fils, c'est-à-dire correspondant aux composantes du vecteur PF*.. La mémoire M1 est une mémoire de MxN cellules des- tinée à stocker la valeur des composantes d'un vecteur vitesse associé, pour chaque pixel à interpoler. En outre la valeur de la fonction DFD qui vient d'être cal¬ culée est inscrite dans la mémoire M2 à l'adresse correspondant au pixel fils, à la place de la précédente valeur DFD' qui correspond à un autre pixel père ou qui est égale à la valeur d'initialisation.

Il est à noter que dans le cas où le pixel fils n r avait pas déjà un ou plusieurs autres pixels pères, la valeur de la fonction DFD lue dans la mémoire M2 est égale à la valeur d'initialisation de la mémoire M2, c'est-à-dire 255.

Dans le cas où la valeur calculée de la fonction DFD est supérieure à 7, alors le pixel de coordonnée (IX,IY) dans la trame T. n'est pas considérée comme un pixel père, et la première phase se poursuit par un test de la valeur atteinte par la coordonnée IX.

Si la valeur de la fonction DFD calculée est su¬ périeure à la valeur DFD' lue dans la mémoire M2, cela signifie que le pixel de coordonnée (IX,IY) dans la

trame T est un pixel père qui n'est pas meilleur qu'un pixel père trouvé précédemment et ayant fourni la valeur DFD' qui vient d'être lue dans la mémoire M2, il est donc à rejeter. La première phase -se poursuit par le test portant sur la coordonnée IX.

Si la coordonnée IX n'a pas atteint sa valeur ma¬ ximale qui est M, les opérations précédentes sont réité¬ rées à partir de l'incrémentation de IX. Si IX a atteint sa valeur maximale, la première phase se poursuit par un test portant sur la coordonnée IY. Si cette dernière n'a pas atteint sa valeur maximale N, les opérations précé¬ dentes sont réitérées à partir de l'incrémentation de IY, jusqu'à ce que IY atteigne N. La première phase, de la première variante, est alors terminée, et commence alors la deuxième phase de cette première variante.

La figure 5 représente un organigramme des opéra¬ tions de calcul des valeurs de luminance L (Yl , 1 3.) et de

L(Plf,T, ) par interpolation spatiale ians les trames T„ et T, D resoectivement. La figure 6 illustre ce procédé de calcul pour la valeur de luminance L(PA,T 3). En général, le point A ne coïncide pas avec le centre d'un pixel de la trame T mais est situé entre les centres Gl , G2, G3, G4 de quatre pixels. L'interpolation spatiale de la valeur de luminance au point A consiste tout d'abord à déterminer la partie entière des composantes du vecteur TÉ pour constituer les coordonnées (XG 3,YG3) du point G1. Les coordonnées du point G2 sont alors (XGa+1 '.YGa). Les coordonnées du point G3 sont alors (XGa,YGa+1). Les coordonnées du point G4 sont alors (XG 3+1 ,YG3+1). Dans cet exemple de mise en oeuvre, le point G4 constitue le point de référence pour l'interpolation. Le procédé con¬ siste ensuite à déterminer des coordonnées (ΔXa„,ΔYd_.) pour le point A, relativement au point de référence G . Ces coordonnées relatives sont données par la formule

(ΔX3..ΔY3. = (XGci.YG CL + (1,1) - PA (7)

Le procédé consiste ensuite à lire dans la mé¬ moire MA des valeurs de luminance : L(XG 3, G >),

L(XG 3.+1,YG3. , LCXG3..YG3.+1) ,- L(XGâ+1,YG3.+1) , correspon- dant aux pixels centrés sur les points G1 à G4, à des adresses correspondant aux coordonnées de ces points G1 à G4. Puis la valeur de luminance L(PA,Ta) est calculée selon la formule :

L( 5 * ,T ) - L(XG +1,YG +1).(1-ΔX )(1-ΔY ) + L(XG a ,YG a +1).ΔX a .(l-ΔY a )

+ L(XGa+1,YGa).(1-ΔXa).ΔYa (8)

+ L(XG Œ.YG3 .ΔX 3..ΔY3.+0,5

Le calcul de la valeur de luminance L(P?,T.b) est réalisée selon une suite d'opérations tout à fait analogue.

La figure 7 représente l'organigramme de la se¬ conde phase de la première variante de la mise en oeuvre du procédé selon l'invention. Cette seconde phase commence par une initialisation à zéro d'une coordonnée IY', puis une incrémentation d'une unité de cette coor¬ donnée et une initialisation à zéro d'une seconde coor¬ donnée IX'. Les coordonnées (IX',IY') sont les coordon¬ nées du centre d'un pixel de la trame à interpoler Tj. Puis le procédé consiste à incrémenter la coordonnée IX' et à lire la valeur DFD (IX',IY') stockée dans la mémoire M2 à une adresse correspondant aux coordonnées (IX',IY r ). La valeur lue est comparée à une valeur de seuil égale à la valeur 255 ayant servie à initialiser la mémoire M2 et qui est égale à la valeur maximale de la luminance.

Si la valeur lue n'est pas égale à 255, cela si¬ gnifie qu'une valeur de la fonction DFD a été calculée précédemment pour ce pixel à interpoler, parce qu'il est le pixel fils d'un pixel de la trame porteuse de mouve-

ment T.. Un vecteur vitesse lui a donc été associé pré¬ cédemment, au cours de la première phase du procédé. Ce vecteur vitesse est lu dans la mémoire M1 à l'adresse correspondant aux coordonnées (IX',IY') puis est uti¬ lisé pour calculer les vecteurs Ë et PA conformément aux équations (5) et (6). Ces vecteurs Pif et P? détermi¬ nent deux points de base A et B pour l'interpolation temporelle. Ils sont utilisés pour calculer les valeurs de luminance L(P ,T ) et L(PT?,T, ) par une interpolation sp r atiale dans les trames Ta et T.b , conformément à l'or- ganigramme représenté sur la figure 5 et décrit précé¬ demment.

Si la valeur de la fonction DFD lue dans la mé¬ moire M2 est restée égale à la valeur d'initialisation, 255, cela signifie que la première phase du procédé n'a jamais détecté le pixel de coordonnées (IX',IY') comme pixel fils d'un pixel père situé dans la trame porteuse du mouvement T.. Le pixel à interpoler, de coordonnées (IX',IY') est donc un pixel orphelin et il est né- cessaire de lui associer un vecteur vi esse par un autre moyen. Selon cette première variante, un vecteur vitesse est calculé en interpolant entre les vecteurs vitesse de quatre pixels voisins du pixel orphelin, dans la mesure où ils ne sont pas eux-mêmes des pixels orphelins. Ce calcul est réalisé en lisant dans la mémoire M2 les va¬ leurs de la fonction DFD et en lisant dans la mémoire M1 les composantes du vecteur vitesse 7 pour les quatre points voisins dont les coordonnées sont : (IX',IY'-1), (IX'-1,IY'), (IX'+1,IY'}, (IX',IY » +1)

Puis la valeur du vecteur vitesse interpolée Vs est calculée selon la formule : ?(ÏX',IY') +

A 01 .V * (IX'-1,IY') + A l0 . f(IX'+1,IY') + A .? ( IX',IY' ) )

avec A Q0 = 0 si DFD(IX' ,IY'-1 ) = 255

A- Q = 1 sinon.

A Q1 : 0 si DFD(IX'-1,IY' ) = 255

A-. = 1 sinon. A 1Q = 0 si DFD(IX*+1,IY') = 255

A 1f - = 1 sinon.

A^ = 0 si DFD(IX* ,IY'+1) = 255

A m s 1 sinon.

Et j(IX',IY') = (0,0) si A Q0 = A Q1 = A 1Q = â : 0, c'est-à-dire si les 4 pixels voisins sont aussi des pixels orphelins.

Les vecteurs PB et P ~ Â sont ensuite calculés con¬ formément aux formules (5) et (6) dans lesquelles le vecteur V est constitué par le vecteur interpolé V . Puis les valeurs de luminance L(PJ?,Ta) et sont déterminées ensuite par une interpolation spatiale dans les trames Ta et T,b,' conformément à l'organigramme de la figure 5 décrit précédemment. Puis 1= valeur de la fonc¬ tion DFD est calculée pour les points de base A et B ainsi déterminés.

Si cette valeur de la fonction DFD est inférieure à la valeur de seuil, 7, cela signifie que le vecteur vitesse interp r olé ?S constitue une estimation convena- ble du vecteur vitesse du pixel orphelin considéré. Il peut donc être associé à ce pixel orphelin. Le procédé consiste alors à calculer la valeur de la luminance in¬ terpolée du pixel orphelin considéré, L(IX' ,IY' ,T .) selon la formule (9).

Si la valeur de la fonction DFD est supérieure à la valeur de seuil, cela signifie que le vecteur vitesse interpolé ne convient pas et ne peut être associé au pi¬ xel orphelin considéré. En dernier recours, un vecteur vitesse nul est associé au pixel orphelin. Les deux points de base de l'interpolation temporelle, A et B,

ont alors les mêmes coordonnées (IX',IY') que le centre du pixel à interpoler, par conséquent les vecteurs PB et Ψït sont tous les deux égaux et ont pour composantes (IX 1 ,IY'). Les valeurs de luminance L ( , 1_ ) et L(PB > ,T b ) sont ensuite déterminées sans interpolation spatiale dans les trames Ta et T.b , car IX' et IY' sont des valeurs entières. Elles sont lues dans les mémoires MA et MB respectivement aux adresses correspondant à (IX 1 ,IY'). Puis la valeur de luminance interpolée

L(IX' ,IY' ,T

'iinntteerrppoollééee (10)

Chaque fois qu'une valeur de luminance interpo¬ lée L(IX' ,IY' ,T .) a été calculée, cette valeur est four¬ nie, par ex-emple, à une mémoire de la trame stockant les valeurs interpolées de la trame T. en attendant une uti- lisation de ces valeurs de luminance. Puis la valeur de la coordonnée IX' est comparée à sa valeur maximale M pour déterminer si elle a atteint cette valeur maximale. Si elle ne l'a pas atteinte les opérations précédentes sont réitérées à partir de l'incrémentation de IX'. Si elle a atteint sa valeur maximale, la valeur de la se¬ conde coordonnée IY' est comparée à sa valeur maximale N. Si elle n'a pas atteint sa valeur maximale, les opé¬ rations précédentes sont réitérées à partir de l'incré- mentation de IY'. Si elle a atteint sa valeur maximale, cela signifie que tous les pixels à interpoler ont été balayés et que, par conséquent, le traitement d'interpo¬ lation temporelle de la trame T. est terminée.

La figure 8 représente un organigramme de la pre¬ mière phase du procédé selon l'invention, selon une deu¬ xième variante de mise en oeuvre, permettant de simpli¬ fier les calculs et de supprimer la mémoire M2 car cette variante n'utilise pas la fonction DFD. La première pha-

se débute par une initialisation de la mémoire M1 avec la valeur (255, 255) qui constitue la valeur maximale des composantes du vecteur vitesse associé à chaque pixel à interpoler. En outre l'ordonnée IY des pixels de la trame porteuse du mouvement T. est initialisée à zéro. Puis cette ordonnée IY est incrémentée d'une unité, et l'abscisse IX des pixels de la trame porteuse du mouvement T. est initialisée à zéro. Puis cette abscisse est incrémentée d'une unité ^ . La valeur des com¬ posantes du vecteur vitesse V*(IX,IY,T.) est lue dans la mémoire MI puis est utilisée pour calculer les compo¬ santes du vecteur PE. et les composantes du vecteur PF . . Puis ce vecteur vitesse est inscrit dans la mémoire M1 à l'adresse correspondant aux composantes du vecteur FF c'est-à-dire à l'adresse correspondant aux coordonnées du pixel fils.

Puis la valeur de la coordonnée IX est comparée à sa valeur maximale M. Si celle-ci n'est pas atteinte les opérations précédentes sont réitérées à partir de l'in- crémentation de IX. Si elle est atteinte, la valeur de la coordonnée IY est comparée à sa valeur maximale N. Si celle-ci est atteinte, la première phase est terminée et une seconde phase commence. Si IY n'a pas atteint sa valeur maximale N, les opérations précédentes sont réi- térées à partir de l'incrémentation de IY.

La figure 9 représente un organigramme de la se¬ conde phase de la seconde variante de mise en oeuvre du -procédé selon l'invention. Cette seconde phase commence par une initialisation à zéro de la coordonnée IY' des pixels à interpoler. Puis elle consiste à incrémenter la coordonnée IY' et à initialiser à zéro la coordonnée IX r . Puis elle consiste à incrémenter d'une unité la coordonnée IX' et à lire le vecteur vitesse V * (IX' ,IY' ,T .) dans la mémoire M1 à une adresse corres- pondant aux coordonnées (IX',IY').

Les composantes de ce vecteur vitesse sont compa¬ rées chacune à la valeur 255 qui est la valeur initiale chargée dans la mémoire M1. Si les composantes du vec¬ teur vitesse sont égales à leur valeur initiale, cela si- gnifie qu'aucun vecteur vitesse n'a été associé au pixel de coordonnées (IX',IY'). Celui-ci est donc un pixel or¬ phelin et il est nécessaire de déterminer d'une autre façon le vecteur vitesse à associer à ce pixel. Un vec¬ teur vitesse interpolé / est calculé par une interpola- tion spatiale à partir des vecteurs vitesse de quatre pixels voisins du pixel orphelin. Les vecteurs vitesse de ces quatre pixels voisins sont lus dans la mémoire M1 puis sont combinés linéairement conformément à l'équa¬ tion (9) mais en prenant : A Q0 = 0 si V*(IX'-1,IY') = (255,255)

A nn = 1 sinon.

A Q1 : 0 si V»(IX'-1,IY » ) = (255,255)

A... = 1 sinon.

A 1Q = 0 si V*(IX'+1,IY') = ^255,255) A.- = 1 sinon. k - 0 si (IX' ,IY'+1) = '255,255)

A. 1 1 sinon.

Et V^IX'.IY') = (0,0) si A Q0 = A Q1 = A 1Q = A . = 0, c'est-à-dire si les quatre pixels voisins sont eux aussi des pixels orphelins.

Il est à remarquer que l'absence d'utilisation de la fonction DFD n'empêche pas de détecter si un pixel à interpoler est un pixel orphelin ou non, grâce à l'ini¬ tialisation de la mémoire M1 avec la valeur (255,255) qui permet de discriminer les valeurs de vecteur vitesse qui n'existent pas. Par contre, la première phase ne distingue pas le meilleur pixel père lorsqu'un pixel à interpoler possède plusieurs pixels pères, par consé¬ quent le vecteur vitesse associé est celui correspondant au dernier pixel père trouvé, pour un pixel à interpoler donné, lorsqu'il a plusieurs 'pixels pères.

Lorsque le vecteur vitesse V(IX' ,IY' ,T .) a des composantes différentes de 255, cela signifie que le pi¬ xel à interpoler a un vecteur vitesse associé qui a été déterminé au cours de la première phase. Le procédé con- siste ensuite à calculer les vecteurs Pif et Pu* selon les formules (5) et (6) pour le vecteur vitesse lu dans la mémoire M1 ou pour le vecteur vitesse Ψ* interpolé, associé au pixel (IX',IY'). Puis il consiste à calculer les valeurs de luminance L(PA,T 3.) et L(PB,T.0). Lorsque le vecteur vitesse n'est pas nul ce calcul est réalisé par une interpolation spatiale dans les trames T et T. respectivement, selon l'organigramme représenté sur la figure 5 et décrit précédemment. Lorsque le vecteur vitesse est nul, ces deux valeurs de luminance sont lues dans les mémoires MA et MB à l'adresse correspondant à (IX 1 ,IY'). Puis le procédé consiste à calculer la valeur de luminance interpolée L(IX' ,IY' ,T . } , selon la formule (10). La valeur de luminance interpolée est ensuite fournie, par exemple, à une mémoire de trames pour être stockée en attendant une utilisation le la trame inter¬ polée T, .

Puis la valeur de la coordonnée IX' est comparée à sa valeur maximale M. Si la valeur maximale n'est pas atteinte, les opérations précédentes sont réitérées à partir de l'incrémentation de IX'. Sinon la valeur de la coordonnée IY' est comparée à sa valeur maximale N. Si cette valeur maximale n'est pas atteinte, les opérations précédentes sont réitérées à partir de l'incrémentation de IY'. Lorsque IY' a atteint la valeur maximale N, le traitement d'interpolation de la trame T. est terminé.

3 La figure 10 représente un organigramme de la première phase du procédé selon l'invention pour une troisième variante de mise en oeuvre de ce procédé.

Cette troisième variante de mise en oeuvre ne nécessite

pas de calcul de la fonction DFD et ne nécessite pas de mémoire M2, de même que la seconde variante. Elle pré¬ sente, par rapport à la seconde variante, l'avantage de permettre un stockage des valeurs de luminance interpo- lées sans avoir une mémoire de la trame supplémentaire, car cette troisième variante permet de réutiliser la mémoire M1 pour le stockage des valeurs de luminance in¬ terpolées. Au cours de la première phase, dans cette troisième variante, au lieu de stocker dans la mémoire M1 les vecteurs vitesses associés aux pixels fils au fur et à mesure du balayage des pixels pères de la trame porteuse du mouvement, elle consiste à calculer et à stocker dans M1 les valeurs de luminance interpolées correspondant à ces pixels fils. Ainsi, au cours de la deuxième phase il ne .reste plus qu'à calculer une valeur de luminance interpolée pour chaque pixel orphelin seu¬ lement. La valeur des composantes des vecteurs vitesse des pixels voisins n'étant pas stockée, il n'est pas possible d'utiliser une interpolation pour calculer un vecteur vitesse à associer à chaque pixel orphelin. Le vecteur vitesse associé au pixel orphelin est alors pris nul.

La première phase de cette troisième variante débute par une initialisation de la mémoire Ml avec la valeur 255 qui correspond à la valeur maximale de la lu¬ minance et qui est donc facile à discriminer pour dé¬ tecter les pixels orphelins, ceux-ci étant discrimina- bles par le fait que la valeur correspondante de la lu¬ minance, stockée dans la mémoire M1 , reste égale à 255 à la fin de la première phase du procédé. Elle débute aussi par une initialisation de la coordonnée IY à zéro. Puis elle consiste à incrémenter IY d'une unité et à initialiser à zéro la coordonnée IX. Elle consiste ensuite à incrémenter d'une unité la coordonnée IX, puis

à lire le vecteur vitesse V*(IX,IY,T.) dans la mémoire MI ; puis à calculer les vecteurs PΞ ', PF , F * , ¥t,

• selon les formules (4) à (6). Puis elle consiste à cal¬ culer les valeurs de luminance L(P ~ ,T a ) et L(Fî ,T b ) par une interpolation spatiale dans les trames T et 1. , conformément à l'organigramme de la figure 5 décrit pré¬ cédemment. Puis elle consiste à calculer la valeur de luminance interpolée L(PF ,T .) , correspondant au pixel fils centré sur le point F., selon la formule (10) ; à écrire cette valeur de luminance dans la mémoire Ml à une adresse correspondant aux composantes du vecteur FF

«J

La première phase consiste ensuite à tester la valeur de la coordonnée IX pour détecter si elle a atteint sa valeur maximale M. Si la valeur M n'est pas atteinte, elle consiste à réitérer les opérations précé¬ dentes à partir de l'incrémentation de IX. Lorsque IX a atteint la valeur maximale M, elle consiste à comparer la valeur de la coordonnée IY à sa valeur maximale N. Si IY a atteint la valeur N, la première phase est termi¬ née. Sinon, les opérations précédentes sont réitérées à partir de l'incrémentation de la coordonnée IY.

La figure 11 représente un organigramme de la seconde phase de la troisième variante de mise en oeuvre du procédé selon l'invention. Cette seconde phase con¬ siste tout d'abord à initialiser à zéro la coordonnée IY' d'un pixel de la trame à interpoler T. ; puis à in¬ crémenter cette coordonnée IY' d'une unité et à initia¬ liser à zéro une seconde coordonnée IX' . Puis elle con- siste à incrémenter la coordonnée IX' d'une unité ; à lire la valeur de luminance stockée dans la mémoire M1 à l'adresse correspondant aux coordonnées (IX',IY') ; et à comparer cette valeur de luminance à la valeur 255 qui est la valeur chargée initialement dans la mémoire Ml .

Si la valeur de luminance est différente de 255 cela signifie qu'une valeur de luminance a été détermi¬ née au cours de la première phase, pour le pixel à in¬ terpoler de coordonnées (IX', IY'). Si la valeur de lu- minance est égale à 255, cela signifie que ce pixel à interpoler n'a pas de pixel père dans la trame porteuse du mouvement T.. Dans ce cas, un vecteur vitesse nul est attribué à ce pixel orphelin, et les vecteurs et Fïf ont des composantes égales à celles du vecteur portant le centre du pixel à interpoler, c'est-à-dire (IX',IY'). Ensuite les valeurs de luminance des deux points de base de l'interpolation temporelle, L(PT,T ) et L(FF > ,T. ) sont lues dans les mémoires MA et MB à l'adresse corres¬ pondant à (IX',IY'). Puis une valeur de luminance inter- polée L(IX' ,IY' ,T .) est calculée selon la formule (9). Enfin, la valeur de luminance interpolée est ins¬ crite dans la mémoire M1 à l'adresse correspondant aux coordonnées (IX',IY') pour y être sttt ée en attendant une utilisation des valeurs de luminance de la trame in- terpolée T . . A la fin du traitement ce tous les pixels de la trame à interpoler, la mémoire Mi sera remplie par les valeurs de luminance interpolées. La mémoire M1 joue donc le rôle de la mémoire de la trame supplémentaire qui était nécessaire pour stocker les valeurs de lumi- nance interpolées selon la première et la deuxième variante de mise en oeuvre, décrites précédemment.

Puis cette seconde phase consiste à comparer la valeur de la coordonnée IX' à sa valeur maximale M. Si IX' n'a pas atteint sa valeur maximale, la deuxième phase consiste ensuite à réitérer les opérations précé¬ dentes à partir de l'incrémentation de IX'. Si IX' a atteint sa valeur maximale, la seconde phase consiste ensuite à comparer la valeur de la coordonnée IY' à sa valeur maximale M. Si IY' n'a pas atteint sa valeur N,

les opérations précédentes sont réitérées à partir de l'incrémentation de IY' . Si IY' a atteint sa valeur ma¬ ximale, le traitement de tous les pixels à interpoler est terminé. La figure 12 représente le schéma synoptique d'une première partie d'un dispositif pour la mise en oeuvre du procédé selon l'invention, conformément à la première variante décrite précédemment. Cette première partie comporte : une borne d'entrée 1 ; un dispositif de multiplexage 2 ; un dispositif d'estimation de mouve¬ ment 3 ; un séquenceur 4 ; une mémoire 5 dite mémoire MI ; un dispositif 7 de calcul du vecteur FF ; un bus d'adresses et de données, 9 î un dispositif 10 de calcul ; une mémoire MA, pour stocker les valeurs de lu- minance de la trame corresDondant à l'instant Ta : une mémoire MB pour stocker les valeurs de luminance de la trame correspondant à l'instant T. ; et des moyens de calcul 5a, pour associer un vecteur vitesse à chaque pixel à interpoler ayant au moins un pixel père. Ces moyens de calcul 5a comportent : un disposi¬ tif 6 de calcul du vecteur PA * ; un dispositif 8 de cal¬ cul du vecteur FB ; un dispositif 10 de calcul de

L (TÊ, τa ) ; un dispositif 11 de calcul de L(Fï ,T.D) ; un soustracteur 14 ; deux comparateurs 15 et 16 ; deux mul- tïplexeurs, 17 et 18, à deux entrées et une sortie ; une porte logique ET 19 ; un dispositif d'initialisation 20 ; une mémoire M1 pour stocker les vecteurs vitesse associés aux pixels à interpoler ; et une mémoire M2 pour stocker les valeurs de la' fonction DFD.

Le dispositif de multiplexage 2 possède une en¬ trée reliée à la borne d'entrée 1 du dispositif d'inter¬ polation pour recevoir une suite de valeurs de luminance correspondant à une suite de trames connues constituée par des trames de trames de télévision classique. Ces

valeurs de luminance sont fournies, par exemple, par une caméra de télévision et un convertisseur analogique- numérique. Le dispositif 2 possède une sortie reliée au bus 9, qui est un bus de données, d'adresses, et de com- mandes, pour transmettre les valeurs de luminance soit à la mémoire MA soit à la mémoire MB. Dans l'exemple con¬ sidéré, la trame correspondant à l'instant T 3. est suppo- sée précéder la trame correspondant à l'instant T b , mais lors du traitement d'une suite de trames les mémoires MA et MB sont utilisées alternativement pour stocker la trame la plus récente.

Le séquenceur 4 fournit des signaux de commande à l'ensemble de cet exemple de réalisation et notamment au dispositif 2, en synchronisme avec les valeurs de lumi- nance appliquées à la borne d'entrée 1. Le dispositif 3 d'estimation de mouvement possède une entrée-sortie reliée au bus 9 pour lui permettre de commander la lec¬ ture d.e valeurs de luminance dans les mémoires MA et MB, et l'écriture des valeurs des composantes du vecteur vitesse des pixels de la trame T. dans la mémoire MI.

Le dispositif 3 est réalisé, par exemple, confor¬ mément à la description du brevet US n° 4 383 272. Il fournit une estimation de mouvement constituée par les composantes d'un vecteur vitesse pour chaque pixel d'une trame correspondant à un instant T. compris entre les instants Ta et les instants T,b ,' en fonction des valeurs de luminance des trames connues aux instants Ta et T,b ,

La mémoire MI possède une entrée d'adresse reliée à une sortie du séquenceur 4 pour recevoir une adresse consti¬ tuée par les coordonnées (IX,IY) d'un pixel de la trame porteuse du mouvement T. . Le séquenceur 4 fournit une suite de coordonnées correspondant à l'ordre de balayage habituel d'une trame de la trame de télévision. Cette suite de coordonnées est fournie aussi à une première

entrée du dispositif de calcul 7. Une seconde entrée du dispositif de calcul 7 est reliée à une sortie de données de la mémoire MI pour recevoir la valeur des composantes du vecteur vitesse V*(IX,IY,T. ) lue dans la mémoire MI à l'adresse (IX,IY). La valeur de ces compo¬ santes est appliquée aussi à une entrée du dispositif de calcul 6, à une entrée du dispositif de calcul 8, et à une première entrée du multiplexeur 18.

Les dispositifs de calcul 6, 7, et 8 fonctionnent en parallèle pour déterminer respectivement les compo¬ santes des vecteurs PA * , PF . et Ψït Pour chaque pixel de

_i coordonnées (IX,IY) dans la trame T. porteuse du mouve¬ ment, le dispositif de calcul 7 détermine le centre F. d'un pixel fils, s'il en existe un ; les dispositifs de calcul 6 et 8 déterminent les coordonnées des points de base A et B pour une interpolation temporelle, en vue de calculer une valeur de luminance pour le pixel fils. Les dispositifs 6 et 8 fournissent respectivement les compo¬ santes du vecteur FÂ * et du vecteur T_ * à une entrée du dispositif de calcul 10 et à une entrée du dispositif de calcul 11.

Le dispositif de calcul 10 possède une sortie et une entrée reliées respectivement à une entrée d'adresse et à une sortie de données de la mémoire MA, pour commander dans la mémoire MA la lecture des valeurs de luminance nécessaires pour une interpolation spatiale à partir des pixels voisins du point A dans la trame T De même, le dispositif 11 possède une sortie et une entrée reliée respectivement à une entrée d'adresse et à une sortie de données de la mémoire M3 pour y lire les valeurs de luminance nécessaires pour une interpolation spatiale entre les pixels voisins du point B dans la trame T b . Les valeurs de luminance L(PX,T a ) et L(Fïf,T fa ) calculées respectivement par les dispositifs 10 et 11

sont appliquées respectivement à deux entrées du sous¬ tracteur 14 pour calculer une valeur de la fonction DFD. Le soustracteur 14 fournit une valeur algébrique dont la valeur absolue constitue la valeur de la fonction DFD. Celle-ci est appliquée à une première entrée du multiplexeur 17 et à des premières entrées des compara¬ teurs 15 et 16. Une seconde entrée du comparateur 15 reçoit une valeur DFD' de la fonction DFD lue dans la mémoire M2 à une adresse constituée par les composantes du vecteur PF^, c'est-à-dire correspondant au pixel fils en cours de traitement. Le comparateur 16 possède une seconde entrée recevant une valeur de seuil : 7. Les comparateurs 15 et 16 ont chacun une sortie reliée à une entrée de la porte logique ET 19 pour valider celle-ci , lorsque la valeur de la fonction DFD fournie par le soustracteur 14 est inférieure à la valeur de seuil 7 et inférieure à ' la valeur DFD' lue dans la mémoire M2.

La porte 19 possède une sortie reliée à une entrée de commande du multiplexeur 1? et à une entrée de commande du multiplexeur 18. La seconde entrée du multi¬ plexeur 17 est reliée à la sortie de données la mémoire M2. La première et la seconde entrée du multiplexeur 18 sont reliées respectivement à la sortie de données de la mémoire MI fournissant le vecteur Ϋ(IX,IY,T . ) , et à une sortie de la mémoire M1 fournissant la valeur des compo¬ santes d'un vecteur vitesse lu à l'adresse constituée par les composantes PF ..

Les mémoires M1 et M2 possèdent chacune une entrée d'adresse reliée à la sortie du dispositif de calcul 7 pour recevoir la valeur des composantes du vecteur PF . . Dans un premier temps le séquenceur 4 commande dans les mémoires M1 et M2, une lecture à l'adresse constituée par les composantes du vecteur PF Cette lecture permet de connaître la valeur DFD' de la

fonction DFD et la valeur des composantes du vecteur vitesse trouvée précédemment si le pixel centré sur le ' point F. a au moins un pixel père ayant été déterminé précédemment. Si la valeur de la fonction DFD fournie par le soustracteur T4, pour le pixel père de coordonnées (IX,IY), est inférieure à 7 et inférieure à la valeur DFD' déterminée pour un autre pixel père trouvé précé¬ demment, alors le signal fourni par la sortie de la porte 19 commande les multiplexeurs 17 et 18 pour trans¬ mettre respectivement la valeur de la fonction DFD four¬ nie par le soustracteur 14 et le vecteur vitesse fourni par la sortie de la mémoire MI.

Si la valeur de la fonction DFD fournie par la sortie du soustracteur 14 est supérieure à 7 ou bien est supérieure à la valeur DFD' lue dans la mémoire M2, alors les multiplexeurs 7, et 18 transmettent respecti¬ vement la valeur DFD' fournie par la mémoire M2 et le vecteur vitesse fourni par la mémoire Ml . La sortie du multiplexeur 17 et la sortie du multiplexeur 18 sont reliées respectivement à des entrées de données des mémoires M2 et M1.

Dans un second temps, le séquenceur 4 commande une écriture dans ces mémoires pour inscrire la valeur de la fonction DFD transmise par le multiplexeur 17 et le vecteur vitesse transmis par le multiplexeur T8. Le contenu des mémoires M2 et M1 est donc renouvelle lors¬ qu'un meilleur pixel père est détecté.

Un dispositif d'initialisation 20 possède deux sorties reliées respectivement à l'entrée d'adresse et à l'entrée de données de la mémoire M2 pour lui fournir une suite de valeurs d'adresse permettant d'inscrire la valeur 255 à toutes les adresses pendant une phase d'initialisation précédant le traitement de chaque

trame. Pendant cette phase d'initialisation, le dispo¬ sitif 20 et la mémoire M2 sont commandés par le séquen¬ ceur 4 pour réaliser cette écriture. L'entrée d'adresse et l'entrée de données de la mémoire M2 sont reliées d'autre part à une borne d'entrée 26 et à une borne d'entrée 28 qui sont reliées à la seconde partie de cet exemple de réalisation. La sortie de données de la mémoire M2 et la sortie de données de la mémoire M1 sont reliées respectivement à deux bornes de sorties 27 et 30, reliées à la seconde partie de cet exemple de réali¬ sation. L'entrée d'adresse et l'entrée de données de la mémoire M1 sont reliées respectivement à la borne d'en¬ trée 28 et à une borne d'entrée 29, reliées à la seconde partie de cet exemple de réalisation. La figure 13 représente un schéma synoptique plus détaillé des dispositifs de calcul 6, 7, 8, 10 et 11. Le dispositif 6 comporte un multiplicateur 61, un disposi¬ tif 62 de correction de parité de trames, et un addi¬ tionneur 63. L'entrée du dispositif 6, recevant la valeur des composantes du vecteur V " (IX,IY,T. ) , est re¬ liée à une première entrée du multiplicateur 61. Une se¬ conde entrée du multiplicateur 61 reçoit en permanence la valeur -(T.-T ). Une sortie du multiplicateur 61 est J a reliée à une entrée du dispositif 62 pour lui fournir la valeur des composantes d'un vecteur : -V * . (T.-T ).

3 3.

Le dispositif 62 additionne à la valeur de ces composantes, la valeur des composantes du vecteur Z ~ 3 * qui est fonction de la parité de la trame en cours d'inter- oolation et de la trame Ta. Le disp r ositif 62 est relié,' par des liaisons non représentées, à des sorties du sé¬ quenceur 4 fournissant des signaux de commande fonctions de la parité de ces deux trames. Le dispositif 62 peut être constitué d'additionneurs et d'une mémoire morte stockant la valeur des composantes du vecteur Z -*" , cette

mémoire morte recevant une adresse constituée par les signaux de commande fournis par le séquenceur 4. L'addi¬ tionneur 63 possède : une entrée reliée à la sortie du dispositif 62 ; une autre entrée reliée à la sortie du dispositif de calcul 7 pour recevoir la valeur des com¬ posantes du vecteur FF ; et une sortie constituant la sortie du dispositif 6, sortie fournissant la valeur des composantes du vecteur PA.

Le dispositif de calcul 8 a une structure très semblable à celle du dispositif de calcul 6. Il comporte un multiplicateur 81, un dispositif 32 de correction de parité de trames, et un additionneur 83. Le multiplica¬ teur 81 reçoit la valeur (T.-T.) au lieu de la valeur -(T.-T ), et le dispositif 82 additionne la valeur des composantes du vecteur Z, , au lieu de la valeur des composantes du vecteur "Z . La valeur des composantes du vecteur _ ~ est fonction de la parité de la trame T . et

- 3 de la trame T.. Le dispositif 82 est relié au séquenceur

4 par des liaisons non représentées, fournissant des signaux de commande fonction de la parité de ces trames. Le dispositif de calcul 7 comporte un multiplica¬ teur 71, un soustracteur 72, un dispositif 73 de correc¬ tion de parité de trames, et un dispositif 74 de calcul de la valeur entière la plus proche (VEPP) d'une valeur. Une première entrée du multiplicateur 71 constitue l'entrée du dispositif 7 recevant la valeur des compo¬ santes du vecteur 7 (IX,IY,T.). Une seconde entrée du multiplicateur 71 reçoit en permanence la valeur (T^-T.). Une sortie du multiplicateur 71 est reliée à une première entrée.du soustracteur 72 et lui fournit la valeur des composantes du vecteur-V* . (T.-T.). Une se¬ conde entrée du soustracteur 12 reçoit les coordonnées (IX,IY) fournies par le séquenceur 4 et constituant les composantes du vecteur PC.. Une sortie du soustracteur vJ

72 fournit à une entrée du dispositif 73 la valeur des composantes du vecteur PE. calculée conformément à la formule (4). "

Le dispositif 73 ajoute à la valeur de ces compo- santés la valeur des composantes du vecteur Z. qui est fonction de la parité de la trame T. et de la trame T.. Le dispositif 73 peut être constitué comme les disposi¬ tifs 62 et 82. Il est relié à des sorties du séquenceur 4 par des liaisons non représentées lui fournissant des signaux de commande fonction de la parité des trames T. et T.. Une sortie du dispositif 73 est reliée à une entrée du dispositif 74.

Le dispositif 74 additionne 0,5 à chacune des composantes du vecteur fourni par la sortie du disposi- tif 73 puis prend la partie entière de la somme obtenue. Le dispositif 74 peut être constitué de deux addition¬ neurs additionnant chacun la valeur constante 0,5. La partie entière est extraite en mettant à 0 les bits constituant la partie fractionnaire. Une sortie du dis- positif 7 constitue la sortie du dispositif 7 et four¬ nit la valeur de deux composantes constituant le vecteur PF . . La valeur de ces composantes est utilisée notamment comme valeur d'adresse pour les mémoires M1 et M2, lors de l'écriture dans ces mémoires de la valeur de la fonc- tion DFD et des composantes du vecteur vitesse, corres¬ pondant au pixel fils centré sur le point F. .

Les dispositifs de calcul 10 et 11 ont une struc¬ ture analogue, mais le dispositif 10 est couplé à la mémoire MA alors que le dispositif : 1 est couplé à la mémoire MB. Le dispositif 10 comporte : un dispositif

101 de calcul de la valeur entière la plus proche de la valeur des composantes d'un vecteur ; un additionneur

102 ; un soustracteur 103 > un dispositif de calcul d'adresse 104 ; et un dispositif de calcul 105 qui met

en oeuvre la formule (8) et qui sera décrit plus en détails en se référant à la figure 14.

Une entrée du dispositif 101 constitue l'entrée du dispositif 10, et est reliée aussi à une première entrée du soustracteur 103. Une sortie du dispositif 101 est reliée à une première entrée de l'additionneur 102 et à une entrée du dispositif 104 de calcul d'adresses, pour leur fournir la valeur des composantes (XG 3.,YG3) obtenues en prenant la partie entière de la valeur des composantes du vecteur Pif. Le dispositif 101 peut être constitué comme le dispositif 74.

L'additionneur 102 possède une seconde entrée recevant, en permanence la valeur des composantes d'un vecteur (1,1), et possède une sortie reliée à une seconde entrée du soustracteur 103. Une sortie du sous¬ tracteur 103 est reliée à une borne d'entrée 106 du dis¬ positif de calcul 105 pour lui fournir la valeur des coordonnées relatives du point A : (ΔX 3,ΔY3.). Le dispo- sitif de calcul 105 possède une seconde borne d'entrée 108 reliée à une sortie de données de la mémoire MA et possède une borne de sortie 107 constituant la" sortie du dispositif 10 et reliée à la première entrée du sous¬ tracteur 14 pour lui fournir la valeur de luminance Le dispositif 104 de calcul d'adresses possède une entrée reliée à la sortie du dispositif 101 pour recevoir les coordonnées (XGa,YGa) et possède une sortie reliée à une entrée d'adresse de la mémoire MA. Le dis¬ positif 104 fournit quatre adresses successives à la mémoire MA sous l'action d'un signal d'horloge fourni par le séquenceur 4 qui commande quatre lecture succes¬ sives dans la mémoire A pour lire les valeurs de lumi¬ nance stockées à des adresses constituées par les coor¬ données : (XG a.+1,YG 3.+1) ; (XGa β ,YGa+1) ; (XGa+1,YGa) ;

(XG3,YG3) . Le dispositif 103 peut être constitué de quatre registres, de quatre additionneurs, et d'un mul¬ tiplexeur, commandés par des signaux de commande fournis par le séquenceur 4. Le dispositif de calcul 11 comprend : un disposi¬ tif 111 de calcul de la valeur entière la plus proche des composantes d'un vecteur ; un dispositif 112 de calcul d'adresses ; un additionneur 113 ; un soustrac¬ teur 114 ; et un dispositif de calcul 115, ayant des fonctions analogues aux fonctions des éléments 101 à 105 du dispositif de calcul 10.

La figure 14 représente le schéma synoptique d'un exemple de réalisation du dispositif de calcul 105. Il comporte : six registres, 120 à 123 et 133, 135 ; huit multiplicateurs, 124 à 131 ; un additionneur 132 ; et deux soustracteurs 134 et 136. Le dispositif 105 met en oeuvre la formule (8). La borne d'entrée 106 est reliée à des entrées des registres * 23 à 123 qui stockent res¬ pectivement les quatre paires de coordonnées appliquées à la borne d'entrée 106. La borne d'entrée 108 est reliée à des entrées des registres 133 et 135 qui sto¬ ckent respectivement les valeurs ΔXa et ΔYa . Les sor- ties des registres 120 à 123 sont reliées respectivement à des premières entrées des multiplicateurs 124, 126, 128, 130. La sortie du registre 133 est reliée à : une première entrée du soustracteur 134, une seconde entrée du multiplicateur 126, et une seconde, entrée du multi¬ plicateur 130. La sortie des multiplicateurs 124, 126, 128, 130 est reliée respectivement à une première entrée du multiplicateur 125, du multiplicateur 127, du multi¬ plicateur 129, et du multiplicateur 131. La sortie du registre 135 est reliée à une seconde entrée du multi¬ plicateur 129, à une seconde entrée du multiplicateur 131, et à une première entrée du soustracteur 136. Le

soustracteur 134 possède une seconde entrée recevant en permanence la valeur 1 et possède une sortie reliée à une seconde entrée du multiplicateur 124 et à une secon¬ de entrée du multiplicateur 128. Le soustracteur 136 possède une seconde entrée recevant en permanence la valeur 1 et possède une sortie reliée à une seconde entrée du multiplicateur 125 et à une seconde entrée du multiplicateur 127- Les sorties des multiplicateurs 125, 127, 129, 131, sont reliées respectivement à quatre entrées de l'additionneur 132. Une cinquième entrée de l'additionneur 132 reçoit en permanence la valeur 0,5. Une sortie de l'additionneur 132 est reliée à la borne de sortie 107.

Les soustracteurs 134 et 136 fournissent respec- tivement les valeurs ΔXa-1 et ΔYa-1. Les multiplicateurs

124 et 125 calculent le premier terme de la formule (8). Les multiplicateurs 126 et 127 calculent le second terme. Les multiplicateurs 128 et 129 calculent le troi¬ sième terme. Les multiplicateurs 130 et 131 calculent le quatrième terme. L'additionneur 132 fait la somme de ces quatre termes et du terme constant 0,5.

La figure 15 représente le schéma synoptique de la seconde partie de l'exemple de réalisation d'un dis¬ positif pour la mise en oeuvre de la première variante du procédé selon l'invention. Cette seconde partie correspond à la seconde phase du procédé. Elle comporte notamment des moyens de calcul 5b pour déterminer un vecteur vitesse interpolé à partir des vecteurs vitesse des pixels voisins du pixel à interpoler lorsque celui- ci n'a pas de pixel père ou bien lorsque ses pixels pères n'ont pas été validés.

Elle comporte en outre : des moyens de calcul 49 pour associer un vecteur vitesse nul au pixel à interpo¬ ler lorsque le vecteur vitesse interpolé n'est pas

validé, et pour déterminer les valeurs de luminance L( Z?,T ) et L(FB * ,T. ) des deux points de base A et B, en fonction du vecteur vitesse associé au pixel à interpo¬ ler ; et des moyens de calcul 50 pour calculer une va- leur de luminance interpolée, en fonction des valeurs de luminance des deux points de base.

Les moyens de calcul 5b comportent : un généra¬ teur d'adresses 31 ; deux registres, 32 et 33 ; un com¬ parateur 34 ; un multiplexeur 35, à deux entrées et une sortie ; et un dispositif de calcul 36 pour calculer un vecteur vitesse interpolée .

Une sortie du générateur d'adresses 31 et une borne de sortie 58 du dispositif de calcul _ β sont re¬ liées à la borne d'entrée 28 des moyens de calcul 5a, qui est reliée aux entrées d'adresses des mémoires M1 et M2. Le générateur d'adresses 31 fournit une suite d'adresses constituées par des coordonnées (IX', IY') correspondant à un balayage systématique de tous les pixels à interpoler de la trame T.,. Chacune de ces adresses permet de lire une valeur DFD(IX',IY') de la fonction DFD dans la mémoire M2 et un vecteur vitesse V(IX',IY') dans la mémoire M1, correspondant à un pixel à interpoler. Une entrée de données du registre 32 et une borne d'entrée 57 du dispositif de calcul 36 sont reliées à la borne de sortie 27 des moyens de calcul 5a, qui reçoit la valeur DFD(IX',IY') lue dans la mémoire M2. Une entrée de données du registre 33 et une borne d'entrée 56 du dispositif de calcul ' 36 sont reliées à la borne de sortie 30 des moyens de calcul 5a, qui fournit la valeur des composantes du vecteur vitesse V * (IX',IY') lu dans la mémoire Ml.

La valeur DFD(IX',IY') stockée dans le registre 32 est comparée à une valeur de seuil, 255, par le com¬ parateur 34. Une sortie du comparateur 3 est reliée à

une entrée de commande du multiplexeur 35- Une sortie du registre 33 est reliée à une première entrée du multi¬ plexeur 35. Une borne de sortie 59 du dispositif de cal¬ cul 36 fournit la valeur des composantes d'un vecteur vitesse interpolé TT^ à une seconde entrée du multiple¬ xeur 35. Une sortie du multiplexeur 35 constitue une sortie des moyens 5b et est reliée à une première entrée des moyens de calcul 49 pour fournir un vecteur vitesse

Lorsque la valeur de la fonction DFD fournie par le registre 32 est inférieure à la valeur de seuil 255, le comparateur 34 commande le multiplexeur 35 pour qu'il transmette la valeur des composantes du vecteur V * sto¬ ckée dans le registre 33, car ce vecteur vitesse con- vient. Lorsque la valeur de la fonction DFD est égale à 255, cela signifie que le pixel à interpoler n'a pas de pixel père, par conséquent il est nécessaire de détermi¬ ner un vecteur vitesse par une interpolation à partir des vecteurs vitesses des pixels voisins. Le comparateur 3 commande alors le multiplexeur 35 pour qu'il trans¬ mette la valeur des composantes du vecteur vitesse in¬ terpolé * fournie par le dispositif de calcul 36.

Un schéma synoptique du dispositif de calcul 36 est représenté sur la figure 16. Il comporte : un géné- rateur d'adresses 150 ; dix registres, 151 à 154 et 165 à 168 ; cinq comparateurs 156 à 159 ; quatre multiplica¬ teurs, 161 à 164 ; deux additionneurs 170 et 171 ; un diviseur 172 ; et un multiplexeur 173, à deux entrées et une sortie. Le générateur d'adresses 150 possède une entrée reliée à la borne d'entrée 60 pour recevoir la suite des coordonnées (IX'.IY 1 ) de chaque pixel de la trame à in¬ terpoler T. , et il possède une sortie reliée à la borne de sortie 58 pour fournir successivement quatre valeurs

de coordonnées (IX'',IY'') pour chaque pixel à interpo¬ ler. Chaque paire de coordonnées (IX'',IY'') correspon¬ dant à un pixel voisin du pixel à interpoler, sur la même colonne ou sur la même ligne de la trame, et cons- titue une adresse de lecture pour lire dans la mémoire M1 les vecteurs vitesse associés à ces pixels voisins, s'ils ont un vecteur vitesse associé, et pour lire dans la mémoire M2 les valeurs de la fonction DFD correspon¬ dant à ces pixels voisins et permettant de savoir s'ils ont un pixel père ou non.

Les registres 151 à 1 ont chacun une entrée de données reliée à la borne d'entrée 56 pour recevoir et stocker les valeurs de la fonction DFD lues dans la mémoire M2 et correspondant aux quatre points voisins respectivement. Les registres 165 à 168 ont chacun une entrée de données reliée à la borne d'entrée 57 pour recevoir la valeur des composantes des vecteurs vitesse lue dans la mémoire Ml et correspondant respectivement aux quatre points voisins. Les registres 151 à 1 4 ont des sorties reliées respectivement à des premières entrées des comparateurs 156 à 159. Les comparateurs 156 à 159 ont des secondes entrées recevant une valeur cons¬ tante égale à 255 et ont des sorties reliées respective¬ ment à des premières entrées des multiplicateurs 161 à 164 et respectivement à quatre entrées de l'additionneur 170. Les comparateurs 156 à 159 fournissent chacun un signal logique de valeur 1 lorsque la valeur appliquée à leur première entrée est inférieure à 255 et une valeur zéro lorsque la valeur appliquée à leur première entrée est égale à 255. Les valeurs de ces signaux logiques sont additionnées ' par l'additionneur 170. La sortie de l'additionneur 170 est reliée à une première entrée du diviseur 172 et à une entrée de commande du multiplexeur 173.

Les sorties des registres 165 à 168 sont reliées respectivement à des secondes entrées des multiplica¬ teurs 161 à 164. Les multiplicateurs 161 à 164 multi¬ plient les valeurs des composantes des vecteurs vitesse par les valeurs des signaux logiques fournies respecti¬ vement par les comparateurs 156 à 159, et fournissent le résultat sur des sorties reliées respectivement à quatre entrées de l'additionneur 171. La sortie de l'addition¬ neur 171 est reliée à une seconde entrée du diviseur 172. Une sortie du diviseur 172 fournit la valeur des composantes d'un vecteur vitesse interpolé conformément à la formule (10). Une sortie du multiplexeur 173 est reliée à la borne de sortie 59 du dispositif de calcul 36. Lorsque la somme calculée par l'additionneur 170 n'est pas nulle, la valeur qu'il fournit sur sa sortie commande le multiplexeur 173 pour qu'il transmette la valeur des composantes du vecteur interpolé. Si la valeur de la somme calculée par l'additionneur 170 est égale à 0, c'est-à-dire si les quatre pixels voisins n'ont pas de pixels pères validés, la valeur 0 appliquée à l'entrée de commande du multiplexeur 173 commande la transmission d'un vecteur nul pour constituer le vecteur ^ fourni par le dispositif de calcul 36. Les moyens de calcul 49, de la seconde partie de l'exemple de réalisation dont le schéma synoptique est représenté sur la figure 15, comportent deux moitiés calculant en parallèle les valeurs de luminance des points de base A et B et la valeur de la fonction DFD, respectivement pour le vecteur vitesse v fourni par les moyens de calcul 5b et pour un vecteur vitesse nul. Ces deux calculs en parallèle permettent de gagner du temps lorsque finalement il s'avère que le vecteur vitesse fourni par les moyens de calcul 5b n'est pas validé car

la DFD correspondante a une valeur supérieure au seuil 7.

Ces moyens de calcul 49 comportent : un disposi¬ tif de calcul 37 pour calculer le vecteur PA pour le vecteur vitesse ^ ; un dispositif de calcul 38 pour calculer un vecteur FÈÎ pour le vecteur vitesse V. ; un dispositif de calcul 41 pour calculer une valeur de lu¬ minance L(FÂ,T ) pour le vecteur vitesse V. ; un dispo- sitif de calcul 42 pour calculer une valeur de luminance L(Fïf,T. ) pour le vecteur vitesse T ; un dispositif 3 de lecture de L (Yt, τ CL) à l'adresse (IX',IY') dans la mémoire MA et un dispositif 44 de lecture de L(PB,T. ) à l'adresse (IX',IY') dans la mémoire MB, ce qui corres¬ pond à un vecteur vitesse nul ; un soustracteur 45- et un soustracteur 46 pour déterminer respectivement la valeur de la fonction DFD pour le vecteur vitesse V. et pour un vecteur vitesse nul ; un comparateur 48 ; et un multiplexeur 47 à huit entrées et quatre sorties.

Le dispositif de calcul 37 est semblable au dis- positif de calcul 6 décrit précédemment et représenté sur la figure 13. Le dispositif de calcul 38 est sembla¬ ble au dispositif de calcul 8 décrit précédemment et re¬ présenté sur la figure 13. Les dispositifs de calcul 41 et 42 sont respectivement semblables aux dispositifs de calcul 10 et 11 décrits précédemment et représentés sur la figure 13. Les dispositifs de lecture 43 et 44 ont chacun une entrée-sortie reliée au bus 9. Ils ont une structure très simple constituée de registres tampons commandés par des signaux fournis par le séquenceur 4, et acheminés par des liaisons non représentées.

Les dispositifs de calcul 37 et 38 ont chacun leur entrée qui est reliée à la première entrée des moyens de calcul 49 pour recevoir la valeur des compo¬ santes du vecteur j*. Les sorties des dispositifs de

calcul 37 et 38 sont reliées respectivement aux entrées des dispositifs de calcul 41 et 42. La sortie du dispo¬ sitif 41 est reliée à une première entrée du soustrac¬ teur 45 et à une entrée notée ai du multiplexeur 47. La sortie du dispositif 42 est reliée à une seconde entrée du soustracteur 45 et à une entrée notée b1 du multiple¬ xeur 47. La sortie du dispositif 43 est reliée à une première entrée du soustracteur 46 et à une entrée notée a2 du multiplexeur 47. La sortie du dispositif 44 est reliée à une seconde entrée du soustracteur 46 et à une entrée notée b2 du multiplexeur 47.

La sortie du soustracteur 45 est reliée à une première entrée " du comparateur 48 et à une entrée notée d1 du multiplexeur 47. La sortie du soustracteur 46 est reliée à une entrée notée d2 du multiplexeur 47. Le mul¬ tiplexeur 47 possède en outre : une entrée notée d re¬ liée à la première entrée des moyens de calcul 9 pour recevoir le vecteur Υ , une entrée notée c2 qui reçoit un vecteur vitesse nul ; quatre sorties notées a, b, c, d constituant respectivement une première, une deu¬ xième, une troisième et une quatrième sortie des moyens de calcul 49 ; et une entrée de commande reliée à la sortie du comparateur 48.

Le soustracteur 45 calcule la valeur de la fonc- tion DFD pour le pixel à interpoler, avec le vecteur comme vecteur vitesse associé. La valeur de la fonction DFD est comparée à la valeur de seuil, 7, par le compa¬ rateur 48. Si la valeur de la fonction DFD est infé¬ rieure ou égale à 7, le multiplexeur ϋ-J transmet les in- formations appliquées aux entrées ai , b1, d , d! , res¬ pectivement vers les sorties a, b, c, d. Si la valeur de la fonction DFD correspondant au vecteur V? " est supé¬ rieure à la valeur de seuil, 7, le multiplexeur 47 est commandé pour transmettre les informations présentes

sur les entrées a2, b2, c2 , d2 respectivement vers les sorties a, b, - c, d.

Ainsi la première et la seconde sortie des moyens de calcul 49 fournissent respectivement une valeur de luminance L(F^,T ), L(FB\T ), correspondant au vecteur vitesse retenu pour être associé au pixel à interpoler ; la seconde et la troisième sortie des moyens de calcul 49 fournissent respectivement le vecteur vitesse qui est retenu pour constituer le vecteur V(IX' ,IY' ,T . ) associé au pixel à interpoler, et la valeur de la fonction DFD correspondant à ce pixel à interpoler (IX' ,IY' ,T . ) .

La troisième et la quatrième sortie des moyens de calcul 49 sont reliées respectivement aux bornes d'entrée 26 et 29 des moyens de calcul 5a pour l'ins- cription du vecteur vitesse associé et de la valeur de la fonction DFD dans les mémoires M1 et M2 à l'adresse constituée par les coordonnées (IX',IY'). Ce vecteur vitesse et cette valeur de la fonction DFD seront ainsi disponibles ultérieurement pour calculer des vecteurs vitesse interpolés pour des pixels orphelins.

Les moyens de calcul 50 possèdent deux entrées reliées respectivement à la première et à la seconde sortie des moyens de calcul 49 pour recevoir les deux valeurs de luminance des points de base A et B corres- pondant au pixel à interpoler. Les moyens de calcul 50 comportent deux multiplicateurs 51 et 52 et un addition¬ neur 53- Le multiplicateur 51 possède : une première entrée reliée à la première sortie des moyens 49 ; une seconde entrée recevant une valeur constante égale à

sortie reliée à une première entrée de l^adiitionneur 53. Le multiplicateur 52 possède : une première entrée reliée à la deuxième sortie des moyens 49 ; une seconde entrée recevant une valeur constante

τ b -τ . égale à - — - , et une sortie reliée à une seconde b " a entrée de l'additionneur 53 * L'additionneur 53 possède une sortie reliée à la borne de sortie 51 du dispositif d'interpolation temporelle pour lui fournir une valeur de luminance interpolée L(IX' ,IY' ,T . ) correspondant au pixel à interpoler, de coordonnées (IX' ,IY' ,T.) , et cal¬ culée selon la formule (9)- Ces valeurs de luminance peuvent être utilisées en temps réel, au fur et à mesure de leur calcul, ou bien être stockées dans une mémoire de la trame, non représentée.

L'invention ne se limite pas aux exemples de réa¬ lisation décrits ci-dessus, de nombreuses variantes sont à la portée de l'homme de l'art. Notamment il est à la portée de l'homme de l r art de modifier l'exemple de réalisation décrit précédemment pour mettre en oeuvre la deuxième et la troisième variante du procédé, décrites précédemment.

L'invention est applicable en temps réel notam¬ ment aux dispositifs de changement de standard pour des trames de télévision, et à la restitution de trames transmises à très bas débit avec suppression d'un cer¬ tain nombre de trames.