Brevet FR2700090A1 — publié le 19940701

Procédé de désentrelacement de trames d'une séquence d'images animées La présente invention concerne un procédé de désentrelacement de trames d'une séquence d'images animées. Elle s'applique notamment à la conversion de formats d'images de télévision. Le format usuellement utilisé en télévision est dit à balayage "entrelacé", c'est-à-dire qu'alternativement une "trame" constituée seulement des lignes paires ou des lignes impaires de l'image est transmise au lieu de l'image entière. Cette diminution par deux de la quantité d'informations à transmettre a lieu cependant au détriment de ia qualité des images, et ceci est d'autant plus sensible lorsqu'il s'agit d'images animées. L'invention réside en un procédé de conversion du format de balayage "entrelacé" vers le format naturel dit "progressif" ou "séquentiel" où la totalité des lignes est présente à chaque image.L'objectif visé est de reconstruire à partir d'une séquence d'images sources entrelacées une séquence d'images progressives de qualité visuelle aussi proche que possible de ce que peut être une séquence d'images sources progressives idéale, n'ayant jamais été entrelacée. Les techniques de reconstruction existantes peuvent être classées en quatre catégories suivant qu'elles font appel à des filtrages linéaires, adaptées en mouvement, non-linéaires non-compensées en mouvement ou compensées en mouvement. Parmi les techniques de filtrage linéaire, le filtrage temporel pur inter-trames est idéal pour les séquences à très faible mouvement, mais il produit rapidement des artefacts très visibles dès que la scène s'anime, essentiellement aux contours des objets en mouvement qui ont tendance à se dédoubler (fantômes d'objets).Le filtrage linéaire pur intratrame (ou vertical) ne produit jamais d'artefacts aussi gênants et est donc choisi de préférence pour les séquences en mouvement important mais en revanche la résolution de l'image ainsi désentrelacée reste limitée par principe et certains effets de repliement spectral (phénomène de marches d'escalier" sur les contours diagonaux) sont insuppressibles. De fait un compromis linéaire spatio-temporel ne peut que cumuler les défauts des deux types de filtrage. Le filtrage adapté au mouvement consiste à basculer entre divers modes de filtrage linéaire à l'intérieur d'une même image en fonction du mouvement en optant pour un filtrage temporel pur pour les faibles mouvements, un filtrage spatial pur pour les mouvements élevés et un filtrage spatio-temporel pour les mouvements intermédiaires.Indépendamment des problèmes de visibilité de commutation entre les divers modes, les problèmes intrinsèques du filtrage linéaire pour les séquences en mouvement ne sont pas résolus. De nombreuses techniques de filtrage non-linéaires ont été proposées, parmi lesquelles les plus connues sont fondées sur le principe du filtrage médian, pour améliorer le désentrelacement sans estimer le mouvement dans la scène représentée. Mais les résultats obtenus restent assez médiocres. II est communément admis que seules des techniques compensées en mouvement, c'est-à-dire allant chercher l'information manquante dans les images adjacentes, précédentes et suivantes, dans la direction du mouvement des objets de la scène, permettent des conversions de formats spatio-temporels sans dégradation. II apparaît en effet que seule une connaissance précise du mouvement peut permettre d'adapter les conversions au spectre spatio-temporel des images animées.Plusieurs approches allant dans ce sens, fondées sur une compensation du mouvement sont connues, essentiellement dans les publications faites dans le cadre du projet européen RACE Il "Transit". Mais le problème majeur qui n'est pas encore résolu est celui du contrôle d'un mode de repli, rendu nécessaire par les inévitables erreurs d'estimation du mouvement inter-images. Le but de l'invention est de pallier les inconvénients précités. A cet effet l'invention a pour objet un procédé de désentrelacement de trames d'une séquence d'images animées composées de trames de parité d'un premier type entrelacées avec des trames de parité d'un deuxième type caractérisé en ce qu'il consiste à estimer le mouvement entre trames de même parité, en étiquetant les pixels "normal", "occluant" ou "découvert" et à projeter le mouvement des pixels étiquetés "normal" ou "occluant" dans leur direction pour obtenir le mouvement à mi-distance, à affecter pour chaque point à construire des lignes manquantes un vecteur doublé d'un indicateur de validité, à interpoler les pixels des lignes manquantes dans la direction du mouvement projeté et par filtrage linéaire intra-trame vertical, et à commuter entre ces deux valeurs à l'aide de l'indicateur de validité et des étiquettes "découvert". L'invention a pour principal avantage qu'elle peut être appliquée efficacement à tout dispositif de télévision numérique comportant une conversion de formats de balayage entrelacé vers un balayage progressif. En télévision conventionnelle le format entrelacé suit la recommandation 601 du CCIR (norme "4:2:2", 625 lignes à 50 Hz ou 525 lignes à 60 Hz, rapport 4/3). L'approche européenne vers la TVHD a fixé un certain nombre de sigles pour d'autres formats: - EDI (Enhanced Definition Interlated) : 625 lignes, entrelacé,16/9 - EDP (Enhanced Definition Progressive) : 625 lignes, progressif, 1619 - HDI (High Definition Interlaced): 1250 lignes1 entrelacé, 16/9 - HDP (High Definition Progressive): 1250 Hz 1250 lignes1 progressif, 16/9 Les conversions EDI vers EDP et HDI vers HDP sont de simples désentrelacements et peuvent être des applications directes du procédé selon l'invention.Mais d'autres dispositifs de conversion peuvent également faire appel au procédé de désentrelacement selon l'invention au sein d'une chaîne plus complexe de traitements. Il peut en être ainsi par exemple de la conversion 4:2:2 vers EDP qui fait appel à un désentrelacement et une con version de rapport d'image 4/3 vers 16/9 ; de la "upconversion" temporelle 50 Hz HDI vers 100 Hz HDI qui peut être effectuée en cascadant un désentrelacement de qualité et la génération de deux trames entrelacées à partir d'une image HDP intermédiaire, la qualité d'image ainsi obtenue étant ainsi largement supérieure à la classique répétition de trames dite AABB et enfin de la génération de ralenti d'images obtenue par répétition d'images bien désentrelacées suivie d'un réentrelacement de la séquence ainsi ralentie, qui donne une bien meilleure qualité visuelle que la classique répétition de trames entrelacées. Ces conversions de formats d'images de télévision ont toutes pour but d'améliorer la qualité de l'image proposée au spectateur. Les dispositifs correspondants peuvent être envisagées dans un environnement professionnel (studio de télévision) où une très bonne qualité d'image est exigée. Elles peuvent être également envisagées dans un environnement "consommateur" (récepteur) où le facteur limitant est l'intégration à faibles coûts de dispositifs complexes d'estimation de mouvement. Les dispositifs de conversion de haute qualité de l'image vidéo vers un support film qui requièrent un désentrelacement performant peuvent également mettre en oeuvre le procédé selon l'invention. Une telle conversion est en effet constituée des étapes suivantes: conversion HDI/HDP, réduction de bruit, conversion temporelle 50 Hz vers 25 Hz (la cadence film est de 24 images/s) impression sur la pellicule. Le procédé selon l'invention peut également trouver une application aux dispositifs de conversion d'images des formats vidéo numériques entrelacés vers les formats d'affichages sur les écrans de stations de travail informatiques (qui sont tous à balayage progressif) ainsi qu'à la majorité des procédés de traitement de séquences d'images animées qui traitent de façon beaucoup plus performante et plus simplement une séquence progressive qu'une séquence entrelacée. Mais un désentrelacement de qualité en tête, suivi d'un traitement dans le cadre progressif est alors souhaitable. Ce peut être le cas par exemple de la compression d'image par les techniques de codage en sous-bandes ou celui de toutes les conversions de fréquence image (telle la conversion de standards 50 Hz/60 HZ). D'autres caractéristiques et avantages de l'invention apparaîtront à l'aide de la description qui suit faite en regard des figures annexées qui représentent: - La figure 1 une séquence d'images au format entrelacé en opposition avec une séquence d'images au format séquentiel ou progressif. - La figure 2 le procédé selon l'invention sous la forme d'un schéma synoptique globale. - La figure 3 le processus d'interpolation par filtrage passe-bas vertical mis en oeuvre dans le procédé selon l'invention pour estimer les lignes d'une image progressive. - La figure 4 le mode d'interpolation compensé par le mouvement ,mis en oeuvre pour estimer les lignes d'une image progressive. - La figure 5 un schéma illustrant une construction selon le procédé de l'invention d'une trame manquante pour obtenir une image progressive entre deux trames consécutives de même parité. - La figure 6 une grille de projection de vecteurs mouvements définie d'images sources. - La figure 7 des exemples de vecteurs mouvements et de leurs équivalents projetés. - La figure 8 un exemple de construction d'une image désentrelacée. - La figure 9 un exemple de réalisation d'un post filtrage passe-bas vertical. Dans l'exemple qui est représenté à la figure 1 la séquence d'images entrelacées est figurée dans la partie supérieure du schéma par la suite de trames impaires, désignées par "trame 1", entrelacées avec des trames paires, désignées par "trame 2". Dans cette enchaînement les trames impaires et paires se suivent avec une récurrence de 40 ms. Elles sont figurées pour les trames impaires aux instants to et to + 40 et elles sont figurées pour les trames paires aux instants t0 + 20 et t0 + 60. La séquence d'images progressives est figurée dans la partie inférieure du schéma par une suite d'images désignées par 'image 1", "image 2" "image 3" et "image 4" en correspondance respectivement sur le schéma avec les trames de la partie supérieure.Le procédé selon l'invention permet, à partir d'une séquence d'images au format entrelacé, qui ne présente que la moitié des lignes totales à chaque instant d'image en étant formé alternativement de lignes paires et impaires; d'interpoler les lignes manquantes, de façon à obtenir la séquence correspondante au bas du schéma au format séquentiel ou progressif de la meilleure qualité possible. Le désentrelacement selon l'invention a lieu, de la façon représentée à la figure 2, selon deux modes opératoires. L'un principal met en oeuvre une compensation de mouvement, l'autre qui sert de mode de repli, met en oeuvre un simple filtrage linéaire vertical intra-trame. Suivant le mode principal, les images entrelacées définies par les trames impaires aux instants marqués t0 et to + 40 ms et portant les références 1 et 2 sur la figure 2 sont appliquées à un organe d'interpolation 3 qui est compensé en mouvement. Ce dernier fournit une trame fictive 4 compensée en mouvement estimée à l'instant t0 + 20 ms. Dans le mode de repli chaque trame paire d'un instant to + 20 ms et portant la référence 5 sur la figure 2, est filtrée par un filtre spatial vertical 6 réalisé de la manière représentée à la figure 3 en appliquant des coefficients de pondération sur chaque pixel homologue du point courant sur un nombre déterminé de lignes au-dessus et en-dessous du point courant. Sur la figure 3 le point courant à estimer est dispersé au croisement d'une colonne c et d'une ligne I. Les points considérés sur les lignes situées de part et d'autre du point courant sont déposés au croisement de la colonne c passant par le point le courant et des lignes 1-5,1-1,1+1,1+3 et 1+5. Le filtrage est obtenu en appliquant par exemple au signal de luminance de chacun des points considérés des coefficients de pondération (3, - 25,150,150, -25, 3).L'estimation du signal de luminance im(l, c) du point courant, est le résultat de la somme pondérée des signaux de luminance (im(l-5, c)...im(1+5, c) des points situés de part et d'autre du point courant sur la même colonne divisée par un coefficient de valeur déterminée égale à 256 par exemple. Cette opération de filtrage est décrite par la relation: im(l, c) = (îSO*((im(l - 1), c) + im(l + 1, c)) -25*((im(1 - 3), c) + im(l + 3, c)) +3*((il - 5, c) + im(l + 5, c))/256. Dans le mode compensé en mouvement qui est représenté par la schéma de la figure 4 où les éléments homologues à ceux de la figure 2 sont représentés avec les mêmes références, les séquences de champs de vecteurs mouvement, décrivant le mouvement en X et en Y entre trames sources de même parité (distances de 40 ms), sont utilisées. Ces vecteurs sont définis en chaque pixel des trames sources et leur précision de déplacement est au demi-pixel. Dans les blocs 11 et 12 le champ de vecteurs mouvement défini entre les trames sources aux instants t et t + 40ms est utilisé pour construire la trame manquante dans l'image progressive à l'instant t + 20 ms. L'assignation des vecteurs, définis sur la trame source de l'instant t + 40 ms, à la trame manquante de l'image à de l'instant t + 20 ms est obtenue par projection temporelle du champ dans sa direction de la manière représentée par les blocs 13 à 23 de la figure 5. Cette projection ne peut avoir lieu cependant que sous certains conditions pour tenir compte du fait qu'il est préférable de ne pas utiliser les vecteurs correspondant à des parties de la scène présentes à l'instant à t + 40 ms mais absentes à l'instant t, car ayant été entre temps découvertes par des objets en premier plan qui les masquaient auparavant. Les vecteurs estimés par mise en correspondance des points images des instants t et t + 40 ms ne peuvent par principe représenter correctement le mouvement dans ces zones particulières. La méthode de projection temporelle mise en oeuvre dans le bloc 19 est celle décrite dans la demande de brevet FR 2 675 002. Elle associe aux champs de vecteurs des images d'étiquettes (ou "labels" 22, 23) décrivant les occlusions et les zones découvertes de l'image. Une image des labels est construite par pro jection temporelle du mouvement précédent des instants (t - 40, t), (pour la trame identique). Cette image de labels courant est composée de trois niveaux: - un niveau de vecteurs "normaux" - un niveau de vecteurs "occluants": appartenant à des objets masquant une partie de la scène entre les instants t et t + 40 ms et un niveau de vecteurs "découverts": appartenant à des parties de la scène découvertes entre t et t + 40 ms. La projection du mouvement correspondant à l'instant (t + 20) est réalisée à partir de l'image mouvement obtenue à partir des instant (t et t + 40) et de l'image de labels courants. La projection des vecteurs mouvement le long de leur trajectoire sur la trame milieu a lieu par une division par 2 de leurs composantes de déplacement en X et en Y: le vecteur déplacement de composantes (dX, dY) assigné au point (X, Y) de la trame à l'instant t + 40 est projeté au point (X - dX/2, Y - dY/2) de la trame d'instant t + 20. Comme le mouvement est estimé avec une précision du demi-pixel dans les trames sources, la projection obtenue a une précision du 1/4 de pixel. Elle a lieu de la manière représentée à la figure 6 sur une grille de définition 4 fois plus grande en X et en Y que l'image mouvement d'origine. Comme il peut y avoir plusieurs vecteurs aboutissant à la même projection et comme certains points peuvent ne pas avoir de vecteurs projetés, une image ternaire de validité du mouvement est générée parallèlement à la projection. Cette image comporte un indicateur 0 pour signaler l'absence de vecteur projeté, un indicateur 1 pour signaler la présence d'un vecteur fiable projeté au point à interpoler, et un indicateur pour signaler la présence d'un vecteur peu fiable. Cette image a la même taille qu'une des images du mouvement projeté et elle est initialisée à O (absence de projection en ce point).L'indicateur est placé à 1 lors de la projection d'un premier vecteur (mouvement valide en ce point). Une gestion des conflits est à mettre en oeuvre pour la projection éventuelle d'autres vecteurs en ce même point. Lors de la projection, un seul vecteur projeté par pixel est autorisé. En cas de conflit, 2 cas peuvent se présenter suivant que les vecteurs sont similaires ou différents. Si les vecteur sont des vecteurs similaires, c'est le vecteur qui rend minimale la différence inter-image déplacée DFD initiale qui est conservée. L'indicateur reste alors dans l'état 1 en ce point. Si les vecteurs sont totale ment différents, l'indicateur de validité est placé dans l'état 2 en ce point. Le test de similitude est calculée par les relation écart = sqrt (ex*ex + ey*ey) avec ex = vxl - vx2 et ey = vyl - vy2, vxl, vx2, vyl, vy2 représentant les différents vecteurs mouvement candidats si "écart" est plus grand qu'une valeur de seuil déterminée, égale à 3 par exemple, les vecteurs sont déclarés différents et le mouvement est déclaré invalide. En fin de projection, un balayage de l'image des vecteurs projetés est effectué pour forcer dans l'état 2 l'indicateur de validité dans le cas où il existe des vecteurs non similaires dans un bloc de dimensions déterminées 3*3 par exemple, centré sur le point à tester. Le test de similitude est le même que ci-dessus, mais cette fois une valeur de seuil supérieure, égale à 4 par exemple est utilisée pour le paramètre seuil. Ceci permet d'obtenir en fin de projection, sur une grille 4 fois plus grande en X et en Y, de 0 ou 1 vecteur projeté et d'un indicateur de validité positionné à 0, 1 ou 2. La figure 7 présente des exemples de vecteurs mouvement et leurs équivalents projetés dans la grille comportant 8 colonnes et 4 lignes. La reconstruction de la trame manquante à l'instant t + 20 s'effectue à partir des trames des instants t et t + 40 et du champ de mouvement entre les instants t et t + 40 projeté pour obtenir le champ de mouvement dans la trame de l'instant t +20 de la manière représentée à la figure 8 où les éléments homologues à ceux de la figure 2 sont représentés avec les mêmes références. Le champ de mouvement projeté à l'instant to + 20 est mémorisé dans le bloc 24 de la figure 8.Pour chaque vecteur déplacement de composante horizontale' DX et verticale DY d'un vecteur projeté en un point (X, Y) de la trame d'instant to + 20 à créer, la valeur interpolée correspondante de luminance et de chrominance est obtenue en calculant la moyenne des valeurs trouvées aux points de coordonnées Â+WX,Y+DY) dans la trame source de l'instant tn + 40 et au point de coordonnées ÂÀX,YDY) dans la trame source à l'instant to. Pour chaque point à estimer il faut regarder à l'intérieur d'une fenêtre de + 2 pixels en X et en Y par exemple centrée autour du point, s'il existe un ou plusieurs vecteurs projetés. Quatre possibilités peuvent se présenter. S'il n'y a aucun vecteur projeté dans l'environnement, le point interpolé est calculé avec un vecteur nul et l'indicateur de validité est placé à l'état 0. S'il n'y a qu'un seul vecteur dans l'environnement consulté et qu'il n'y a aucun mouvement invalide dans l'environnement du point, un point reconstruit est calculé à l'aide de ce vecteur et l'indicateur de validité est placé dans l'état 1 pour ce point. S'il y a plusieurs vecteurs disponibles et qu'il n'existe aucun point de mouvement invalide dans l'environnement, une sélection a lieu par un test de leur différence inter image déplacée DFD et l'indicateur de validité est maintenu à l'état 1 en ce point. S'il y a un ou plusieurs vecteurs mouvements invalides dans l'environnement, l'indicateur de validité est forcé pour prendre l'état 2 en ce point. Sur la figure 8 les indicateurs de validité sont mémorisés dans le bloc 25 et le choix des vecteurs est effectué par le bloc 26, qui transmet les vecteurs au bloc d'interpolation 3. Cette disposition permet de disposer d'une trame interpolée dans la direction du mouvement doublée d'une image ternaire d'indicateur de validité du vecteur utilisé. Comme sur la figure 2, un filtrage vertical 6 effectué sur une trame vraie à un instant to + 20 et un bloc d'interpolation 3 permettent de disposer de deux pseudo trames interpolées respectivement représentées par les blocs 7 et 4. Le choix entre ces deux pseudo trames est effectué pour chaque pixel par le bloc de commutation 8. Globalement, la pseudo trame interpolée compensée par le mouvement est de meilleure qualité sur la majeure partie de la trame que la pseudo trame issue du filtrage vertical qui dispose d'une qualité moindre mais qui présente cependant l'avantage d'être homogène sur toute la trame en ne présentant pas de disparité locale. La pseudo trame filtrée verticale 7 représente le mode de repli nécessaire aux défaillances de la pseudo trame compensée. L'expérience montre que le mode spatial est préférable au mode compensé dans les zones litigieuses où les vecteurs mouvements trouvés s'avèrent être faux. Le défaut introduit dans ce cas apparaît beaucoup plus visible qu'en utilisant le mode de repli car il donne en général des zones striées liées à l'alternance lignes de la trame vraie et une mauvaise estimation dans les lignes de la trame compensée. De plus les défauts dus à une mauvaise compensation sont d'autant plus visibles que l'amélioration apportée à l'image en général met en relief des défauts résiduels de façon plus criarde encore. Aussi pour marier la trame vraie 5 de l'instant to + 20 avec une pseudo trame des modes "compensé ou spatial" le bloc de commutation 8 initialise une pseudo trame résultat 27 par une pseudo trame 28 issue du mode compensé, et il effectue des basculements dans le mode spatial pour les pixels qui suivent lorsque l'indicateur de validité correspondant dans le bloc 25 est dans l'état 0 (pas de vecteur), ou lorsque l'indicateur de validité du bloc 25 est dans l'état 2 indiquant que le vecteur est peu fiable, en élargissant dans ce cas le passage en mode spatial aux pixels adjacents en ligne et colonne, ou que le point courant se trouve dans une zone à majorité découverte dans l'image des labels 23 associée à la trame source à l'instant t + 40 et l'image des labels 22 associée à la trame source de l'instant to+ 20. Cette mesure a lieu par simple comptage de pixels dans un bloc de dimension déterminée, 5*5 par exemple, centré sur le point courant. Le pixel est alors forcé dans le mode spatial si sur l'une ou l'autre des images labels courante et précédente il y a un nombre déterminé de pixels, 7 par exemple sur les 25 possibles de l'exemple classés en zones découvertes dans le bloc. Enfin, comme représenté à la figure 9 un filtrage haute fréquence 29 est effectué sur les lignes de l'image progressive 27 obtenue, afin d'atténuer les effets dus à des hautes fréquences. Ce filtrage est réalisé par un filtre passe bas vertical sur les images entrelacées. Sur la figure 9 les coefficients utilisant ce filtrage ont respectivement les valeurs (4, 8, 25, -123, 230, 728, 230, -123, 25, 8, -4)/1000 Ce filtrage permet d'atténuer l'effet de peigne qui peut apparaître sur certaines séquences. REVENDICATIONS 1. Procédé de désentrelacement de trames d'une séquence d'images animées compiosées de trames de parité d'un premier type (1, 2) entrelacées avec des trames de parité d'un deuxième type (5) caractérisé en ce qu'il consiste à interpoler les lignes manquantes dans la direction du mouvement (3) d'une part, par filtrage linéaire intra-trame vertical (6) d'autre part, et à commuter entre ces deux valeurs (8) en fonction de la confiance accordée au vecteur mouvement. 2. Procédé selon la revendication 1 caractérisé en ce qu'il consiste à estimer le mouvement entre trames de même parité (1, 2) avec une résolution égale au pixel et une précision de déplacement égale au demipixel, en associant à chaque vecteur une étiquette ternaire "normal", "occluant" ou "découvert" (23). 3. Procédé selon la revendication 2 caractérisé en ce qu'il consiste à projeter les vecteurs étiquetés "normal" ou "occluant" dans leur direction à mi-distance des deux trames entre lesquelles ils ont été générés (18) et à assigner un vecteur (24) doublé d'un indicateur de validité (25) à chaque point des lignes à reconstruire. 4. Procédé selon les revendications 2 et 3 caractérisé en ce qu' il consiste à choisir pour chaque pixel à reconstruire entre la valeur interpolée dans la direction du mouvement projeté (4) et la valeur issue d'un filtrage linéaire vertical intra-trame (7), en fonction de l'indicateur de validité (25) et de l'étiquetage des pixels (22, 23). 5. Procédé selon l'une quelconque des revendications 1 à 4 caractérisé en ce qu'il consiste à effectuer un filtrage haute fréquence (29) sur l'image entière progressive obtenue.