FR2844131A1 - Procede et dispositif d'interpolation d'images avec compensation du mouvement - Google Patents

Procede et dispositif d'interpolation d'images avec compensation du mouvement Download PDF

Info

Publication number
FR2844131A1
FR2844131A1 FR0210889A FR0210889A FR2844131A1 FR 2844131 A1 FR2844131 A1 FR 2844131A1 FR 0210889 A FR0210889 A FR 0210889A FR 0210889 A FR0210889 A FR 0210889A FR 2844131 A1 FR2844131 A1 FR 2844131A1
Authority
FR
France
Prior art keywords
pixel
image
determined
pixels
motion vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0210889A
Other languages
English (en)
Other versions
FR2844131B1 (fr
Inventor
Andrea Battistella
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SnapTrack Inc
Original Assignee
STMicroelectronics SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by STMicroelectronics SA filed Critical STMicroelectronics SA
Priority to FR0210889A priority Critical patent/FR2844131B1/fr
Priority to US10/654,582 priority patent/US7302003B2/en
Publication of FR2844131A1 publication Critical patent/FR2844131A1/fr
Application granted granted Critical
Publication of FR2844131B1 publication Critical patent/FR2844131B1/fr
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0135Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
    • H04N7/014Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes involving the use of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • H04N5/145Movement estimation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Television Systems (AREA)

Abstract

Un procédé d'interpolation d'images destinées à s'intégrer, dans une séquence d'images animées, chacune entre une première image originaire et une seconde image originaire de ladite séquence, comprend une estimation d'un vecteur de mouvement associé à un bloc de pixels déterminé (B(x,y)) d'une image interpolée courante (In(t)). Cette estimation comprend la présélection de P premiers vecteurs de mouvement associés à des premiers autres blocs de pixels (B(x-1,y),B(x,y-1)) voisins dudit bloc de pixels déterminé dans ladite image interpolée courante, pour lesquels on dispose déjà d'un vecteur de mouvement estimé. Elle comprend aussi la présélection de au plus Q seconds vecteurs de mouvement respectivement associés à des seconds autres blocs de pixels (B(x+1,y),B(x,y+1)) voisins dudit bloc de pixels déterminé dans l'image interpolée précédente (In(t-2T)). Elle comprend enfin la sélection parmi lesdits premiers et seconds vecteurs de mouvement présélectionnés, du vecteur de mouvement qui minimise une fonction de coût.

Description

PROCEDE ET DISPOSITIF D'INTERPOLATION D'IMAGES AVEC COMPENSATION DU
MOUVEMENT
La présente invention se rapporte au domaine de l'affichage d'une vidéo et trouve des applications, en particulier, dans les terminaux communicants. Par terminal communiquant, on entend tout appareil pouvant recevoir 5 des données codant une vidéo, et pouvant décoder ces données en vue de l'affichage de la vidéo. Le terminal peut être un appareil sans fil (par exemple un téléphone portable, un assistant numérique personnel,.
) et/ou un appareil filaire pouvant être relié à un réseau (tel qu'un ordinateur, une télévision munie d'un décodeur numérique,...). Néanmoins, I'invention trouve des applications 10 particulièrement avantageuses dans les appreils sans fils, pour lesquels l'utilisation d'une bande passante limitée et une faible consommation d'énergie..DTD: sont des facteurs clés.
On entend par vidéo une séquence d'images animées, telle qu'elle peut être produite par une source vidéo, comme une caméra vidéo numérique 15 ou un logiciel de synthèse d'images numériques, puis subir un traitement de
toute nature avant d'être affichée ou stockée sur un support de données.
Chaque image comprend un nombre de pixels (un pixel est le plus petit élément d'une image) qui dépend de la résolution de la source vidéo numérique. La résolution est ainsi exprimée en nombre de pixels (largeur par 20 hauteur) des images.
Dans le type d'applications envisagé, les informations nécessaires à la définition des pixels d'une image entière sont codées et transmises dans une entité de données appelée trame (du moins dans le cas d'un système
d'affichage progressif).
Les systèmes de télécommunication de seconde génération, tels que le GSM ("Global System for Mobile") permettent la transmission sans fil de données codant la voix. Néanmoins, les capacités de traitement de données des systèmes de seconde génération sont limitées. C'est pourquoi les systèmes de troisième génération tels que l'UMTS ("Universal Mobile 30 Telecommunication System") permettront de fournir des services à haut débit, pour lesquels des images fixes ou animées de bonne qualité pourront être transmises, notamment pour permettre l'accès à Internet. Le marché de I'UMTS, grâce à ses fonctionnalités multimédia, offrira de nouvelles opportunités pour les fabricants, les opérateurs, et les fournisseurs de contenu
et d'applications.
Dans ce contexte, la qualité des vidéos affichées sur l'écran des 5 terminaux de télécommunication constitue un enjeu capital pour les fabricants.
Dans les applications multimédia (visioconférence, visiotéléphonie, vidéoclips, etc...), deux aspects principaux influencent la qualité des vidéos affichées: - d'une part la résolution de l'image, c'est-à-dire le nombre de pixels qui sont codés et transmis dans une trame; - d'autre part le débit d'images (appelé "Frame rate", en anglais, pour un système d'affichage progressif), c'est-à-dire le nombre d'images codées et
transmises par unité de temps.
L'UMTS devrait offrir un taux de transfert de données pouvant atteindre 384 Ko/s (Kilooctets par seconde). Avec une telle bande passante, des images 15 au format QCIF (de l'anglais "Quarter Common Intermediate Format") ne
peuvent être transmises qu'avec un débit égal à 15 ips (images par seconde).
Le format QCIF est un format préconisé par la recommandation H261 de I'UIT-T (qui est la composante vidéo de la norme H320 de 'UIT-T) relative au codage vidéo pour les services audiovisuels tels que la visioconférence. La 20 taille d'une image au format QCIF est égale à 144x176 pixels (soit 144 lignes
par 176 colonnes), le débit d'images recommandé étant égal à 30 ips.
Par conséquent, le débit d'images en sortie d'une source vidéo numérique produisant des images au format QCIF sera divisé par deux, coté émetteur, pour passer de 30 ips à 15 ips. Cela s'obtient facilement en éliminant 25 une image sur deux. Cette opération correspond à un sous-échantillonnage de
la vidéo.
Naturellement, la qualité de la vidéo affichée diminue lorsque le débit
d'images diminue. Ceci est illustré par les diagrammes des figures 1A et lB.
Sur ces figures, on a représenté côte à côte des vues successives d'un écran 30 d'affichage sur lequel sont affichées des images d'une vidéo montrant la chute d'un objet (une balle) sur le sol, avec un angle non nul par rapport à la verticale, et de gauche à droite par rapport à l'observateur. Sur chaque figure, un rectangle à la gauche du signe "=" correspond à l'affichage d'une image. La
flèche horizontale au-dessus des images de la figure 1A indique l'ordre d'affichage des images l'écran. Sur chaque figure, le rectangle Res à la droite du signe "=" représente schématiquement l'affichage d'une image résultant de la superposition des images successives dont l'affichage est illustré à la 5 gauche de ce signe. Cette image résultante sert à illustrer l'effet visuel restitué lors de l'affichage de la vidéo (compte tenu de la persistance rétinienne).
A la figure 1A, on a représenté côte à côte des vues de l'écran d'affichage sur lequel sont affichées les images de la vidéo à des instants t, respectivement tels que t=To, t=To+T, t=To+2T, t=To+3T, t=To+ 4T, 10 t=To+5T,... Ces images sont par exemple des images au format QCIF produites par une source vidéo ayant un débit d'images égal à 30 ips, et sont affichées à ce rythme, c'est-à-dire que T=33,33 ms (millisecondes). Dans la
suite, ces images sont appelées images originaires.
A la figure 1 B, on a représenté les mêmes vues de l'écran qu'à la figure 15 1A lorsque la vidéo subit, coté émetteur, un sous-échantillonnage faisant chuter le débit d'images à 15 ips (soit une division par deux de la fréquence des images). Ainsi qu'il est représenté, seule une image sur deux est affichée, aux instants To, To+2T, To+4T,.... Il en découle que l'image résultante Res
est affectée d'un effet de clignotement.
Afin de pallier cet inconvénient, il est requis de remplacer les images originaires manquantes par d'autres images, qui sont générées, coté récepteur, à partir notamment des images originaires transmises. Avantageusement, le débit d'images est multiplié par deux, en générant des images destinées à s'intégrer chacune entre deux images originaires consécutives dans la vidéo à 25 afficher. Cette opération correspond à un sur-échantillonnage de la vidéo transmise. Ainsi, il est connu de mettre en oeuvre un algorithme de répétition de trame, qui permet d'afficher chaque image deux fois de suite. Dit autrement, cet algorithme permet d'afficher la même image originaire aux instants To et 30 To+T, puis l'image originaire suivante aux instants To+2T et To+3T, puis l'image originaire suivante aux instants To+4T et To+5T,.... L'effet de cet algorithme est illustré par le diagramme de la figure 1 C. La répétition de trame est simple à mettre en oeuvre mais présente néanmoins l'inconvénient de rendre un effet de mouvement par saccades ("Jerky Motion", en anglais) lors de l'affichage de la vidéo, ainsi qu'il est illustré par l'image résultante Res de la figure 2C. C'est pourquoi elle n'est satisfaisante que pour l'affichage d'images fixes ou très peu animées. Il est aussi connu de mettre en oeuvre un algorithme d'interpolation d'images. Un tel algorithme génère des images interpolées se rapprochant au mieux des images originaires manquantes, et qui sont affichées aux instants respectivement To+T, To+3T, To+5T,.... A cet effet, une fonction d'interpolation 10 est mise en oeuvre. Cette fonction est telle que, aux instants t précités, on ait la relation suivante pour chaque pixel I n(t) = F(Or(t- T), Or(t + T)) (1) o In(t) désigne l'image interpolée affichée à l'instant t; Or(t-T) désigne l'image originaire affichée à l'instant t-T; 15 Or(t+T) désigne l'image originaire affichée à l'instant t+T; et,
F désigne la fonction d'interpolation.
Un exemple classique de fonction d'interpolation est la fonction moyenne statique, notée Fstat dans la suite. Cette fonction est telle que: I Fstat (Or(t-T),Or(t T=-x(r(t-T)+Or + (t+T)) (2) En d'autres termes, la valeur de chaque pixel de l'image interpolée In(t) est égale à la somme pondérée (moyenne) de la valeur des pixels correspondant des images originaires Or(t-T) et Or(t+T). Une telle fonction procure de bonnes performances tant que le mouvement des éléments dans la vidéo est faible. Par contre, si le mouvement est important, la corrélation entre 25 les images originaires Or(t-T) et Or(t+T) peut être insuffisante pour obtenir un
bon résultat d'interpolation.
C'est pourquoi, il a déjà été proposé de mettre en oeuvre un algorithme d'interpolation d'images avec compensation de mouvement, basé sur des vecteurs de mouvement qui sont reçus sous forme codée avec les données 30 des images originaires transmises. On pourra par exemple se référer à l'article de Y. -K. Chen, A. Vetro, H. Sun, et S. Y. Kung, "Frame-Rate UpConversion Using Transmitted True Motion Vectors", IEEE Workshop on Multimedia Signal Processing", 1998. Dans ce cas, la fonction d'interpolation produit la valeur des pixels de l'image interpolée In(t) à partir de la valeur des pixels de l'une et/ou de l'autre des images originaires Or(t-T) et Or(t+T) reçues et décodées, et à
partir en outre des vecteurs de mouvement reçus et décodés.
L'effet d'un tel algorithme d'interpolation avec compensation de mouvement est illustré par le diagramme de la figure 1 D. L'inconvénient de l'algorithme décrit dans l'article précité, est qu'il dépend fortement de la norme de codage de la vidéo, en ce qui concerne la définition et le mode d'estimation des vecteurs de mouvement. Il peut s'agir par 10 exemple de la norme MPEG-4. Un autre inconvénient d'un tel algorithme est qu'il ne s'applique qu'aux vidéos produites selon une norme de codage fondée sur une estimation et/ou une compensation du mouvement de l'image, et selon laquelle des vecteurs de mouvement sont générés. Or, toutes les normes de codage ne sont pas fondées sur un tel principe. Par exemple, la méthode de 15 codage d'images par ondelettes ("Wavelet Coding Methodology", en anglais)
ne prévoit pas de telle estimation de mouvement.
A titre d'alternative, on peut penser à mettre en oeuvre une technique d'interpolation d'images avec compensation de mouvement qui comprend une estimation des vecteurs de mouvement à partir seulement des images 20 originaires telles que reçues et décodées. Cette estimation peut comprendre la recherche de chaque bloc de pixels d'une première image originaire décodée dans l'intégralité d'une seconde image originaire décodée ou bien dans une partie de celle-ci appelée fenêtre de recherche (technique dite "Full Search", en anglais). Cette méthode d'estimation nécessite toutefois une grande quantité de calculs. C'est pourquoi elle est peu indiquée dans le type d'applications envisagé. En effet, les calculs sont effectués par un calculateur du terminal de télécommunication qui consomme d'autant plus de courant que la quantité de calculs à effectuer est grande. Or, le terminal étant alimenté par une source 30 d'alimentation autonome telle qu'une batterie rechargeable, il est nécessaire de limiter la consommation en courant pour ne pas pénaliser l'autonomie de l'appareil. L'objet de l'invention est de remédier aux inconvénients de l'art antérieur précités, en proposant une méthode d'estimation des vecteurs de
mouvement qui nécessite une quantité de calculs réduite.
Un premier aspect de l'invention concerne un procédé d'interpolation 5 d'images destinées à s'intégrer, dans une séquence d'images animées, chacune entre une première image originaire et une seconde image originaire de ladite séquence, du type comprenant une estimation d'au moins un vecteur de mouvement associé à au moins un pixel d'une image interpolée courante, caractérisé en ce que l'estimation du vecteur de mouvement associé à un bloc 10 de pixels déterminé de ladite image interpolée courante comprend les étapes suivant lesquelles a) on présélectionne au plus un nombre déterminé P de premiers vecteurs de mouvement respectivement associés à des premiers autres blocs de pixels voisins dudit bloc de pixels déterminé dans ladite image interpolée 15 courante, o P est un nombre entier déterminé, pour lesquels on dispose déjà d'un vecteur de mouvement estimé; b) on présélectionne au plus un nombre déterminé Q de seconds vecteurs de mouvement respectivement associés à des seconds autres blocs de pixels voisins dudit bloc de pixels déterminé dans l'image interpolée 20 précédente, o Q est un nombre entier déterminé; c) on sélectionne parmi lesdits premiers vecteurs de mouvement et lesdits seconds vecteurs de mouvement, le vecteur de mouvement qui minimise une fonction de cot entre les pixels d'un premier bloc de pixels déterminé qui est pointé dans ladite première image originaire par ledit vecteur 25 de mouvement à partir dudit bloc de pixel déterminé de l'image interpolée courante, d'une part, et les pixels d'un second bloc de pixels déterminé qui est pointé dans ladite seconde image originaire par le vecteur symétrique dudit vecteur de mouvement à partir dudit bloc de pixel déterminé de l'image
interpolée courante, d'autre part.
Avantageusement, le nombre de calculs nécessaires à l'étape c) pour l'estimation du vecteur de mouvement associé à un bloc de pixels déterminé est relativement faible (par rapport à la technique " Full Search ") en raison de la présélection des premiers et des seconds vecteurs de mouvement qui
intervient aux étapes respectivement a) et b). Ce nombre est égal à P+Q.
En outre, le procédé d'interpolation d'images avec compensation de
mouvement est indépendant de la norme de codage de la vidéo, car les 5 vecteurs de mouvement associés aux blocs de pixels de l'image interpolée sont estimés à partir des données des images originaires décodées.
Néanmoins, il existe une grande corrélation entre ledit bloc de pixels déterminés d'une part, et les blocs de pixels associés aux premiers vecteurs de mouvement ainsi que les blocs de pixels associés aux seconds vecteurs de 10 mouvement d'autre part. Il s'agit d'une corrélation spatiale en ce qui concerne
les blocs de pixels associés aux premiers vecteurs de mouvement, et d'une corrélation temporelle en ce qui concerne les blocs de pixels associés aux seconds vecteurs de mouvement. Ainsi, on tire avantage des corrélations spatiales et temporelles qui existent entre les blocs de pixels appartenant à des 15 images différentes d'une même séquence vidéo.
Un deuxième aspect de l'invention concerne un dispositif d'interpolation d'images destinées à s'intégrer, dans une séquence d'images animées, chacune entre une première image originaire et une seconde image originaire de ladite séquence, du type comprenant des moyens d'estimation d'au moins 20 un vecteur de mouvement associé à au moins un pixel déterminé d'une image interpolée courante, caractérisé en ce que lesdits moyens d'estimation comprennent, pour l'estimation d'un vecteur de mouvement associé à un bloc de pixels déterminé de ladite image interpolée courante: - des premiers moyens de présélection pour présélectionner au plus un 25 nombre déterminé P de premiers vecteurs de mouvement respectivement associés à des premiers autres blocs de pixels voisins dudit bloc de pixels déterminé dans ladite image interpolée courante, o P est un nombre entier déterminé, pour lesquels on dispose déjà d'un vecteur de mouvement estimé; - des seconds moyens de présélection pour présélectionner au plus un 30 nombre déterminé Q de seconds vecteurs de mouvement respectivement associés à des seconds autres blocs de pixels voisins dudit bloc de pixels déterminé dans l'image interpolée précédente, o Q est un nombre entier déterminé; -des premiers moyens de sélection pour sélectionner parmi lesdits premiers vecteurs de mouvement et lesdits seconds vecteurs de mouvement, 5 le vecteur de mouvement qui minimise une fonction de cot entre les pixels d'un premier bloc de pixels déterminé qui est pointé dans ladite première image originaire par ledit vecteur de mouvement à partir dudit bloc de pixel déterminé de l'image interpolée courante, d'une part, et les pixels d'un second bloc de pixels déterminé qui est pointé dans ladite seconde image originaire par le 10 vecteur symétrique dudit vecteur de mouvement à partir dudit bloc de pixel
déterminé de l'image interpolée courante, d'autre part.
Un troisième aspect de l'invention concerne un terminal communiquant qui comprend: - des moyens de réception pour recevoir des données codées 15 correspondant à des images d'une vidéo; - des moyens de décodage pour décoder les données codées qui sont reçues par les moyens de réception; des moyens de sur-échantillonnage de la vidéo comprenant un dispositif selon le deuxième aspect; et,
- des moyens d'affichage pour réaliser l'affichage de la vidéo suréchantillonnée.
D'autres caractéristiques et avantages de l'invention apparaîtront
encore à la lecture de la description qui va suivre. Celle-ci est purement
illustrative et doit être lue en regard des dessins annexés sur lesquels: - les figures 1A à 1D, déjà analysées, sont des diagrammes illustrant l'effet du sous-échantillonnage d'une vidéo, ainsi que l'effet de la répétition de trames, et l'effet de l'interpolation d'images avec compensation de mouvement; - la figure 2 est un schéma synoptique d'un exemple de système de 30 télécommunication multimédia dans lequel l'invention trouve une application avantageuse; - les figures 3A à 3C sont des diagrammes qui illustrent le principe du sous-échantillonnage et le principe du sur-échantillonnage d'une vidéo; - les figures 4A et 4C sont des représentations de trois images successives d'une même séquence vidéo, qui illustrent la corrélation spatiale et la corrélation temporelle existant entre ces images; - la figure 5 est un schéma synoptique d'un exemple de dispositif pour la mise en oeuvre du procédé d'interpolation, selon l'invention; - la figure 6 est un diagramme d'étapes illustrant un exemple de procédé d'interpolation selon l'invention; - la figure 7 est un diagramme d'étapes illustrant un exemple de mise en oeuvre de l'estimation des vecteurs de mouvement selon l'invention; - la figure 8 est un schéma illustrant un exemple de présélection de vecteurs de mouvement pour l'estimation d'un vecteur de mouvement associé à un bloc de pixels déterminé; - la figure 9 est un diagramme qui illustre un exemple de fenêtre de raffinement utilisée pour l'estimation d'un vecteur de mouvement associé à un bloc de pixels déterminé; - la figure 10 est un diagramme qui illustre un exemple de fenêtre de raffinement sous-échantillonnée; et, -la figure 11 est un schéma qui illustre une coupure de scène dans
une vidéo.
Le schéma de la figure 2 illustre une chaîne de traitement d'une vidéo dans une application de l'invention à un système de télécommunication
multimédia. Le système comprend un émetteur et un récepteur.
L'émetteur comprend une source vidéo 21 telle qu'une caméra vidéo numérique. Il comprend aussi des moyens de sous-échantillonnage 22, permettant d'abaisser le débit d'images, par exemple de le diviser par deux en supprimant une image sur deux dans le flux d'images originaires délivré par la source vidéo 21. L'émetteur comprend aussi des moyens de codage 23, qui 30 réalisent le codage numérique, selon une norme de codage déterminé, des images originaires après le sous-échantillonnage précité. Les données correspondant aux images ainsi codées sont ensuite émises, par des moyens
d'émission 24, à travers un canal de transmission 25.
Le récepteur comprend des moyens de réception 26 pour recevoir les données codées correspondant aux images, qui sont émises par l'émetteur sur le canal 25. Il comprend aussi des moyens de décodage 27, tels qu'un décodeur d'images, qui réalisent l'opération duale de celle effectuée par les 5 moyens de codage 23 de l'émetteur. Le décodeur d'images 27 décode les données codées qui sont reçues par les moyens de réception 26. Dans le cas o les données sont codées selon la norme MPEG-4, le décodeur 27 est par exemple un décodeur MPEG-4 du marché. Le récepteur comprend également des moyens 28 de sur-échantillonnage de la vidéo. Les moyens 28 ont pour 10 fonction d'augmenter le débit d'images de la vidéo en interpolant des images à partir des images originaires reçues et décodées. Les images ainsi générées sont destinées à s'intégrer dans la vidéo, chacune entre deux images originaires consécutives. Il comprend enfin des moyens d'affichage 29 pour réaliser l'affichage de la vidéo ainsi suréchantillonnée. Ces moyens d'affichage 15 comprennent par exemple un écran et une unité de gestion de l'affichage associée. Dans l'exemple d'un système de télécommunication radio, le canal de transmission 25 comprend l'interface air ainsi que, le cas échéant, un ou plusieurs réseaux fixes. Le récepteur est par exemple un terminal de 20 télécommunication portable (téléphone mobile ou similaire) doté de moyens d'accès à Internet. L'émetteur peut être réparti entre plusieurs équipements
permettant la diffusion de vidéo via Internet.
L'invention est décrite ci-après dans un exemple correspondant à un système d'affichage vidéo dit affichage progressif, qui affiche séquentiellement 25 toutes les lignes de l'image (1,2,3,...) en un seul balayage de l'écran, contrairement à l'affichage entrelacé. L'affichage entrelacé est une autre forme d'affichage vidéo dans laquelle une image est affichée en deux balayages de demi-images (cas de la télévision). Une image entrelacée est ainsi affichée en deux trames: une trame pour les lignes impaires (lignes 1, 3, 5,...) suivie 30 d'une autre trame pour les lignes paires (lignes 2, 4,...). L'invention peut aussi s'appliquer à des systèmes d'affichage entrelacé, bien que l'entrelacement des lignes nécessite alors d'être pris compte dans l'algorithme d'estimation de mouvement, par exemple en prévoyant des moyens de mémorisation adaptés, et en tenant compte du mouvement entre les deux demi-images d'une même image. Il existe un ordre de transmission, à travers le canal de transmission, des images originaires d'une vidéo sous-échantillonnée. Dans un exemple, 5 I'ordre de transmission des images correspond à un ordre d'affichage des images de la vidéo, qui correspond bien entendu à l'ordre suivant lequel les
images sont générées en sortie de la source vidéo.
Dans la suite, les termes tels que "antérieur", " postérieur", "successif", "consécutif", "suivant", "précédent", "premier" et "dernier", ainsi que leur 10 dérivés, lorsqu'ils apparaissent en relation avec des images, sont utilisés en référence à l'ordre d'affichage des images de la vidéo et/ou à l'ordre de
transmission des images originaires codées à travers le canal.
Le procédé d'interpolation de l'invention produit un sur-échantillonnage de la vidéo constituée des seules images originaires transmises. Il permet de 15 générer des images destinées à s'intégrer, dans la vidéo à afficher, chacune entre une première image originaire et une seconde image originaire de ladite vidéo, qui ont été successivement transmises à travers le canal. Le procédé est mis en oeuvre côté récepteur, après réception et décodage des images
originaires transmises.
Les images sont transmises sous forme codée. Le procédé de l'invention est un procédé de post-traitement, en ce sens qu'il est mis en ceuvre à partir des données des images originaires décodées. C'est pourquoi il est indépendant du standard de codage des images. Dans un exemple, on considère que les images sont codées selon le standard MPEG-4, et sont au 25 format QCIF, c'est-à-dire qu'il s'agit de matrices de 144 lignes par 176 colonnes de pixels. Dans la suite, des indices i et j sont utilisés pour repérer la position d'un pixel déterminé dans une image déterminée ou dans un bloc de pixels déterminé de cette image. La valeur d'un pixel déterminé, notée P(i,j)
dans la suite, correspond à une valeur de luminance pour ce pixel.
Dans le jargon de l'Homme du métier, on appelle bloc de pixels une matrice de 8 x 8 pixels, et on appelle macro-bloc de pixels une matrice de 16 x 16 pixels. Le traitement proposé est préférentiellement effectué au niveau de macro-blocs de pixels. Toutefois, par souci de généralité, dans ce qui suit, on désigne par "bloc" une matrice de M x N pixels, o M et N sont des nombres entiers déterminés correspondant respectivement à la hauteur et à la largeur dudit bloc de pixels. En effet, le traitement effectué conformément à l'invention peut s'appliquer à des matrices de pixels de taille déterminée quelconque, en 5 sorte que l'expression " blocs de pixels " n'est pas limitative. Dans un exemple préféré, M et N sont égaux à seize (M=N=16). Il y a donc 11x9 tels blocs de pixels dans une image au format QCIF (9 blocs par ligne et 11 blocs par colonne). Dans la suite, des indices x et y sont utilisés pour repérer la position d'un bloc de pixels déterminé dans une image (x étant le numéro du bloc sur la 10 ligne et y étant le numéro du bloc sur la colonne du bloc), et on note B(x,y) ce
bloc de pixels.
Par convention, on considère un exemple de réalisation dans lequel les informations vidéo correspondant aux blocs de pixels d'une image déterminée sont traitées séquentiellement, de haut en bas et de gauche à droite. Les 15 termes tels que "voisin", "adjacent", "suivant", "précédent", "premier" et "dernier", ainsi que leur dérivés, sont utilisés en référence à cette convention lorsqu'ils apparaissent en relation avec des blocs de pixels. Ainsi, le bloc B(1,1) est le bloc de pixels situé en haut et à gauche de l'image (premier bloc de pixels de l'image), le bloc B(1,11) est le bloc de pixels situé en haut et à droite 20 de l'image, le bloc B(9,1) est le bloc de pixels situé en bas et à gauche de l'image, et le bloc B(9,11) est le bloc de pixels situé en bas et à droite de
l'image (dernier bloc de pixels de l'image).
A la figure 3A, on a représenté une partie d'un flux d'images en sortie de la source vidéo numérique 21, ayant par exemple un débit d'images égal à 25 30 ips. Ce flux d'images constitue ce qui est appelé la vidéo d'origine dans la suite. La flèche horizontale représentée au-dessus de la figure 3A indique l'ordre des images de la vidéo d'origine. Dans ce qui suit et aux figures, on note T la période entre deux images consécutives de la vidéo d'origine. Dit autrement, la fréquence d'images de la vidéo d'origine est égale à 1 / T. Plus particulièrement, la partie du flux d'images représentée à la figure 3A correspond au début d'une séquence d'images déterminée. La première image de ce flux (la plus à gauche) est la première image de la séquence. On note To un instant d'affichage de la première image de la séquence, et on note Or(t) les images de la vidéo d'origine aux instants t, tels que t=To, t=To+T,
t=To+2T, t=To+3T,....
A la figure 3B, on a représenté les images du flux d'images de la figure 3A qui demeurent après sous-échantillonnage de la vidéo d'origine, dans le cas 5 o ce sous-échantillonnage consiste à supprimer une image sur deux dans le flux d'images. Il s'agit des images Or(To), Or(To+2T), Or(To+ 4T),... qui constituent le flux d'images délivré par les moyens de souséchantillonnage 22 de l'émetteur (figure 2). Seules ces images originairessont transmises sous forme codée à travers le canal de transmission 25. Après décodage par les 10 moyens de décodage 27 du récepteur, elles constituent le noyau de la vidéo à afficher. Ces images sont disponibles, côté récepteur, avec une fréquence d'images égale à I / 2T, c'est-à-dire avec un débit d'images égal à 15 ips dans
l'exemple.
Le procédé d'interpolation d'images selon l'invention permet de générer 15 des images destinées à s'intégrer dans le flux d'images originaires, chacune
entre une première image originaire et une seconde image originaire, afin de constituer, en combinaison avec les images originaires, la vidéo à afficher. Un tel procédé d'interpolation est mis en oeuvre par un dispositif adapté compris dans les moyens 28 assurant le suréchantillonnage du flux d'images 20 originaires reçues et décodées.
A la figure 3C, on a représenté les images de la vidéo à afficher qui constituent le flux d'images en sortie des moyens de sur-échantillonnage 28 du récepteur. On note In(To+T), In(To+3T), In(To+5T),... les images générées par le procédé selon l'invention. Dans la suite, ces images sont appelées images 25 interpolées. Ainsi qu'il est visible sur cette figure, les images interpolées sont alternées avec les images originaires dans la vidéo à afficher. Sur la figure, les flèches horizontales symbolisent les relations qui existent entre les images originaires et les images interpolées. Par exemple, I'image interpolée In(To+3T) résultant d'une interpolation entre les images originaires Or(To+2T) et 30 Or(To+4T), ceci est symbolisé par les deux flèches qui pointent vers l'image In(To+ 3T) à partir, respectivement, de l'image Or(To+2T) et de l'image Or(To+4T) . Le procédé d'interpolation d'images est basé sur un algorithme du type récursif, en ce sens qu'il prend en compte, à chaque étape du traitement, des résultats obtenus à au moins une étape antérieure. Le traitement n'est donc valable que pour des images d'une même séquence d'images, c'est-à-dire des 5 images correspondant à une unité de scène. En cas de coupure de scène, les deux images respectivement antérieure et postérieure à la coupure présentent en général peu, voire aucune corrélation entre elles, en sorte que l'algorithme
doit être réinitialisé.
Les schémas des figures 4A et 4B permettent d'illustrer les corrélations 10 spatiale et temporelle entre des blocs de pixels d'images successives d'une vidéo. Ainsi qu'il a été présenté en introduction, le procédé de l'invention se fonde sur ces corrélations pour réduire le nombre de calculs nécessaires à l'estimation des vecteurs de mouvement. Sur ces figures, on a représenté trois images successives d'une séquence vidéo (images originaires) montrant la 15 chute d'une balle à vitesse sensiblement constante, qui a déjà été illustrée par les diagrammes des figures 1A à 1 D. Sur chacune des figures 4A à 4B, la représentation de la balle occupe grossièrement quatre blocs de pixels. Il s'agit des blocs B(1,2), B(1,3), B(2,2) et B(2,3) à la figure 4A, des blocs B(3,4), B(3,5) B(4,4) et B(4,5) à la figure 4B, et 20 des blocs B(5,6), B(5,7) B(6,6), et B(6,7) à la figure 4C. On a représenté
symboliquement par des flèches des vecteurs de mouvement associés à chacun des blocs. Dans cet exemple, un vecteur de mouvement associé à un premier bloc de pixels déterminé d'une image déterminée, pointe vers un second bloc de pixels déterminé vers lequel on peut estimer que, dans l'image 25 suivante, les pixels dudit bloc de pixels déterminé se seront déplacés.
Ainsi qu'il est représenté, on constate que les quatre blocs de pixels précités ont, dans chaque image, des vecteurs de mouvement associés respectifs ayant des valeurs sensiblement identiques. Ceci traduit la corrélation spatiale entre les blocs de pixels d'une image. En comparant les images 30 représentées à chacune des figures, on constate en outre que les vecteurs de mouvement associés à chaque bloc de pixels conservent sensiblement la même valeur d'une image à l'image suivante. Ceci traduit la corrélation
temporelle entre les blocs de pixels d'une image à la suivante.
Bien entendu, dans le cas général, les corrélations spatiale et temporelle précitées ne sont pas toujours aussi nettes que dans le cas volontairement exemplatif des quatre blocs de pixels qui sont considérés cidessus en référence aux figures 4A à 4C. Néanmoins, l'invention exploite l'idée 5 qu'on peut raisonnablement faire l'hypothèse que de telles corrélations existent dans toute séquence vidéo. Et il a été constaté en pratique sur divers échantillons vidéo, que l'invention procure de bons résultats, ce qui signifie que
l'hypothèse est réaliste.
A la figure 5, on a représenté schématiquement les moyens qui 10 forment un dispositif pour la mise en oeuvre du procédé selon l'invention. Un tel
dispositif est compris dans les moyens de sur-échantillonnage 28 (figure 2).
Le dispositif comprend une unité de commande 43 reliée à une mémoire 44 à lecture seule (" Read Only Memory " ou ROM) ainsi qu'à une mémoire 45 à accès aléatoire (" Random Access Memory " ou RAM). Un 15 programme d'application est stocké dans la mémoire 44. Lorsqu'il est exécuté par l'unité de commande 43, ce programme d'application met en oeuvre le
procédé d'interpolation d'images selon l'invention.
La mémoire 45 est subdivisée en plusieurs espaces-mémoire MOR1, MOR2, MMV1, MMV2 et MIN sur lesquels on reviendra plus loin, et dans 20 chacun desquels des données temporaires sont stockées au cours de
l'exécution du programme d'application.
Dans un exemple, l'unité de commande 43, la mémoire 44 et la mémoire peuvent faire partie d'un seul et unique circuit tel qu'un microcontrôleur. En variante, l'unité de commande 43 est un microprocesseur, et les mémoires 44 25 et 45 sont des composants compris dans des boîtiers de circuit intégrés respectifs. Le procédé est un procédé d'interpolation avec compensation de mouvement. Une image est interpolée bloc de pixels par bloc de pixels. On appelle image interpolée courante et on note In(t) I'image en cours 30 d'interpolation à l'instant t. De plus, on appelle et on note, respectivement, image originaire précédente Or(t-T) et image originaire suivante Or(t+T), les images originaires et entre lesquelles l'image interpolée courante In(t) est
destinée à s'intégrer dans la vidéo à afficher.
Les valeurs des pixels de l'image originaire précédente Or(t-T), après décodage de cette image, sont stockées dans l'espace mémoire MOR1 de la mémoire 45. De même, les valeurs des pixels de l'image originaire suivante Or(t+T), après décodage de cette image, sont stockées dans l'espace-mémoire 5 MOR2 de la mémoire 45. Dans la mémoire 45, une capacité de mémorisation de 176x144 valeurs est allouée à chacun des espaces-mémoire MOR1 et MOR2. Le procédé comprend, pour au moins un bloc de pixels déterminé de l'image interpolée courante In(t), et de préférence pour chacun des blocs de 10 pixels de cette image, une estimation d'un vecteur de mouvement associé à ce bloc de pixels. Dans la suite, on désigne le vecteur de mouvement associé à un bloc de pixels déterminé de l'image interpolée courante In(t), par un couple m,n de coordonnées m et n (o m et n sont des nombres entiers relatifs). Les coordonnées m et n correspondent respectivement au nombre de lignes et au 15 nombre de colonnes dont un pixel est déplacé lorsqu'il est translaté par la
translation vectorielle suivant ledit vecteur. Par convention, une valeur positive, respectivement négative du nombre m, correspond à un déplacement vers le haut, respectivement vers le bas dans l'image. De même, une valeur positive, respectivement négative du nombre n, correspond à un déplacement vers la 20 droite, respectivement vers la gauche dans l'image.
Dans la mémoire 45, une capacité de mémorisation de 9x1l couples
de valeurs et allouée à chacun des espaces-mémoire MMV1 et MMV2, pour permettre de stocker les couples de coordonnées m,n des vecteurs de mouvement respectivement associés aux 9x1I blocs de pixels d'une image 25 interpolée.
La technique selon l'invention va maintenant être décrite en considérant ce qui se passe pour l'interpolation d'une image destinée à être affichée à un instant t déterminé, différent de To+T. On note In(t) cette image en cours d'interpolation, et, dans la suite, elle est appelée image interpolée 30 courante. L'interpolation de l'image In(t) se fait à partir des images originaires
précédente Or(t-T) et suivante Or(t+T), sur la base des vecteurs de mouvement associés aux blocs de pixels de l'image interpolée courante In(t).
Ces vecteurs doivent préalablement être estimés, selon la technique
d'estimation qui fait l'objet de la présente invention.
Dans la mémoire 45, une capacité de mémorisation est allouée à l'espacemémoire MIN pour permettre de stocker les 144x176 valeurs de pixels de l'image interpolée courante In(t). L'estimation du vecteur de mouvement associé à un bloc de pixels déterminé consiste à sélectionner un vecteur de mouvement déterminé parmi un ensemble de vecteurs de mouvement possibles. Le vecteur de mouvement m,n sélectionné est celui qui minimise une fonction de cot entre les pixels du 10 bloc de pixels pointé dans l'image originaire précédente par ledit vecteur de mouvement à partir dudit bloc de pixel déterminé de l'image interpolée courante, d'une part, et les pixels du bloc de pixels pointé dans l'image originaire suivante par le vecteur symétrique dudit vecteur de mouvement à partir dudit bloc de pixel déterminé de l'image interpolée courante, d'autre part. 15 Dans un exemple, la fonction de cot est définie par l'estimateur " somme des différences absolues " ou SAD (de l'anglais "Sum of Absolute Difference") donné par la relation: N M SAD mn=_ % limjnt T)-P2(i +mj+ n,t +T)j (3) j=1 i=1 o P1(i-m,j-n,t-T) désigne la valeur du pixel d'indices i-m et j- n dans le 20 bloc de pixels considéré de l'image originaire précédente Or(t-T); o P2(i+m,j+n,t+T) désigne la valeur du pixel d'indices i+m et j+ n dans le bloc de pixels considéré de l'image originaire suivante Or(t+T); et, o m et n sont des nombres entiers relatifs qui désignent les
coordonnées du vecteur de mouvement.
Dit autrement, le vecteur de mouvement m,n qui est sélectionné est celui qui minimise la valeur SADm,n, de l'estimateur SAD appliqué au bloc de
pixels considéré, cette valeur étant donnée par la relation (3) ci-dessus.
Selon la technique connue dite "Full Search", l'estimateur SAD serait calculé, pour un bloc de pixels déterminé de l'image originaire Or(t-T), vis à vis 30 de tous les blocs de l'image originaire Or(t+T), ou du moins de tous les blocs de pixels de cette image originaire à l'intérieur d'une fenêtre de recherche
centrée sur ledit bloc déterminé.
L'invention est basée sur une autre technique, qui permet de limiter le nombre de calculs de la valeur de l'estimateur SAD. En effet, I'estimation des vecteurs de mouvement selon l'invention comprend l'une et/ou l'autre parmi deux étapes de présélection de vecteurs de mouvement déjà disponibles, puis 5 une étape de sélection parmi les vecteurs de mouvement ainsi présélectionnés, de celui qui minimise la fonction de cot donnée par la relation
(3) ci-dessus.
A la figure 6, on a représenté un organigramme illustrant les étapes
d'un procédé d'interpolation d'images selon l'invention.
Dans une première étape 61 on décode la première image originaire Or(To) de la première séquence de la vidéo. Les valeurs des pixels de cette
image sont stockées dans l'espace mémoire MOR1 de la mémoire 45.
Dans une étape d'initialisation 62, on initialise les espaces-mémoire MOR2 et MIN ainsi que les espaces-mémoire MMV1 et MMV2 de la mémoire 15 45. On met à zéro les valeurs de pixels stockées dans les espaces-mémoire MOR2 et MIN, ainsi que les valeurs de vecteurs de mouvement stockées dans les espaces-mémoire MMV1 et MMV2. Ces initialisations étant faites, la
première occurrence de l'algorithme récursif peut-être exécutée.
Une occurrence de l'algorithme va maintenant être décrite en ce qui 20 concerne l'interpolation d'une image interpolée courante In(t) destinée à être affichée à un instant t déterminé (cas général), sachant qu'à la première occurrence de l'algorithme l'instant t est égal à To + T, à la deuxième occurrence de l'algorithme l'instant t est égal à To + 3T, à la troisième
occurrence de l'algorithme l'instant t est égal à To + 5T,....
Dans une étape 63, on décode une image originaire suivante Or(t+T).
Les valeurs des pixels de cette image sont stockées dans l'espace mémoire MOR2. On dispose ainsi, dans les espaces mémoire MOR1 et MOR2 des données de deux images originaires successives, à savoir l'image originaire Or(tT) et l'image originaire Or(t+T), respectivement. Par conséquent, il est 30 possible d'effectuer l'interpolation de l'image interpolée courante In(t), qui est
destinée à s'intégrer dans la vidéo à afficher entre ces deux images originaires.
Selon l'invention, on effectue préalablement à cette interpolation, une
étape 64 d'estimation des vecteurs de mouvement associés à des blocs de pixels de l'image interpolée courante In(t). On rappelle que, selon l'invention, on détermine un tel vecteur de mouvement pour chaque bloc de pixels B(x,y) 5 de l'image In(t), o x est un nombre entier compris entre 1 et 11 et y est un nombre entier compris entre 1 et 9.
Cette étape d'estimation 64 va maintenant être décrite en détails en référence au diagramme d'étapes de la figure 7, et en référence également au
schéma de la figure 8 qui en illustre un mode de réalisation préféré.
L'étape d'estimation 64 est elle-même récursive, en ce sens qu'elle opère un traitement bloc de pixels par bloc de pixels, et que le traitement d'un bloc de pixels prend en compte des résultats obtenus pour un ou plusieurs blocs de pixels précédents (seulement lorsque de tels résultats sont disponibles, bien entendu). Dans ce qui suit, on considère le traitement lié à 15 l'estimation du vecteur de mouvement d'un bloc de pixels déterminé B(x,y) de l'image. Dans une première étape de présélection 71, on présélectionne au plus un nombre déterminé P de premiers vecteurs de mouvement respectivement associés à des premiers autres blocs de pixels voisins du bloc 20 de pixels B(x,y) dans l'image interpolée courante In(t), o P est un nombre entier déterminé, pour lesquels on dispose déjà d'un vecteur de mouvement estimé. Ces premiers autres blocs de pixels présentent une corrélation spatiale avec le bloc de pixel B(x,y). Dans un exemple, P est égal à deux (P=2). Les valeurs de ces premiers vecteurs de mouvement peuvent être lues dans 25 I'espace- mémoire MMV2. Ces vecteurs de mouvement sont associés à des blocs de pixels de l'image interpolée courante In(t), qui ont été traités précédemment. En variante ou en complément, dans une seconde étape de présélection 72, on présélectionne au plus un nombre déterminé Q de seconds 30 vecteurs de mouvement respectivement associés à des seconds autres blocs de pixels, voisins du bloc de pixels B(x,y) dans l'image interpolée précédente, o Q est un nombre entier déterminé, par exemple égal à deux (Q=2). On notera qu'on dispose déjà des valeurs de ces seconds vecteurs de
mouvement, qui peuvent être lues dans l'espace-mémoire MMV1.
Les seconds autres blocs de pixels voisins du bloc de pixels B(x,y) sont préférentiellement différents desdits premiers autres blocs de pixels, afin d'augmenter la diversité des vecteurs de mouvements présélectionnés. Toutefois, les premiers et seconds autres blocs de pixels voisins du bloc de pixels B(x,y) sont préférentiellement adjacents au bloc B(x,y) dans les
images, ce qui garantit une corrélation spatiale maximale.
Les deux caractéristiques précitées peuvent être réunies dans un 10 exemple de réalisation préféré dans lequel P=2 et Q=2.
Le schéma de la figure 8 illustre cet exemple préféré. Sur cette figure,
l'image interpolée courante In(t) et l'image interpolée précédente In(t2T) sont partiellement représentées en traits discontinus. De plus, le bloc B(x,y) est symbolisé par un carré en teinte gris clair, et les premiers et seconds autres 15 blocs de pixels sont représentés par des carrés en teinte gris foncé.
Dans cet exemple, les premiers autres blocs de pixels présélectionnés à l'étape 71 sont les blocs de pixels B(x,y-1) et B(x-1,y) et les seconds autres blocs de pixels présélectionnés à l'étape 72 sont les blocs de pixels B(x+1,y) et B(x,y+1). Dit autrement, en notant x et y des indices repérant la position du 20 bloc de pixels déterminé B(x,y) dans les images, les positions respectives des deux premiers autres blocs de pixels B(x,y-1) et B(x-1l,y) sont repérées par les indices respectivement x et y-1, et x-1 et y, et les positions respectives des deux seconds autres blocs de pixels B(x+1,y) et B(x,y+1) sont repérées par les
indices respectivement x+1 et y, et x et y+1.
Après les étapes 71 et 72, on dispose alors, dans l'exemple préféré, de
quatre vecteurs de mouvement présélectionnés.
L'estimation du vecteur de mouvement associé au bloc de pixels B(x,y) comprend ensuite une étape 73 de sélection, parmi les vecteurs de mouvement ainsi présélectionnés, de celui qui minimise la fonction de cot 30 donnée par la relation (3) mentionnée plus haut. La valeur du couple de coordonnées m,n du vecteur de mouvement ainsi sélectionné est enregistrée
dans la mémoire MMV2, à l'emplacement mémoire réservé au bloc B(x,y).
Dans une étape 74, on génère ensuite au plus un nombre déterminé K de vecteurs de mouvement corrigés, chaque vecteur de mouvement corrigé correspondant au vecteur de mouvement m,n sélectionné à l'étape 73 affecté d'un couple de valeurs de correction déterminé respectif. Dans un exemple, les valeurs de correction sont des coefficients
additifs définissant ce qui est appelé dans la suite une fenêtre de raffinement.
Cette fenêtre est définie, à partir de la valeur du couple de coordonnées du vecteur de mouvement m,n par l'ensemble des couples de coordonnées 10 m+ml,n+nl o ml est un nombre entier prenant toutes les valeurs comprises entre 0 et M1, o nl est un nombre entier prenant toutes les valeurs comprises
entre 0 et N1, et o M1 et N1 sont des nombres entiers déterminés non nuls.
Dans une étape 75, on sélectionne, parmi les vecteurs de mouvement corrigés tels que définis ci-dessus, le vecteur de mouvement corrigé qui 15 minimise la fonction de cot donnée par la relation (3) indiquée plus haut. On notera que le cas du couple ml,nl égal à 0,0 n'est pas pris en compte,
puisqu'on dispose déjà de la valeur de l'estimateur SAD pour le vecteur m, n.
La figure 9 illustre un exemple de fenêtre de raffinement, pour lequel M1 est égal à quatre (M1=4) et N1 est aussi égal à quatre (N1=4). Sur cette 20 figure, chaque point correspond à un couple de coordonnées d'un vecteur de mouvement corrigé. La fenêtre de raffinement selon cet exemple est donc une fenêtre de 9x9 pixels (9 pixels de hauteur et 9 pixels de large). Le pixel situé au centre de la fenêtre de raffinement correspond au vecteur de mouvement m,n sélectionné à l'étape 73. Selon la convention de notation adoptée ici, le coin en 25 haut à gauche de la fenêtre de raffinement correspond au vecteur de
mouvement corrigé m-4,n-4. Le coin en haut à droite de la fenêtre correspond au vecteur de mouvement corrigé m-4,n+4. Le coin en bas à gauche de la fenêtre correspond au vecteur de mouvement corrigé m+4,n-4. Et enfin, le coin en bas à droite de la fenêtre correspond au vecteur de mouvement corrigé 30 m+4,n+4.
Dans cet exemple, le nombre de calculs de l'estimateur SAD à réaliser à l'étape 75 est égal à 80. Avec les quatre calculs effectués à l'étape 73, c'est donc au plus 84 calculs de l'estimateur SAD qui sont nécessaires, au total, pour l'estimation du vecteur de mouvement associé à chaque bloc de pixels de l'image. Ce nombre est à comparer aux 400 calculs qui seraient nécessaires en mettant en oeuvre une estimation de type "Full Search" avec une fenêtre de recherche de 20 pixels de large. Dans une variante, qui constitue un mode de réalisation préféré, les valeurs de correction sont des coefficients additifs définissant ce qui est appelé dans la suite une fenêtre de raffinement sous-échantillonnée. La figure 10, sur laquelle les mêmes éléments qu'à la figure 9 portent les mêmes références, 10 illustre un exemple de réalisation conforme à cette variante. Par rapport au premier mode de réalisation, conforme au schéma de la figure 9, seuis sont utilisés certains couples de coordonnées entrant dans la fenêtre de raffinement de 9x9 pixels, d'o la notion de sous-échantillonnage de cette fenêtre. Les couples de coordonnées retenues constituent un motif, qualifié ici de motif en 15 flocon de neige en raison de sa similitude avec la représentation de la forme d'un flocon de neige en cours de croissance. Dit autrement, une partie seulement des valeurs de correction définies par la fenêtre de raffinement de la
figure 9 sont sélectionnés à l'étape 75.
L'avantage de cette variante est qu'elle limite à 36 le nombre de 20 vecteurs de mouvement corrigés. La quantité de calculs de l'estimateur SAD est donc réduite à 40 (soit 4 à l'étape 73, et 36 à l'étape 75), sans affecter de manière significative la précision de l'estimation du fait que les 36 vecteurs de mouvement corrigés sélectionnés à l'étape 74 sont régulièrement répartis dans
la même fenêtre de raffinement de 9x9 pixels.
Dans une étape 76, on remplace enfin, dans l'espace-mémoire MMV2 de la mémoire 45, le vecteur de mouvement m,n sélectionné à l'étape 73 par le vecteur de mouvement corrigé sélectionné à l'étape 75. Dans un premier mode de réalisation, ce remplacement est effectué uniquement si le vecteur corrigé sélectionné à l'étape 75 donne une valeur de la fonction de cot inférieure à 30 celle donnée par le vecteur de mouvement m,n. Dans une variante, il est
effectué dans tous les cas, ce qui évite un test supplémentaire.
On notera que, pour certains blocs de pixels B(x,y) de l'image, certains des autres blocs de pixels, déterminés comme il est indiqué ci-dessus à propos des étapes 71 et 72 dans l'exemple conforme à la figure 8, n'existent pas en sorte qu'il n'existe pas vecteurs de mouvement associés. Il s'agit des blocs de 5 pixels situés en bordure de l'image (c'est-àdire ceux des première et dernière lignes, et ceux des première et dernière colonnes). Pour ces blocs de pixels, les vecteurs de mouvement présélectionnés sont seulement ceux qui sont disponibles, en sorte que le nombre de vecteurs de mouvement
présélectionnés est inférieur à quatre (il peut être égal à trois ou deux) .
On notera également que, pour la première image interpolée de la séquence (c'est-à-dire pour t=To+T), il n'existe pas d'image interpolée précédente, en sorte qu'aucun second vecteur de mouvement ne peut être sélectionné à l'étape 72. De plus, pour le premier bloc de l'image, c'est-à-dire le bloc B(1,1), il n'existe pas de bloc de pixels dans l'image interpolée courante 15 pour lequel on dispose déjà d'un vecteur de mouvement estimé, en sorte
qu'aucun premier vecteur de mouvement ne peut être sélectionné à l'étape 71.
On s'en remet donc à la sélection d'un vecteur de mouvement corrigé, conformément à l'étape 75, pour amorcer l'algorithme récursif. En dehors du cas de ce bloc B(1,1) de la première image interpolée de la séquence, les 20 étapes 74 à 76 peuvent être omises.
De même, on peut noter que certains des vecteurs de mouvement corrigés, déterminés comme il est indiqué ci-dessus à propos de l'étape 74, n'existent pas (car ils tomberaient en dehors des dimensions de l'image), en
sorte que ne sont pris en compte que ceux qui existent.
Ce type de situations, qu'on peut qualifier "d'effets de bords", est aisément traité par des tests appropriés qui peuvent être insérés dans le
programme d'application.
De retour à la figure 6, le procédé d'interpolation d'image comprend, après l'étape d'estimation des vecteurs de mouvement 64 associés aux blocs 30 de pixels de l'image interpolée courante In(t), une étape 65 consistant à
effectuer l'interpolation proprement dite de l'image interpolée courante In(t).
Les valeurs des pixels de cette image sont déterminées l'une après l'autre et
stockées dans l'espace mémoire MIN de la mémoire 45.
Dans un premier mode de réalisation, la valeur Pin(i,j,t) du pixel d'indices i et j de l'image interpolée courante In(t) est donnée par la relation suivante: Pin(i,j,t)= l(P1(i-m,j-n,t-T)+P2(i+m,j+n,t+T)) (4) o Pin(i,j,t) désigne le pixel d'indices i et j de l'image interpolée courante In(t); o P1(i-m,j-n,t-T) désigne la valeur du pixel d'indices im et j-n de l'image originaire précédente; o P2(i+m,j+n,t+T) désigne la valeur du pixel d'indices i+m et j+n de l'image originaire suivante Or(t+ T), et o m et n désignent les coordonnées du vecteur de mouvement associé au bloc de pixels auquel appartient le pixel considéré, qui sont lues
dans l'espace-mémoire MMV2.
Dit autrement, la valeur du pixel Pin(i,j,t) est égale à la moyenne des valeurs du pixel PI(i-m,j-n,t-T) d'indices i-m et j-n de l'image originaire précédente Or(t-T) et du pixel P2(i+m,j+n,t+T) d'indices i+m et j+n de l'image originaire suivante Or(t+T). Le pixel P(i,j,t) de l'image interpolée courante réalise donc une balance entre le pixel pointé dans l'image originaire 20 précédente par le vecteur-m,-n d'une part, et le pixel pointé dans l'image
originaire suivante par le vecteur m,n d'autre part.
D'autres modes de réalisation sont possibles, notamment en utilisant les propriétés du filtre médian. Le filtre médian est un opérateur qui s'applique à trois opérandes A, B, et C, et dont la valeur est déterminée de la façon 25 suivante: A,si B<A<C ou C<A<B median(A,B,C) = B,si A <B <C ou C<B<A (5) LC sinon Ainsi, dans un deuxième mode de réalisation, la valeur Pin(i,j,t) du pixel d'indice i et j de l'image interpolée courante In(t) est donnée par la relation suivante: Pin(i,j,t)=Pstat(i,j,t) = median (Pl (i,j,t- T),P2(i,j,t + T), l(Pl(i-m,j-n,t-T)+P2(i+m,j+n,t+T))) (6) Les deux premiers opérandes du filtre médian sont ici les valeurs du pixel Pl (i,j,t-T) d'indice i et j de l'image originaire précédente Or(tT) et du pixel P2(i,j,t+T) d'indice i et j de l'image originaire suivante Or(t+T), c'est-à-dire les valeurs non compensées du mouvement de l'image. Le troisième opérande est la moyenne entre les valeurs du pixel Pl(i-m,jn,t-T) d'indice i-m et j-n de 10 I'image originaire précédente Or(t-T) et du pixel P2(i+m,j+n,t+T) d'indice i+m et j+n de l'image originaire suivante Or(t+T) donnée par la relation (4) ci-dessus,
c'est-à-dire les valeurs compensées du mouvement de l'image.
Ainsi, si la valeur du troisième opérande est très différente des valeurs des premier et deuxième opérandes, du fait que l'estimation du vecteur de 15 mouvement m,n est de mauvaise qualité, le filtre médian permet de l'écarter
puisqu'il sélectionne soit le premier opérande soit le deuxième opérande en tant que valeur du pixel Pin(i,j,t). Ce mode de réalisation permet donc de privilégier l'interpolation d'image sans compensation de mouvement, encas de différence significative entre les résultats de l'interpolation avec et sans 20 compensation de mouvement.
A titre d'alternative, dans un troisième mode de réalisation, la valeur Pin(i,j,t) du pixel d'indice i et j de l'image interpolée courante In(t) est donnée par la relation suivante: Pin(i,j,t) = Pdyn(i,j,t) median(PI (i-m,j-n,t-T),P2(i+m,j+n,t+T), 1 (P1 (i,j,t-T)+P2(i,j,t+T))) (7) Dans ce mode de réalisation, Les deux premiers opérandes du filtre médian sont les valeurs du pixel Pl(i-m,j-n,t-T) d'indice i-m et j-n de l'image originaire précédente Or(t-T) et du pixel P2(i+m,j+n,t+T) d'indice i+m et j+n de lI'image originaire suivante Or(t+T), c'est-à-dire les valeurs compensées du 30 mouvement de l'image. Le troisième opérande est la moyenne entre les valeurs du pixel P1(i,j,t-T) d'indice i etj de l'image originaire précédente Or(t-T)
et du pixel P2(i,j,t+T) d'indice i et j de l'image originaire suivante Or(t+T), c'està-dire les valeurs non compensées du mouvement de l'image.
Ce mode de réalisation permet, au contraire du précédent, de
privilégier l'interpolation d'image avec compensation de mouvement, en cas de 5 différence significative entre les résultats de l'interpolation avec et sans compensation de mouvement.
En variante, dans un quatrième mode de réalisation, la valeur Pin(i,j,t) du pixel d'indice i et j de l'image interpolée courante In(t) est donnée par la relation suivante: Pin(i,j,t) =Pmid(i, j,t) = ((Pl ((ij,t- T) + P2(i, j,t + T)) 2 2 + l(P1(i-m,j-n,t-T)+P2(i+m,j+n,t+T))) (8) Dit autrement, la valeur Pin(i,j,t) est la moyenne de deux valeurs moyennes, à savoir: d'une part la moyenne des valeurs du pixel Pl(i,j,t-T) d'indice i et j de l'image originaire précédente Or(t-T) et du pixel P2(i,j,t+T) 15 d'indice i et j de l'image originaire suivante Or(t+T), c'est-à-dire les valeurs non
compensées du mouvement de l'image; et d'autre part, la moyenne des valeurs du pixel P1l(i-m,j-n,t-T) d'indice i-m et j-n de l'image originaire précédente Or(t-T) et du pixel P2(i+m,j+n,t+T) d'indice i+m et j+n de l'image originaire suivante Or(t+T), c'est-à-dire les valeurs compensées du mouvement 20 de l'image.
Enfin, un cinquième mode de réalisation permet de combiner les avantages de trois des quatre modes de réalisation précédents, en utilisant à nouveau les propriétés du filtre médian. Dans un exemple de ce mode de réalisation, la valeur Pin(i,j,t) du pixel d'indice i et j de l'image interpolée 25 courante In(t) est donnée par la relation suivante: Pin(i, j,t)= median(Pstat(i, j,t),Pdyn(i,j,t),Pmid(i, j, t)) (9) o Pstat(i,j,t), Pdyn(i,j,t) et Pmid(i,j,t) sont les valeurs données par les
relations respectivement (6), (7) et (8) ci-dessus.
Toutes les autres combinaisons sont naturellement possibles.
En suite de l'étape d'interpolation 65, le procédé comprend une étape 66 de mise à jour des espaces-mémoire MOR1, MOR2, MMV1, MMV2 et MIN de la mémoire 45. Plus particulièrement, I'espace-mémoire MOR1 est mis à jour avec les valeurs de l'espace-mémoire MOR2, et ce dernier est ensuite réinitialisé à zéro. De même l'espace-mémoire MMV1 est mis à jour avec les valeurs de l'espace-mémoire MMV2, et ce dernier est ensuite réinitialisé à 5 zéro. Enfin, l'espace-mémoire MIN est réinitialisé à zéro. Bien entendu, toutes les variantes de ces opérations à la portée de l'Homme du métier peuvent être mises en oeuvre dans la mesure o elles permettent d'obtenir un résultat équivalent. Dans une étape 67, on détermine ensuite si on est en présence d'une 10 coupure de scène, ce qui est fait en comparant l'image interpolée courante In(t)
et l'image originaire précédente Or(t-T).
La figure 11 illustre sur un exemple ce qui se passe en cas de rupture de scène entre l'image originaire précédente Or(t-T) et l'image originaire suivante Or(t+T). Selon cet exemple, la séquence d'images 110 qui se termine 15 avec l'image Or(t-T) montre un joueur de football en action et la séquence 120 qui commence par l'image Or(t+T) montre une skieuse en action. Il existe peu voire même aucune corrélation entre les éléments des images Or(t-T) et Or(t+T). De ce fait l'image interpolée courante In(t), qui est générée à partir d'informations basées sur l'hypothèse de telles corrélations, n'est pas adaptée 20 pour s'intégrer harmonieusement entre les images Or(t-T) et Or(t+T). Elle constitue un mixage approximatif des éléments de chacune des images, ainsi
qu'il est représenté à la figure.
C'est pourquoi, en cas de coupure de scène, il convient de ne pas afficher l'image interpolée courante In(t). Celle-ci est remplacée, dans une 25 étape 68 qui est aussi illustrée par le diagramme de la figure 11, par l'image originaire précédente Or(t-T) en vue de l'affichage de celle- ci selon le principe de la répétition de trame. De plus, I'algorithme doit être réinitialisé. C'est pourquoi les valeurs des pixels de l'image Or(t+T) sont sauvegardées dans
l'espace-mémoire MOR1 et on revient à l'étape d'initialisation 62.
En cas d'absence de coupure de scène, on revient à l'étape 63 de décodage de l'image originaire suivante, afin de poursuivre le procédé par une
nouvelle récurrence de l'algorithme, pour laquelle t sera égal à t+2T (t=t+2T).
La coupure de scène est détectée à l'étape 67 de la manière qui va
maintenant être proposée.
Pour chaque bloc de pixels de l'image interpolée courante In(t), on détermine si le double test ci-dessous est vérifié MSE(ln(t)) > VAR(ln(t))
(10)
LMSE(ln(t)) > 256 o MSE(ln(t)) est l'erreur quadratique moyenne (" Mean Square Error " en anglais) du bloc de pixel In(t), donnée par la relation suivante: N M (in(i,j,t)_ Pl(itm2 MSE(ln(t)) = I___, Nx.. (11) j=1 i=1 et o VAR(ln(t)) est la variance donnée par la relation suivante: N M [j=Zl M 2 = (=12 255.VAR(ln(t))=,,In(i,j,t)- 256 (12) j=1 i=1 Si le double test déterminé par la relation (10) ci-dessus est vérifié pour chaque bloc de pixels de l'image interpolée courante In(t), alors on considère
qu'une coupure de scène est détectée.
On a pu vérifier en pratique que l'invention décrite ci-dessus permet 15 d'obtenir des images interpolées de bonne qualité, déterminée par le rapport
signal à bruit des images ou PSNR (de l'anglais "Picture Signal-Noise Ratio").

Claims (18)

REVENDICATIONS
1. Procédé d'interpolation d'images destinées à s'intégrer, dans une séquence d'images animées, chacune entre une première image originaire (Or(t-T)) et une seconde image originaire (Or(t+T) de ladite séquence, du type comprenant une estimation d'au moins un vecteur de mouvement associé à au 5 moins un pixel d'une image interpolée courante (In(t)), caractérisé en ce que l'estimation du vecteur de mouvement associé à un bloc de pixels déterminé (B(x,y)) de ladite image interpolée courante comprend les étapes suivant lesquelles: a) on présélectionne au plus un nombre déterminé P de premiers 10 vecteurs de mouvement respectivement associés à des premiers autres blocs de pixels (B(x-1,y),B(x,y-1)) voisins dudit bloc de pixels déterminé dans ladite image interpolée courante, o P est un nombre entier déterminé, pour lesquels on dispose déjà d'un vecteur de mouvement estimé; b) on présélectionne au plus un nombre déterminé Q de seconds 15 vecteurs de mouvement respectivement associés à des seconds autres blocs de pixels (B(x+1,y),B(x,y+1)) voisins dudit bloc de pixels déterminé dans l'image interpolée précédente (In(t- 2T)), o Q est un nombre entier déterminé; c) on sélectionne parmi lesdits premiers vecteurs de mouvement et lesdits seconds vecteurs de mouvement, le vecteur de mouvement qui 20 minimise une fonction de cot entre les pixels d'un premier bloc de pixels déterminé qui est pointé dans ladite première image originaire par ledit vecteur de mouvement à partir dudit bloc de pixel déterminé de l'image interpolée courante, d'une part, et les pixels d'un second bloc de pixels déterminé qui est pointé dans ladite seconde image originaire par le vecteur symétrique dudit 25 vecteur de mouvement à partir dudit bloc de pixel déterminé de l'image
interpolée courante, d'autre part.
2. Procédé d'interpolation selon la revendication 1, caractérisé en ce que l'estimation du vecteur de mouvement associé audit bloc de pixels déterminé comprend, après l'étape c), les étapes suivant lesquelles: d) on génère au plus un nombre déterminé K de vecteurs de mouvement corrigés, chaque vecteur de mouvement corrigé correspondant au vecteur de mouvement sélectionné à l'étape c) affecté d'un couple de valeurs de correction déterminé respectif; e) on sélectionne, parmi lesdits vecteurs de mouvement corrigés, le vecteur de mouvement corrigé qui minimise ladite fonction de cot; f) on remplace le vecteur de mouvement sélectionné à l'étape c) par le
vecteur de mouvement corrigé sélectionné à l'étape e).
3. Procédé selon la revendication 2, caractérisé en ce que à l'étape f),
on ne remplace le vecteur de mouvement sélectionné à l'étape c) par le vecteur de mouvement corrigé sélectionné à l'étape e) que si ce dernier donne 10 une valeur inférieure de la fonction de cot.
4. Procédé selon l'une quelconque des revendications précédentes,
caractérisé en ce que la fonction de cot est définie de l'estimateur "somme des différences absolues" donné par: N M SADm,n =l % P1(i-m,j-n,tT)-P2(i+m,j+n,t+T)I j=1 i=1 o P1(i,j,t-T) désigne la valeur du pixel d'indices i et j dudit premier bloc de pixels déterminé de ladite première image originaire (Or(t-T)); o P2(i,j,t+T) désigne la valeur du pixel d'indices i et j dudit second bloc de pixels déterminé de ladite seconde image originaire (Or(t+T)); et,
o m et n sont des nombres entiers relatifs qui désignent les 20 coordonnées du vecteur de mouvement.
5. Procédé selon l'une quelconque des revendications 2 à 4,
caractérisé en ce que les valeurs de correction sont des coefficients additifs définis, à partir de la valeur du couple m,n de coordonnées du vecteur de mouvement par l'ensemble des couples de coordonnées m+ml,n nl o ml 25 est un nombre entier prenant toutes les valeurs comprises entre 0 et M1, o nl est un nombre entier prenant toutes les valeurs comprises entre 0 et N1, et o
M1 et N1 sont des nombres entiers déterminés non nuls.
6. Procédé selon l'une quelconque des revendications précédentes,
caractérisé en ce que lesdits seconds autres blocs de pixels sont différents 30 desdits premiers autres blocs de pixels.
7. Procédé selon l'une quelconque des revendications précédentes,
caractérisé en ce que les premiers autres blocs de pixels et/ou les seconds autres blocs de pixels sont adjacents audit bloc de pixels déterminé dans les images.
8. Procédé selon l'une quelconque des revendications précédentes,
caractérisé en ce que P est égal à deux et/ou Q est égal à deux.
9. Procédé selon les revendications 7 et 8, caractérisé en ce que, en
notant x et y des indices repérant la position dudit bloc de pixels déterminé dans les images, les positions respectives des deux premiers autres blocs de 10 pixels sont repérées par les indices respectivement x et y-1, et x-1 et y, et/ou les positions respectives des deux seconds autres blocs de pixels sont repérés
par les indices respectivement x+1 et y, et x et y+1.
10. Procédé selon l'une quelconque des revendications 1 à 9,
caractérisé en ce que la valeur d'au moins un pixel de l'image interpolée 15 courante est donnée par la relation suivante: Pin(i,j,t)= 1(P1(i-m,j-n, t-T)+P2(i+m,j+n,t+T)) o Pin(i,j,t) désigne le pixel d'indice i et j de l'image interpolée courante; o Pl(i-m,j-n,t-T) désigne la valeur du pixel d'indice i-m et j-n de la 20 première image originaire; o P2(i+m,j+ n,t+T) désigne la valeur du pixel d'indice i+m et j+n de la seconde image originaire; et, o m et n désignent les coordonnées du vecteur de mouvement
associé au bloc de pixels auquel appartient ledit pixel.
11. Procédé selon l'une quelconque des revendications 1 à 9,
caractérisé en ce que la valeur d'au moins un pixel de l'image interpolée courante est donnée par la relation suivante: Pin(i,j,t) =median (P1 (i,j, t- T),P2(i,j,t + T), 1(Pl(i-m,j-n,t-T)+P2(i+m,j+n,t+T))) o Pin(i,j,t) désigne le pixel d'indice i et j de l'image interpolée courante; o Pl(im,j-n,t-T) désigne la valeur du pixel d'indice i-m et j-n de la première image originaire; o P2(i+m,j+nt+T) désigne la valeur du pixel d'indice i+ m et j+n de la seconde image originaire; o m et n désignent les coordonnées du vecteur de mouvement associé au bloc de pixels auquel appartient ledit pixel; et, o median(z) désigne la valeur de la fonction filtre médian de la 10 variable z.
12. Procédé selon l'une quelconque des revendications 1 à 9,
caractérisé en ce que la valeur d'au moins un pixel de l'image interpolée courante est donnée par la relation suivante: Pin(i,j,t) = median(Pl(i-m, j-n,t-T),P2(i+m,j+n,t+T), 15 1 (Pl(ij,t-T)+P2(ij,t+T))) o Pin(i,j,t) désigne le pixel d'indice i et j de l'image interpolée courante; o P1(im,j-n,t-T) et Pl(i,j,t-T) désignent respectivement la valeur du pixel d'indices i-m et j-n, et la valeur du pixel d'indice i et j de la première image 20 originaire; o P2(i+m,j+n,t+T) et P(i,j,t+T) désignent respectivement la valeur du pixel d'indice i+m et j+n, et la valeur du pixel d'indice i et j de la seconde image originaire; o m et n désignent les coordonnées du vecteur de mouvement 25 associé au bloc de pixels auquel appartient ledit pixel; et, o median(z) désigne la valeur de la fonction filtre médian de la variable z.
13. Procédé selon l'une quelconque des revendications 1 à 9,
caractérisé en ce que la valeur d'au moins un pixel de l'image interpolée 30 courante est donnée par la relation suivante: Pin(i,j, t)= 1(1(P1(i,j, t-T) +P2(i,j, t + T)) 2 2 + 1(Pl(i-m,j-n,t-T)+P2(i+m, j +n,t+T))) o Pin(i,j,t) désigne le pixel d'indice i et j de l'image interpolée courante; o Pl(i-m,j-n,t-T) et P1(i,j,t-T) désignent respectivement la valeur du pixel d'indices i-m et j-n, et la valeur du pixel d'indice i et j de la première image originaire; o P2(i+m,j+n,t+T) et P(i,j,t+T) désignent respectivement la valeur du pixel d'indice i+m et j+n, et la valeur du pixel d'indice i et j de la seconde image 10 originaire; et, o m et n désignent les coordonnées du vecteur de mouvement
associé au bloc de pixels auquel appartient ledit pixel.
14. Procédé selon l'une quelconque des revendications 1 à 9,
caractérisé en ce que la valeur d'au moins un pixel de l'image interpolée 15 courante est donnée par la relation suivante: Pin(i, j,t) = median(Pstat(i, j,t),Pdyn(i, j, t), Pmid(i, j, t)) o Pstat(i,j,t), Pdyn(i,j,t) et Pmid(i,j,t) sont les valeurs données par les
relations indiquées dans les revendications respectivement 11, 12 et 13.
15. Dispositif d'interpolation d'images destinées à s'intégrer, dans une 20 séquence d'images animées, chacune entre une première image originaire (Or(t-T)) et une seconde image originaire (Or(t+T) de ladite séquence, du type comprenant des moyens d'estimation d'au moins un vecteur de mouvement associé à au moins un pixel déterminé d'une image interpolée courante (In(t)), caractérisé en ce que lesdits moyens d'estimation comprennent, pour 25 I'estimation d'un vecteur de mouvement associé à un bloc de pixels déterminé (B(x,y)) de ladite image interpolée courante: - des premiers moyens de présélection pour présélectionner au plus un nombre déterminé P de premiers vecteurs de mouvement respectivement associés à des premiers autres blocs de pixels (B(x-1,y),B(x,y-1)) voisins dudit 30 bloc de pixels déterminé dans ladite image interpolée courante, o P est un nombre entier déterminé, pour lesquels on dispose déjà d'un vecteur de mouvement estimé; - des seconds moyens de présélection pour présélectionner au plus un nombre déterminé Q de seconds vecteurs de mouvement respectivement 5 associés à des seconds autres blocs de pixels (B(x+1,y),B(x,y+1)) voisins dudit bloc de pixels déterminé dans l'image interpolée précédente (In(t-2T)), o Q est un nombre entier déterminé; -des premiers moyens de sélection pour sélectionner parmi lesdits premiers vecteurs de mouvement et lesdits seconds vecteurs de mouvement, 10 le vecteur de mouvement qui minimise une fonction de cot entre les pixels d'un premier bloc de pixels déterminé qui est pointé dans ladite première image originaire par ledit vecteur de mouvement à partir dudit bloc de pixel déterminé de l'image interpolée courante, d'une part, et les pixels d'un second bloc de pixels déterminé qui est pointé dans ladite seconde image originaire par le 15 vecteur symétrique dudit vecteur de mouvement à partir dudit bloc de pixel
déterminé de l'image interpolée courante, d'autre part.
16. Dispositif selon la revendication 15, caractérisé en ce que les moyens d'estimation comprennent en outre: -des moyens pour générer au plus un nombre déterminé K de 20 vecteurs de mouvement corrigés, chaque vecteur de mouvement corrigé correspondant au vecteur de mouvement sélectionné par lesdits premiers moyens de sélection affecté d'un couple de valeurs de correction déterminé respectif; -des seconds moyens de sélection pour sélectionner, parmi lesdits 25 vecteurs de mouvement corrigés, le vecteur de mouvement corrigé qui minimise ladite fonction de cot; - des moyens pour remplacer le vecteur de mouvement sélectionné par les premiers moyens de sélection par le vecteur de mouvement corrigé
sélectionné par les seconds moyens de sélection.
17. Dispositif selon la revendication 15 ou la revendication 16, caractérisé en ce qu'il met en oeuvre un procédé selon l'une quelconque des
revendications 3 à 14.
18. Terminal communiquant, caractérisé en ce qu'il comprend: - des moyens de réception (26) pour recevoir des données codées correspondant à des images d'une vidéo; - des moyens de décodage (27) pour décoder les données codées qui sont reçues par les moyens de réception (26);
- des moyens de sur-échantillonnage (28) de la vidéo comprenant un 10 dispositif selon l'une quelconque des revendications 15 à 17; et,
- des moyens d'affichage (29) pour réaliser l'affichage de la vidéo suréchantillonnée.
FR0210889A 2002-09-03 2002-09-03 Procede et dispositif d'interpolation d'images avec compensation du mouvement Expired - Lifetime FR2844131B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR0210889A FR2844131B1 (fr) 2002-09-03 2002-09-03 Procede et dispositif d'interpolation d'images avec compensation du mouvement
US10/654,582 US7302003B2 (en) 2002-09-03 2003-09-03 Method and device for image interpolation with motion compensation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0210889A FR2844131B1 (fr) 2002-09-03 2002-09-03 Procede et dispositif d'interpolation d'images avec compensation du mouvement

Publications (2)

Publication Number Publication Date
FR2844131A1 true FR2844131A1 (fr) 2004-03-05
FR2844131B1 FR2844131B1 (fr) 2004-11-12

Family

ID=31503074

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0210889A Expired - Lifetime FR2844131B1 (fr) 2002-09-03 2002-09-03 Procede et dispositif d'interpolation d'images avec compensation du mouvement

Country Status (2)

Country Link
US (1) US7302003B2 (fr)
FR (1) FR2844131B1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1638339A2 (fr) 2004-09-18 2006-03-22 Samsung Electronics Co., Ltd. Estimation de mouvement

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7742525B1 (en) 2002-07-14 2010-06-22 Apple Inc. Adaptive motion estimation
US8111752B2 (en) * 2004-06-27 2012-02-07 Apple Inc. Encoding mode pruning during video encoding
US20050286777A1 (en) * 2004-06-27 2005-12-29 Roger Kumar Encoding and decoding images
US7792188B2 (en) * 2004-06-27 2010-09-07 Apple Inc. Selecting encoding types and predictive modes for encoding video data
US7929798B2 (en) * 2005-12-07 2011-04-19 Micron Technology, Inc. Method and apparatus providing noise reduction while preserving edges for imagers
KR100827093B1 (ko) * 2006-10-13 2008-05-02 삼성전자주식회사 영상 부호화 방법 및 장치
US8514939B2 (en) * 2007-10-31 2013-08-20 Broadcom Corporation Method and system for motion compensated picture rate up-conversion of digital video using picture boundary processing
US8355442B2 (en) * 2007-11-07 2013-01-15 Broadcom Corporation Method and system for automatically turning off motion compensation when motion vectors are inaccurate
US20090201380A1 (en) * 2008-02-12 2009-08-13 Decisive Analytics Corporation Method and apparatus for streamlined wireless data transfer
US20090207314A1 (en) * 2008-02-14 2009-08-20 Brian Heng Method and system for motion vector estimation using a pivotal pixel search
US20100235314A1 (en) * 2009-02-12 2010-09-16 Decisive Analytics Corporation Method and apparatus for analyzing and interrelating video data
US8458105B2 (en) * 2009-02-12 2013-06-04 Decisive Analytics Corporation Method and apparatus for analyzing and interrelating data
GB2469679B (en) * 2009-04-23 2012-05-02 Imagination Tech Ltd Object tracking using momentum and acceleration vectors in a motion estimation system
JP2012034198A (ja) * 2010-07-30 2012-02-16 On Semiconductor Trading Ltd フレーム補間装置
GB2484071B (en) * 2010-09-23 2013-06-12 Imagination Tech Ltd De-interlacing of video data
JP2015056695A (ja) * 2013-09-10 2015-03-23 株式会社東芝 動画再生装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0917363A1 (fr) * 1997-11-17 1999-05-19 STMicroelectronics S.r.l. Algorithme d'estimation de mouvement et architecture du système

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0901735A1 (fr) * 1997-03-12 1999-03-17 Matsushita Electric Industrial Co., Ltd Systeme de transposition, par abaissement de frequence, des signaux de television a haute definition (t.v.h.d.)
US6295089B1 (en) * 1999-03-30 2001-09-25 Sony Corporation Unsampled hd MPEG video and half-pel motion compensation
US6931062B2 (en) * 2001-04-11 2005-08-16 Koninklijke Philips Electronics N.V. Decoding system and method for proper interpolation for motion compensation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0917363A1 (fr) * 1997-11-17 1999-05-19 STMicroelectronics S.r.l. Algorithme d'estimation de mouvement et architecture du système

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HAAN DE G ET AL: "IC FOR MOTION-COMPENSATED 100 HZ TV WITH NATURAL-MOTION MOVIE-MODE", IEEE TRANSACTIONS ON CONSUMER ELECTRONICS, IEEE INC. NEW YORK, US, vol. 42, no. 2, 1 May 1996 (1996-05-01), pages 165 - 174, XP000596762, ISSN: 0098-3063 *
SOO-CHUL HAN ET AL: "Frame-rate up-conversion using transmitted motion and segmentation fields for very low bit-rate video coding", IMAGE PROCESSING, 1997. PROCEEDINGS., INTERNATIONAL CONFERENCE ON SANTA BARBARA, CA, USA 26-29 OCT. 1997, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US, 26 October 1997 (1997-10-26), pages 747 - 750, XP010254064, ISBN: 0-8186-8183-7 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1638339A2 (fr) 2004-09-18 2006-03-22 Samsung Electronics Co., Ltd. Estimation de mouvement
EP1638339A3 (fr) * 2004-09-18 2006-12-27 Samsung Electronics Co., Ltd. Estimation de mouvement.

Also Published As

Publication number Publication date
US20040165662A1 (en) 2004-08-26
US7302003B2 (en) 2007-11-27
FR2844131B1 (fr) 2004-11-12

Similar Documents

Publication Publication Date Title
FR2844131A1 (fr) Procede et dispositif d&#39;interpolation d&#39;images avec compensation du mouvement
EP0675652B1 (fr) Procédé et circuit d&#39;estimation de mouvement entre images à deux trames entrelacées, et dispositif de codage de signaux numériques comprenant un tel circuit
EP0330279B1 (fr) Dispositif de sous-échantillonnage spatio-temporel de signaux vidéo numériques représentatifs d&#39;une suite d&#39;images entrelacées ou séquentielles, système de transmission d&#39;images de télévision à haute définition incluant un tel dispositif, et étages d&#39;émission et de réception pour un tel système
FR2782437A1 (fr) Procede de commutation de flux mpeg
FR2806570A1 (fr) Procede et dispositif de codage d&#39;images video
FR2902266A1 (fr) Procede et dispositif de repartition de la bande passante de communication
EP0342756B1 (fr) Système d&#39;émission et réception de télévision à haute définition à débit de données réduit
EP0418952B1 (fr) Dispositif de codage d&#39;informations bidimensionnelles et dispositif de décodage correspondant
WO2012150407A1 (fr) Procédé de codage et de décodage d&#39;images intégrales, dispositif de codage et de décodage d&#39;images intégrales et programmes d&#39;ordinateur correspondants
EP1408684A1 (fr) Procédé et système d&#39;affichage video avec recadrage automatique
EP3707900A1 (fr) Procede de formation d&#39;une sequence d&#39;images de sortie a partir d&#39;une sequence d&#39;images d&#39;entree, procede de reconstruction d&#39;une sequence d&#39;images d&#39;entree a partir d&#39;une sequence d&#39;images de sortie, dispositifs, equipement serveur, equipement client et programmes d&#39;ordinateurs associes
EP0337565B1 (fr) Dispositif de codage de signaux représentatifs d&#39;une suite d&#39;images et système de transmission d&#39;images de télévision à haute définition incluant un tel dispositif
FR2650718A1 (fr) Dispositif de transformation d&#39;une information de mouvement en un signal de detection de mouvement a la frequence trame et au nombre de lignes souhaites pour un recepteur de television haute definition
WO2010072636A1 (fr) Systeme et procede interactif pour la transmission sur un reseau bas debit d&#39;images clefs selectionnees dans un flux video
EP0404238B1 (fr) Dispositifs de traitement de signaux avant et aprés transmission et/ou stockage avec réduction de débit, et systèmes de transmission et/ou de stockage de signaux incluant de tels dispositifs
EP0365090B1 (fr) Dispositif de doublement du rythme de signaux de télévision, et décodeur d&#39;images de télévision comprenant un tel dispositif
EP0321357B1 (fr) Procédé de sous-échantillonnage dans l&#39;axe du mouvement d&#39;une séquence d&#39;images électroniques
EP0428216B1 (fr) Dispositif de décodage amélioré de signaux de télévision de type HD-MAC
FR2958822A1 (fr) Procedes de transmission et reception de contenus de donnees, nœuds source et destination, produit programme d&#39;ordinateur et moyen de stockage correspondants
FR2717648A1 (fr) Procédé et dispostif d&#39;estimation de mouvement entre images de télévision d&#39;une séquence d&#39;images.
FR2613165A1 (fr) Systeme de transmission d&#39;images de television a haute definition par un canal a bande passante etroite
EP4360319A1 (fr) Procédé de construction d&#39;une image de profondeur d&#39;une vidéo multi-vues, procédé de décodage d&#39;un flux de données représentatif d&#39;une vidéo multi-vues, procédé de codage, dispositifs, système, équipement terminal, signal et programmes d&#39;ordinateur correspondants
FR2633472A1 (fr) Dispositif de sous-echantillonnage temporel et d&#39;interpolation temporelle compensee en mouvement dans une sequence d&#39;images entrelacees, utilisation d&#39;un tel dispositif dans les dispositifs de codage et de decodage d&#39;un systeme de transmission d&#39;images de television a haute definition, et dispositifs de codage et de decodage pour un tel systeme
FR2693867A1 (fr) Dispositif de correction de l&#39;effet de saccade d&#39;images dites compatibles.
FR2652212A1 (en) Device for coding information intended to be transmitted and/or stored after data rate reduction

Legal Events

Date Code Title Description
CD Change of name or company name

Owner name: ST-ERICSSON SA, CH

Effective date: 20141024

TP Transmission of property

Owner name: ST-ERICSSON SA, CH

Effective date: 20141024

CD Change of name or company name

Owner name: ST-ERICSSON SA, CH

Effective date: 20150203

PLFP Fee payment

Year of fee payment: 14

TP Transmission of property

Owner name: SNAPTRACK, INC., US

Effective date: 20150818

PLFP Fee payment

Year of fee payment: 15

PLFP Fee payment

Year of fee payment: 16

PLFP Fee payment

Year of fee payment: 17

PLFP Fee payment

Year of fee payment: 18

PLFP Fee payment

Year of fee payment: 19

PLFP Fee payment

Year of fee payment: 20