FR2773038A1 - Procede et dispositif d'interpolation d'images a partir de donnees video codees mpeg - Google Patents
Procede et dispositif d'interpolation d'images a partir de donnees video codees mpeg Download PDFInfo
- Publication number
- FR2773038A1 FR2773038A1 FR9716478A FR9716478A FR2773038A1 FR 2773038 A1 FR2773038 A1 FR 2773038A1 FR 9716478 A FR9716478 A FR 9716478A FR 9716478 A FR9716478 A FR 9716478A FR 2773038 A1 FR2773038 A1 FR 2773038A1
- Authority
- FR
- France
- Prior art keywords
- image
- motion vectors
- images
- previous
- current image
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/537—Motion estimation other than block-based
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/587—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
- H04N7/0127—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level by changing the field or frame frequency of the incoming video signal, e.g. frame rate converter
- H04N7/0132—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level by changing the field or frame frequency of the incoming video signal, e.g. frame rate converter the field or frame frequency of the incoming video signal being multiplied by a positive integer, e.g. for flicker reduction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
- H04N5/144—Movement detection
- H04N5/145—Movement estimation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Le procédé d'interpolation d'images à partir de données vidéo codées selon la norme MPEG est caractérisé en ce qu'il exploite (15) des vecteurs de mouvement calculés à partir des vecteurs de mouvement transmis dans le flux des données codées MPEG.Les applications concernent le traitement d'images vidéo et en particulier la conversion de standard de télévision.
Description
L'invention concerne un procédé d'interpolation d'images à partir de données vidéo codées selon la norme MPEG, initiales des termes anglo-saxons "Motion Picture Expert Group", et un dispositif associé.
Le domaine concerne le traitement d'images vidéo et en particulier la conversion de standard de télévision exploitant la compensation en mouvement.
Dans la majorité des cas, les conversions de standard nécessitent une conversion temporelle, c'est à dire un calcul de valeurs de luminance pour un instant donné à partir d'informations de luminance relatives à un instant différent et, lorsqu'une telle conversion temporelle est nécessaire, I'obtention d'une image de qualité requiert l'exploitation de la compensation en mouvement.
II en est ainsi de l'adaptation de signaux vidéo à des fréquences de balayage plus élevées connue sous l'appellation de conversion en haute fréquence, élévation de fréquence ou "up-conversion" en anglosaxon telle le balayage 100 Hz en télévision, avec élimination d'artefacts de mouvement, de la conversion de mode film en mode caméra avec réduction de saccades pour la visualisation de film sur écran de télévision,
Le nombre de standards toujours croissant, qu'il soit relatif à la source ou au récepteur pour la visualisation, rend critiques les problèmes liés à la conversion de standard et par conséquent à la conversion temporelle. La solution connue de conversion de standard exploitant la compensation en mouvement pour des signaux vidéo comprimés selon la norme MPEG est représentée sur la figure 1. Le dispositif selon l'art antérieur reçoit sur son entrée un flux de données MPEG ou "MPEG bitstream" en anglo-saxon, compressé selon cette norme. Ce flux alimente un décodeur MPEG, référencé 1. La sortie du décodeur MPEG est reliée à l'entrée d'un convertisseur analogique/numérique 2. La sortie de ce convertisseur est reliée à l'entrée d'un circuit d'estimation de mouvement 3 et, en parallèle, à l'entrée d'un circuit d'interpolation compensée en mouvement 4. Ce circuit reçoit sur une deuxième entrée les vecteurs mouvement calculés par le circuit d'estimation de mouvement 3. La sortie du circuit d'interpolation est reliée à un convertisseur numérique/analogique 5 dont la sortie analogique est la sortie du dispositif.
Le nombre de standards toujours croissant, qu'il soit relatif à la source ou au récepteur pour la visualisation, rend critiques les problèmes liés à la conversion de standard et par conséquent à la conversion temporelle. La solution connue de conversion de standard exploitant la compensation en mouvement pour des signaux vidéo comprimés selon la norme MPEG est représentée sur la figure 1. Le dispositif selon l'art antérieur reçoit sur son entrée un flux de données MPEG ou "MPEG bitstream" en anglo-saxon, compressé selon cette norme. Ce flux alimente un décodeur MPEG, référencé 1. La sortie du décodeur MPEG est reliée à l'entrée d'un convertisseur analogique/numérique 2. La sortie de ce convertisseur est reliée à l'entrée d'un circuit d'estimation de mouvement 3 et, en parallèle, à l'entrée d'un circuit d'interpolation compensée en mouvement 4. Ce circuit reçoit sur une deuxième entrée les vecteurs mouvement calculés par le circuit d'estimation de mouvement 3. La sortie du circuit d'interpolation est reliée à un convertisseur numérique/analogique 5 dont la sortie analogique est la sortie du dispositif.
Le flux de données MPEG est ainsi décodé par un décodeur standard MPEG pour reconstruire les images d'abord sous forme numérique puis sous forme analogique, et fournir en sa sortie un signal analogique de type le signal vidéo alimentant un récepteur de télévision à partir du décodeur. Le signal analogique sortant du décodeur est ensuite converti en un signal numérique par un convertisseur analogique/numérique 2. Le signal vidéo numérisé sortant du convertisseur alimente un estimateur de mouvement 3 qui calcule, à partir de ces informations numérisées, un champ de vecteurs mouvement pour chaque image. Ce champ de vecteurs est représentatif du déplacement de pixels ou de groupes de pixels selon la résolution et complexité choisies, d'une image à une autre. Le circuit d'interpolation d'image compensée en mouvement 4 a pour rôle de calculer les images interpolées et d'effectuer le changement de standard en y intégrant les images sources. il reçoit le signal vidéo numérique correspondant aux images sources alimentant le dispositif et décodées et calcule, à partir de vecteurs mouvements reçus de l'estimateur de mouvement 3, les nouvelles images interpolées, par exemple en calculant par interpolation la luminance des pixels traversés par un vecteur mouvement en fonction des luminances des pixels des images sources aux extrémités de ce vecteur. Les images sources et les images interpolées sont ensuite transmises à un convertisseur numérique/analogique 5 qui délivre, en sortie du dispositif les séquences d'images sous le format désiré.
L'estimation de mouvement doit être aussi précise que possible pour fournir une image de bonne qualité. Les solutions préconisées par la norme MPEG sont écartées au profit de solutions plus performantes, par exemple à partir d'un algorithme de type PEL récursif. Le calcul des vecteurs mouvement par appariement de blocs d'image ou "block matching" en anglo-saxon préconisé par la norme MPEG n'est en effet pas adapté. Dans ce calcul, un bloc courant d'une image courante est corrélé avec des blocs d'image d'une image précédente appartenant à une fenêtre de recherche et le bloc donnant la meilleure corrélation est choisi pour définir le vecteur mouvement correspondant au déplacement du bloc courant par rapport à ce bloc corrélé. Ce vecteur mouvement est exploité par la norme pour reconstruire, côté décodeur, un bloc d'image à partir du bloc reconstruit de l'image précédente désigné par ce vecteur et de l'information d'erreur transmise lors du codage du bloc courant. Ainsi, ces vecteurs servent à coder le bloc courant avec un minimum de données et ne représentent donc pas nécessairement le mouvement réel dans l'image. Le but de ce calcul est la compression de données et non une estimation du mouvement réel dans l'image.
C'est donc une solution de type PEL récursif qui est choisie dans l'art antérieur, pour le calcul des vecteurs mouvements, car elle donne des informations de mouvement fiables permettant d'effectuer une interpolation compensée en mouvement de bonne qualité. Les vecteurs mouvement calculés entre deux trames ou images à partir d'un tel algorithme représentent, d'une manière aussi précise que possible, le mouvement réel entre ces deux trames ou images.
Des problèmes liés à de tels algorithmes existent cependant et sont ceux de convergence lors de mouvements rapides et de comportement sur des mouvements hors des limites prédéfinies.
La mise en oeuvre de ces dispositifs d'interpolation et de changement de fréquence est complexe, les problèmes de convergence ou de temps de calcul limitent leur exploitation. Ainsi, I'utilisation de convertisseurs numériques/analogiques et analogiques/numériques, la mise en oeuvre d'un estimateur de mouvement spécifique rend le dispositif complexe et coûteux en mise au point et en réalisation.
Le but de la présente invention est de remédier aux inconvénients précités, en particulier de diminuer la complexité des dispositifs existants tout en conservant une qualité d'image correcte.
A cet effet, I'invention a pour objet un procédé d'interpolation d'images à partir de données vidéo codées selon la norme MPEG, caractérisé en ce qu'il exploite des vecteurs de mouvement calculés à partir des vecteurs de mouvement transmis dans le flux de données vidéo codées MPEG.
Grâce à l'invention, les circuits d'estimation de mouvement spécifiques au calcul d'images interpolées ne sont plus nécessaire, les convertisseurs analogiques/numériques peuvent également être économisés.
D'autres particularités et avantages de l'invention apparaîtront clairement dans les description suivante donnée à titre d'exemple non limitatif, et faite en regard des figures annexées qui représentent
- la figure 1, un dispositif de conversion de standard utilisant une interpolation d'images compensée en mouvement selon l'art antérieur
- la figure 2, un dispositif de conversion de standard utilisant une interpolation d'image compensée en mouvement selon l'invention
- la figure 3, une représentation fonctionnelle du dispositif
- la figure 4, les vecteurs de mouvement normés
- la figure 5 un filtrage pour le calcul des valeurs d'interpolation.
- la figure 1, un dispositif de conversion de standard utilisant une interpolation d'images compensée en mouvement selon l'art antérieur
- la figure 2, un dispositif de conversion de standard utilisant une interpolation d'image compensée en mouvement selon l'invention
- la figure 3, une représentation fonctionnelle du dispositif
- la figure 4, les vecteurs de mouvement normés
- la figure 5 un filtrage pour le calcul des valeurs d'interpolation.
La figure 2 représente un dispositif de conversion de standard selon l'invention.
Le flux de données MPEG est transmis à l'entrée du dispositif pour alimenter un décodeur MPEG 6. Une première sortie du décodeur est reliée à une première entrée d'un circuit d'interpolation avec compensation en mouvement 7 pour transmettre les images numériques décodées. Une deuxième sortie est reliée à une deuxième entrée du circuit d'interpolation pour la transmission de vecteurs de mouvement. Le circuit d'interpolation est enfin relié à un convertisseur analogique/numérique 8 dont la sortie est celle du dispositif.
Par la suite, le terme image pourra aussi bien désigner une image à trame unique ou à deux trames, selon les spécifications contenues dans les informations codées provenant du flux de données.
D'autre part, des termes entre parenthèses rappellent, lorsqu'utile,
I'appellation exacte, en français ou en anglo-saxon, utilisée dans la norme
MPEG.
I'appellation exacte, en français ou en anglo-saxon, utilisée dans la norme
MPEG.
Le décodeur MPEG 6 traite les informations provenant du flux de données pour reconstruire les images vidéo à partir des données comprimées reçues. L'image courante décodée est transmise par le décodeur 6, sous forme numérique, sur la première entrée du circuit d'interpolation avec compensation en mouvement 7. Le décodeur extrait du flux de données, lors du traitement, les informations relatives aux vecteurs de mouvement. Ces informations, exploitées lors du décodage des données pour la reconstruction des images, sont également transmises vers la deuxième entrée du circuit d'interpolation avec compensation en mouvement 7. Les images courantes reçues sont mémorisées dans le circuit d'interpolation pour fournir des images précédentes, lors de la réception de l'image courante suivante.
L'interpolation des images est ainsi effectuée à partir des images précédentes et courantes et des informations relatives aux vecteurs de mouvement. Les images interpolées et les images sources traitées et agencées selon le nouveau standard sont ensuite transmises au convertisseur numérique/analogique 8 qui fournit donc les images analogiques sous le nouveau standard.
Le procédé selon l'invention est explicité ci-après à partir d'une représentation fonctionnelle du dispositif, objet de la figure 3. Le décodeur MPEG est ici décomposé en plusieurs circuits relatifs à des étapes fonctionnelles de ce décodage, le dispositif selon l'invention exploitant des données de ce décodage correspondant à ces étapes intermédiaires. Les circuits 10, 11, 12 regroupés par des traits pointillés sous la référence 9 sont relatifs au décodage MPEG classique et sont réalisés, en se référant à la figure 2, dans le circuit de décodage MPEG référencé 6. Il s'agit en particulier de circuits de lecture du flux de données, de décodage des images et de leur réordonnancement. Les autres circuits 1 3 à 1 7 sont spécifiques au dispositif d'interpolation et leurs fonctions sont réalisées dans le circuit d'interpolation 7, toujours en se référant à la figure 2.
La sortie du circuit de décodage 1 1 est reliée à l'entrée d'un circuit de normalisation des vecteurs mouvements 1 3 pour transmettre les vecteurs de mouvement puis à un circuit d'affinage des vecteurs mouvement 14. Ce circuit 14 transmet les vecteurs de mouvement ainsi calculés vers un circuit d'interpolation temporelle 15. La sortie du circuit de réordonnancement 12 est reliée à l'entrée d'un circuit de mémorisation image 16, à une deuxième entrée du circuit d'interpolation temporelle 15.
La sortie du circuit de mémorisation image 1 6 est reliée à une troisième entrée du circuit d'interpolation 1 5. Le circuit 1 5 transmet les images vers l'entrée d'un circuit de commande des images de sortie 17, dont la sortie est reliée à un convertisseur numérique/analogique 1 8 qui fournit en sa sortie le signal vidéo.
Le circuit de décodage MPEG 9 est alimenté par le flux de données MPEG. Il effectue, par l'intermédiaire du circuit 10, une lecture de ce flux de données et une sélection et analyse des données utiles.
La syntaxe et sémantique du flux binaire de données vidéo sont décrites dans la norme MPEG et l'on se reportera à cette norme pour la définition des termes utilisés dans la suite et définissant le contenu d'une séquence vidéo. La séquence vidéo commence par un en-tête de séquence suivi d'un en-tête de groupe d'images (GOP) et d'image puis des données image.
L'en-tête de séquence est donc lu et un certain nombre d'informations telles la taille des images, I'indicateur de séquence à balayage progressif, le nombre d'images dans la séquence sont stockés dans une structure de paramètres séquence.
L'entête du groupe d'image (GOP) est ensuite lu et le code temporel est mémorisé. Puis tous les en-têtes d'image sont lus aussi longtemps que deux images de référence n'ont pas été décodées. La référence temporelle, le type de codage d'image, la structure d'image, le fanion "trame supérieure en premier" ("top field first" selon l'appellation dans la norme MPEG), et le fanion trame bi-trame à balayage progressif sont mémorisés dans un tableau d'informations macroblocs. Ce tableau regroupe également les informations sur les modes de macroblocs, entre autres le type de macrobloc, le type de prédiction, de codage DCT, les informations concernant les vecteurs de mouvement telles que la sélection de trame pour la prédiction, tous les vecteurs mouvement possibles (8 composantes pour les vecteurs de mouvement différé et anticipé de l'image courante et de l'image précédente), aussi la structure de bloc codé.
Enfin les données d'images sont transmises au circuit de décodage 1 1 pour être décodées. Les macroblocs sont reconstruits et, après réception d'un flux de données correspondant à une image complète, I'image est reconstituée.
Les informations mémorisées par le circuit de lecture 10, par exemple les signaux de contrôle et de commande utiles, sont transmises au circuit de décodage des images 1 1 puis au circuit de réordonnancement 1 2 de ces images.
Le circuit de réordonnancement 1 2 réordonne et mémorise les images décodées, dans une structure à quatre mémoires image. Cette structure contient toutes les informations qu'il est nécessaire d'aller chercher, à partir d'un quelconque vecteur mouvement, pour réaliser la conversion de balayage haute fréquence. Ces vecteurs mouvement sont relatifs aux images de référence.
On peut rappeler que les images codées en intra (I) ne font pas appel à des vecteurs mouvement, les images à codage prédictif (P) font appel à des vecteurs de mouvement différé relatifs à des images de référence antérieure et les images à codage prédictif bidirectionnel (B) font appel à des vecteurs de mouvement différé ou anticipé respectivement relatifs à des images de référence antérieures ou postérieures. Les images de référence sont de type I ou P.
Les types d'images correspondant à ces mémoires sont les suivants
- image de référence antérieure,
- image de référence postérieure,
- image précédente,
- image courante.
- image de référence antérieure,
- image de référence postérieure,
- image précédente,
- image courante.
Après réception d'une image décodée (reconstituée) provenant du circuit de décodage 11, le circuit de réordonnancement réactualise le contenu de la structure selon le type, de la manière suivante
Si le type d'image lue dans le flux de données MPEG est le type
P ou I
- I'image précédente est détruite
- I'image courante est transférée dans la mémoire image précédente
- I'image lue est transférée dans la mémoire image de référence postérieure
- l'image de référence postérieure est transférée dans la mémoire image de référence antérieure
- I'image de référence antérieure (précédemment image de référence postérieure) est transférée dans la mémoire image courante.
Si le type d'image lue dans le flux de données MPEG est le type
P ou I
- I'image précédente est détruite
- I'image courante est transférée dans la mémoire image précédente
- I'image lue est transférée dans la mémoire image de référence postérieure
- l'image de référence postérieure est transférée dans la mémoire image de référence antérieure
- I'image de référence antérieure (précédemment image de référence postérieure) est transférée dans la mémoire image courante.
Si le type d'image lue dans le flux de données MPEG est le type
B:
- I'image précédente est détruite
- I'image courante est transférée dans la mémoire image précédente
- I'image lue est transférée dans la mémoire image courante.
B:
- I'image précédente est détruite
- I'image courante est transférée dans la mémoire image précédente
- I'image lue est transférée dans la mémoire image courante.
Après ce réordonnancement des images selon leur type, le circuit de normalisation 1 3 effectue une normalisation des vecteurs mouvement de l'image décodée en fonction des images retenues.
La figure 4 représente les différents types d'images mémorisés dans la structure
f1 correspond à l'image de référence antérieure
f2 correspond à l'image précédente
f4 correspond à l'image courante
f5 correspond à l'image de référence postérieure.
f1 correspond à l'image de référence antérieure
f2 correspond à l'image précédente
f4 correspond à l'image courante
f5 correspond à l'image de référence postérieure.
Quant à f3, il s'agit de l'image interpolée.
Le vecteur mouvement 1 9 entre l'image f1 et f4 est le vecteur de mouvement différé affecté au macrobloc de l'image courante (f4) et donc aux pixels constituant ce macrobloc et le vecteur mouvement 21 entre l'image f5 et f2 est le vecteur de mouvement anticipé affecté au macrobloc de l'image précédente (f2). Ces deux types de vecteurs "traversent" I'image à interpoler (f3).
Si le vecteur de mouvement différé existe, il est divisé par la valeur correspondant à la référence temporelle de l'image courante (f4) moins la référence temporelle de l'image de référence antérieure (fui) pour donner le vecteur 20 entre f2 et f4.
Si le vecteur de mouvement anticipé existe, il est divisé par la valeur correspondant à la référence temporelle de l'image de référence postérieure (f5) moins la référence temporelle de l'image précédente (f2) pour donner le vecteur 22 entre f2 et f4.
Si aucun vecteur mouvement n'est transmis, une information "NO MV" est mémorisée dans une structure contenant les vecteurs mouvement pour la conversion de balayage haute fréquence de l'image.
Le circuit de normalisation 1 3 effectue ensuite un choix des vecteurs mouvements.
Dans le meilleur des cas, deux vecteurs mouvement sont disponibles pour un macrobloc donné
- le vecteur de mouvement différé normalisé 20 de l'image courante,
- le vecteur de mouvement anticipé normalisé 22 de l'image précédente.
- le vecteur de mouvement différé normalisé 20 de l'image courante,
- le vecteur de mouvement anticipé normalisé 22 de l'image précédente.
Les différents cas sont traités de la manière suivante
- II n'y a pas de vecteur mouvement et la valeur des vecteurs mouvement est alors forcée à zéro. II s'agit généralement d'images correspondant à un changement de séquence.
- II n'y a pas de vecteur mouvement et la valeur des vecteurs mouvement est alors forcée à zéro. II s'agit généralement d'images correspondant à un changement de séquence.
- II n'y a qu'un seul vecteur mouvement disponible et ce vecteur est donc choisi.
- II y a deux vecteurs mouvement disponibles. Celui qui est choisi est celui correspondant à la trame de référence la plus proche de l'image à interpoler. Dans le cas d'équidistance, un choix arbitraire est effectué, par exemple le vecteur mouvement anticipé.
Une fois les vecteurs de mouvement calculés et choisis, vecteurs de mouvement entre les images encadrant l'image à interpoler, il est nécessaire de définir deux champs de vecteurs de mouvement pour la conversion haute fréquence: un champ correspondant au mouvement entre l'image précédente et l'image à interpoler et un champ correspondant au mouvement entre l'image courante et l'image à interpoler. Pour ce faire, chaque vecteur mouvement choisi est transformé en deux vecteurs de mouvement. Par exemple dans le cas d'un vecteur mouvement anticipé 22, un premier vecteur de mouvement anticipé relatif à l'image précédente, de f3 vers f2, et un deuxième vecteur de mouvement différé relatif à l'image courante, de f4 vers f3 sont calculés.
Ce calcul est effectué de manière simple en fonction de la position temporelle de l'image à interpoler (f3) entre l'image précédente (f2) et l'image courante (f4).
Dans le cas où aucun vecteur mouvement n'est déterminé pour un macrobloc donné alors qu'un mouvement est détecté entre l'image précédente et l'image courante < à différencier donc du changement de séquence), il est nécessaire de définir un vecteur mouvement. Le choix du vecteur peut être effectué de différentes manières, par exemple
- exploitation du vecteur de mouvement entre l'image de référence précédente et l'image de référence postérieure pour le bloc correspondant, en le divisant (interpolation);
- exploitation du vecteur de mouvement anticipé de l'image courante ou du vecteur de mouvement différé de l'image précédente en le prolongeant (extrapolation);
- exploitation d'autres vecteurs calculés à partir de différences entre vecteurs mouvement.
- exploitation du vecteur de mouvement entre l'image de référence précédente et l'image de référence postérieure pour le bloc correspondant, en le divisant (interpolation);
- exploitation du vecteur de mouvement anticipé de l'image courante ou du vecteur de mouvement différé de l'image précédente en le prolongeant (extrapolation);
- exploitation d'autres vecteurs calculés à partir de différences entre vecteurs mouvement.
Le circuit d'affinage 14, optionnel, permet d'effectuer un affinage du champ de vecteurs mouvement à exploiter pour la conversion de balayage et ainsi d'améliorer la qualité de la conversion de standard.
En effet, une caractéristique importante d'un champ de vecteurs mouvement est son homogénéité. Pour un objet déterminé, le champ de vecteurs est continu et homogène. D'autre part, un champ de vecteurs mouvement homogène possédant des informations de mouvement fausses donne une image de meilleure qualité, c'est à dire avec des défauts moins perceptibles à l'oeil qu'une image exploitant un champ de vecteurs mouvement faux non homogène. En conséquence, un critère d'homogénéité spatiale est pris en compte pour l'affinage des vecteurs.
II est ainsi réalisé un affinage spatial en remplaçant ou filtrant des vecteurs non homogènes dans des zones de mouvement homogènes à partir des vecteurs mouvement de blocs voisins. Les vecteurs non homogènes peuvent également être remplacés par des vecteurs calculés par interpolation du vecteur de mouvement anticipé de l'image précédente et/ou du vecteur de mouvement différé de l'image courante.
Le circuit d'interpolation temporelle 1 5 reçoit l'image mémorisée ou image précédente (f2) ainsi que l'image courante (f4) sur deux de ses entrées. Ce circuit reçoit également sur une troisième entrée les vecteurs mouvement calculés provenant du circuit d'affinage 14. A partir de ces données, le circuit d'interpolation temporelle 1 5 calcule l'image intermédiaire interpolée (f3).
Pour réaliser cette interpolation, un filtre simple quasi-linéaire est choisi. Le filtrage, pour le calcul des pixels, prend en compte la position, par rapport à la grille de pixels, des projections des vecteurs mouvement correspondant à chacun des points I à interpoler, dans leur direction, sur l'image précédente pour les vecteurs de mouvement différé et l'image courante pour les vecteurs de mouvement anticipé.
Soit MVf(l) le vecteur mouvement différé entre l'image précédente et l'image à interpoler pour un point I à interpoler et MVb(l) le vecteur mouvement anticipé entre l'image courante et l'image à interpoler pour ce même point I.
Raisonnons d'abord avec le vecteur de mouvement différé. Sur la figure 5 est représentée la projection Ef sur l'image précédente du vecteur de mouvement différé affecté au point I de l'image à interpoler. Ef est l'extrémité du vecteur MVf < l), de coordonnées xf et yf sur l'image précédente et Pix(O,O), Piu(0,1), Piu(1,0) et Piu(1,1) les quatre pixels de cette image précédente autour de ce point Ef.
L'espace entre ces quatre pixels de la grille est réparti en 8 zones
ZO, Z2, Z6 et Z8 sont les zones au voisinage des pixels correspondant à des points éloignés d'un pixel de moins d'un quart de la distance horizontale (dh) et verticale (dv) entre deux pixels.
ZO, Z2, Z6 et Z8 sont les zones au voisinage des pixels correspondant à des points éloignés d'un pixel de moins d'un quart de la distance horizontale (dh) et verticale (dv) entre deux pixels.
Z4 est la zone centrale correspondant à des points éloignés de plus d'un quart de la distance horizontale et verticale de chacun des pixels
Z1, Z3, Z5, Z7 sont les zones complémentaires correspondant à des points éloignés d'un pixel de moins d'un quart de la distance horizontale ou verticale entre deux pixels.
Z1, Z3, Z5, Z7 sont les zones complémentaires correspondant à des points éloignés d'un pixel de moins d'un quart de la distance horizontale ou verticale entre deux pixels.
Les règles suivantes sont alors appliquées
- Si Ef est à moins de 0,25 dh et 0,25 dv d'un pixel Pix(x, x), ce pixel est choisi et Rf, qui est la valeur affectée au pixel I pour ce qui concerne le vecteur de mouvement différé, est choisie égale à la valeur de ce pixel P(x, x) (luminance et/ou chrominance).
- Si Ef est à moins de 0,25 dh et 0,25 dv d'un pixel Pix(x, x), ce pixel est choisi et Rf, qui est la valeur affectée au pixel I pour ce qui concerne le vecteur de mouvement différé, est choisie égale à la valeur de ce pixel P(x, x) (luminance et/ou chrominance).
- Si Ef est à une distance comprise entre 0,25 et 0,75 de deux pixels (Z1, Z3, Z5, Z7), un pur filtrage linéaire est effectué entre ces deux points.
- Si Ef est à une distance comprise entre 0,25 et 0,75 de quatre pixels (Z4), un pur filtrage linéaire est effectué.
Plus précisément si Ef E ZO Rf = P(O,O); si Ef E Z2 Rf = P(0,1); si Ef E Z6 Rf = P(1,0); si Ef E Z8 Rf = P(1,1); si Ef E Z1 Rf = xf * P(0,1) + (1 - xf) * P(O,O); si Ef E Z7 Rf = xf * P(1,1) + (1 - xf) * P(1,0); si Ef E Z3 Rf = yf * P(1,0) + (1 - yf) * P(O,O); si Ef E Z5 Rf = yf * P(1,1) + (1 - yf) * P(0,1); si Ef E Z4 Rf = xf * yf * P(1,1) + xf *(1 - yf) * P(0,1);
+ yf "(1 - xf)* P(1,0) + (1 - xf) * (l-yf)
P(O,O).
+ yf "(1 - xf)* P(1,0) + (1 - xf) * (l-yf)
P(O,O).
Le même calcul est effectué en raisonnant sur le vecteur de mouvement anticipé et Rb, qui est la valeur affectée au pixel I pour ce qui concerne le vecteur de mouvement anticipé, est calculée de la même manière.
En tenant compte de ces deux vecteurs de mouvement, on obtient la valeur du pixel I à interpoler
I = Rf + Rb.
I = Rf + Rb.
Les images ainsi interpolées sont transmises avec les images courantes et précédentes au circuit de commande des images de sortie 1 7 qui ordonne ces images et les transmet, conformément au standard défini, au circuit de conversion numérique/analogique 18, ce dernier fournissant l'image analogique en sa sortie.
Claims (11)
1. Procédé d'interpolation d'images à partir de données vidéo codées selon la norme MPEG, caractérisé en ce qu'il exploite (15) des vecteurs de mouvement calculés à partir des vecteurs de mouvement transmis dans le flux des données codées MPEG.
2. Procédé selon la revendication 1, caractérisé en ce qu'il mémorise l'image courante décodée (16) pour obtenir une image précédente, pour effectuer une interpolation (15) entre l'image courante décodée et l'image précédente.
3. Procédé selon la revendication 1 ou 2, caractérisé en ce que,
I'interpolation (15) se faisant entre une image précédente et une image courante, il comporte une étape de calcul de vecteurs de mouvement différés de l'image courante (13), entre l'image précédente et l'image courante, à partir de vecteurs de mouvement différé affectés à l'image précédente, relatifs à une image de référence (I, P) et transmis dans le flux de données, en fonction de la position temporelle de ces derniéres images.
4. Procédé selon la revendication 1 ou 2, caractérisé en ce que,
I'interpolation (15) se faisant entre une image précédente et une image courante, il comporte une étape de calcul de vecteurs de mouvement anticipés de l'image précédente (13), entre l'image courante et l'image précédente, à partir de vecteurs de mouvement anticipé affectés à l'image courante, relatifs à une image de référence (I, P) et transmis dans le flux de données, en fonction de la position temporelle de ces images.
5. Procédé selon la revendication 3 ou 4, caractérisé en ce qu'il calcule (13) le vecteur de mouvement anticipé et le vecteur de mouvement différé et en ce qu'il comporte une étape de choix entre ces deux vecteurs en fonction des distances temporelles de l'image à interpoler aux images de référence (I, P).
6. Procédé selon la revendication 5, caractérisé en ce qu'il comporte une étape de calcul (13) d'un champ de vecteurs de mouvement entre l'image précédente et l'image à interpoler et un champ de vecteurs de mouvement entre l'image courante et l'image à interpoler, à partir des vecteurs de mouvement choisis et de la position de l'image à interpoler entre l'image précédente et l'image courante.
7. Procédé selon l'une des revendications 3 à 6, caractérisé en ce qu'un critère d'homogénéité spatiale est pris en compte (14) pour le calcul des vecteurs de mouvement.
8. Procédé selon l'une des revendications 3 à 7, caractérisé en ce qu'il comporte, pour le calcul d'un pixel I de l'image à interpoler, une étape de filtrage quasi-linéaire (15) effectué à partir des valeurs des pixels entourant la projection, sur l'image précédente ou l'image courante, du vecteur de mouvement affecté au pixel I de l'image à interpoler.
9. Procédé de conversion haute fréquence ("up-conversion" en anglo-saxon), caractérisé en ce qu'il exploite le procédé d'interpolation selon l'une des revendications précédentes.
10. Procédé de conversion de standard, caractérisé en ce qu'il exploite le procédé d'interpolation selon l'une des revendications précédentes.
11. Dispositif d'interpolation d'images dans une séquence d'images, caractérisé en ce qu'il comprend un décodeur de type MPEG (6) recevant un flux de données MPEG représentatif de la séquence d'images, un circuit d'interpolation avec compensation en mouvement entre une image courante et une image précédente (7; 13, 14, 15, 16) recevant du décodeur MPEG l'image courante et des vecteurs de mouvement, le circuit d'interpolation (7; 13, 14, 15, 16) comprenant une mémoire d'image (7; 16) pour fournir l'image précédente.
1 2. Dispositif selon la revendication 11, caractérisé en ce qu'il comprend un circuit de normalisation (13) et un circuit d'affinage (14) des vecteurs de mouvement pour le calcul d'un champ de vecteurs de mouvement différé de l'image précédente et d'un champ de vecteurs de mouvement anticipé de l'image courante, à partir des vecteurs de mouvement reçus du décodeur MPEG (9).
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR9716478A FR2773038B1 (fr) | 1997-12-24 | 1997-12-24 | Procede et dispositif d'interpolation d'images a partir de donnees video codees mpeg |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR9716478A FR2773038B1 (fr) | 1997-12-24 | 1997-12-24 | Procede et dispositif d'interpolation d'images a partir de donnees video codees mpeg |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| FR2773038A1 true FR2773038A1 (fr) | 1999-06-25 |
| FR2773038B1 FR2773038B1 (fr) | 2000-02-25 |
Family
ID=9515113
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| FR9716478A Expired - Fee Related FR2773038B1 (fr) | 1997-12-24 | 1997-12-24 | Procede et dispositif d'interpolation d'images a partir de donnees video codees mpeg |
Country Status (1)
| Country | Link |
|---|---|
| FR (1) | FR2773038B1 (fr) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2002049365A3 (fr) * | 2000-12-15 | 2002-08-29 | Koninkl Philips Electronics Nv | Procede permettant d"ameliorer la precision de la compensation de mouvement par bloc |
| WO2002085025A1 (fr) * | 2001-04-12 | 2002-10-24 | Snell & Wilcox Limited | Traitement de signaux video |
| WO2006012375A1 (fr) * | 2004-07-20 | 2006-02-02 | Qualcomm Incorporated | Methode et appareil pour traiter un vecteur de deplacement |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0294282A1 (fr) * | 1987-06-04 | 1988-12-07 | Thomson Grand Public | Procédé d'interpolation temporelle d'images et dispositif pour la mise en oeuvre de ce procédé |
| EP0637889A2 (fr) * | 1993-08-06 | 1995-02-08 | Goldstar Co. Ltd. | Dispositif pour convertir le format de trame d'image |
| EP0675643A1 (fr) * | 1994-03-30 | 1995-10-04 | Thomson Consumer Electronics (S.A.) | Méthode et appareil de réduction d'artefacts de conversion |
| DE19510389A1 (de) * | 1995-03-22 | 1996-10-02 | Siemens Ag | Verfahren und Schaltungsanordnung zum Empfang von codierten Videosignalen |
| US5689305A (en) * | 1994-05-24 | 1997-11-18 | Kabushiki Kaisha Toshiba | System for deinterlacing digitally compressed video and method |
-
1997
- 1997-12-24 FR FR9716478A patent/FR2773038B1/fr not_active Expired - Fee Related
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0294282A1 (fr) * | 1987-06-04 | 1988-12-07 | Thomson Grand Public | Procédé d'interpolation temporelle d'images et dispositif pour la mise en oeuvre de ce procédé |
| EP0637889A2 (fr) * | 1993-08-06 | 1995-02-08 | Goldstar Co. Ltd. | Dispositif pour convertir le format de trame d'image |
| EP0675643A1 (fr) * | 1994-03-30 | 1995-10-04 | Thomson Consumer Electronics (S.A.) | Méthode et appareil de réduction d'artefacts de conversion |
| US5689305A (en) * | 1994-05-24 | 1997-11-18 | Kabushiki Kaisha Toshiba | System for deinterlacing digitally compressed video and method |
| DE19510389A1 (de) * | 1995-03-22 | 1996-10-02 | Siemens Ag | Verfahren und Schaltungsanordnung zum Empfang von codierten Videosignalen |
Non-Patent Citations (4)
| Title |
|---|
| GIROD B ET AL: "MOTION-COMPENSATING FIELD INTERPOLATION FROM INTERLACED AND NON-INTERLACED GRIDS", PROCEEDINGS OF THE SPIE, vol. 594, 4 December 1985 (1985-12-04), pages 186 - 193, XP000610023 * |
| KWON S ET AL: "Simple motion-compensated up-conversion method for TV/HDTV compatible video coding", VISUAL COMMUNICATIONS AND IMAGE PROCESSING '95, TAIPEI, TAIWAN, 24-26 MAY 1995, vol. 2501, pt.3, ISSN 0277-786X, PROCEEDINGS OF THE SPIE - THE INTERNATIONAL SOCIETY FOR OPTICAL ENGINEERING, 1995, USA, pages 1349 - 1357, XP002072363 * |
| REUTER T: "STANDARDS CONVERSION USING MOTION COMPENSATION", SIGNAL PROCESSING EUROPEAN JOURNAL DEVOTED TO THE METHODS AND APPLICATIONS OF SIGNAL PROCESSING, vol. 16, no. 1, January 1989 (1989-01-01), pages 73 - 82, XP000031014 * |
| STOMMER P: "100 Hz up-conversion of MPEG-2 encoded video signals using global movement estimation", MULTIMEDIA: ANWENDUNGEN, TECHNOLOGIE, SYSTEME (MULTIMEDIA: APPLICATION, TECHNOLOGY, SYSTEM), DORTMUND, GERMANY, 29 SEPT.-1 OCT. 1997, no. 144, ISSN 0341-0196, ITG-FACHBERICHTE, 1997, VDE-VERLAG, GERMANY, pages 227 - 234, XP002072364 * |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2002049365A3 (fr) * | 2000-12-15 | 2002-08-29 | Koninkl Philips Electronics Nv | Procede permettant d"ameliorer la precision de la compensation de mouvement par bloc |
| WO2002085025A1 (fr) * | 2001-04-12 | 2002-10-24 | Snell & Wilcox Limited | Traitement de signaux video |
| WO2006012375A1 (fr) * | 2004-07-20 | 2006-02-02 | Qualcomm Incorporated | Methode et appareil pour traiter un vecteur de deplacement |
| US7852938B2 (en) | 2004-07-20 | 2010-12-14 | Qualcomm Incorporated | Method and apparatus for motion vector processing |
| US8514941B2 (en) | 2004-07-20 | 2013-08-20 | Qualcomm Incorporated | Method and apparatus for motion vector processing |
Also Published As
| Publication number | Publication date |
|---|---|
| FR2773038B1 (fr) | 2000-02-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10013746B2 (en) | High dynamic range video tone mapping | |
| Richardson | The H. 264 advanced video compression standard | |
| US6414992B1 (en) | Optimal encoding of motion compensated video | |
| JP5792632B2 (ja) | デプスマップの符号化 | |
| US6281942B1 (en) | Spatial and temporal filtering mechanism for digital motion video signals | |
| DE69808519T2 (de) | Verfahren zur Bildsequenzcodierung | |
| US20040032906A1 (en) | Foreground segmentation for digital video | |
| EP0961496A2 (fr) | Dispositif de codage et décodage vidéo | |
| JP2002514866A (ja) | ビデオ・フレーム・レートを増加させる方法および装置 | |
| JP2001517879A (ja) | マルチコンポーネント圧縮エンコーダのモーションサーチ方法及び装置 | |
| US6665343B1 (en) | Methods and arrangements for a converting a high definition image to a lower definition image using wavelet transforms | |
| KR20010020147A (ko) | 범용 직렬버스 접속을 위한 2중 압축 비디오 비트 스트림 | |
| CN112601095B (zh) | 一种视频亮度和色度分数插值模型的创建方法及系统 | |
| US8704932B2 (en) | Method and system for noise reduction for 3D video content | |
| US20020149696A1 (en) | Method for presenting improved motion image sequences | |
| EP1159711B1 (fr) | Procede, dispositif et utilisation pour evaluer des images codees | |
| CN111738951A (zh) | 图像处理方法及装置 | |
| US20240314308A1 (en) | Video coding apparatus and decoding apparatus | |
| JP3439155B2 (ja) | 映像の色差信号フィルタリング方法及び装置 | |
| Adolph et al. | 1.15 Mbit/s coding of video signals including global motion compensation | |
| FR2768003A1 (fr) | Procede de codage d'un signal de forme binaire | |
| JP2025508549A (ja) | ビデオ符号化における局所照明補償のためのモデル調整 | |
| FR2773038A1 (fr) | Procede et dispositif d'interpolation d'images a partir de donnees video codees mpeg | |
| Froehlich et al. | Content aware quantization: Requantization of high dynamic range baseband signals based on visual masking by noise and texture | |
| CN109756737A (zh) | 图像预测方法和装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| ST | Notification of lapse |
Effective date: 20090831 |