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 la 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 progressi¬ ves 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é entrela- cée.
Les techniques de reconstruction existantes peuvent être classées en quatre catégories suivant qu'elles font appel à des filtrages linéaires, adap¬ tées en mouvement, non-linéaires non-compensées en mouvement ou com¬ pensé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 mouve¬ ment, 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 intra- trame (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és<*~trelacée reste limitée par prin¬ cipe et certains effets de repliement spectre (phénomène de marches d'es¬ calier" sur les contours diagonaux) sont insuppressibles. De fait un com¬ promis 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 mou¬ vements, 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é propo¬ sées, parmi lesquelles les plus connues sont fondées sur le principe du fil¬ trage médian, pour améliorer le désentrelacement sans estimer le mouve- ment dans la scène représentée. Mais les résultats obtenus restent assez médiocres. Il est communément admis que seules des techniques compen¬ sé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. Il apparaît en effet que seule une con¬ naissance 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 euro- péen RACE II "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 recommanda- tion 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 Définition Interlated) : 625 lignes, entrelacé, 16/9
- EDP (Enhanced Définition Progressive) : 625 lignes, progressif, 16/9 - HDI (High Définition Interlaced) : 1250 lignes, entrelacé, 16/9
- HDP (High Définition Progressive) : 1250 lignes, 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ésen- trelacement 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 profes- sionnel (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 conver¬ sion 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 entre¬ lacés vers les formats d'affichages sur les écrans de stations de travail in¬ formatiques (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 pro¬ gressive 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 techni¬ ques 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 opposi- tion 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 verti¬ cal 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 équi¬ valents 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 impai¬ res et paires se suivent avec une récurrence de 40 ms. Elles sont figurées pour les trames impaires aux instants t0 et t0 + 40 et elles sont figurées pour les trames paires aux instants t0 + 20 et t0 + 60. La séquence d'ima- ges 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 tota- les à 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 pro¬ gressif 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 princi¬ pal, les images entrelacées définies par les trames impaires aux instants marqués t0 et t0 + 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 t0 + 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 , I+3 et I+5. Le filtrage est obtenu en appliquant par exemple au signal de luminance de chacun des points consi¬ dérés des coefficients de pondération (3, - 25, 150, 150, - 25, 3). L'estima¬ tion 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(l+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) = (150*((im(l - 1 ), c) + im(l + 1 , c)) -25*((im(l - 3), c) + im(l + 3, c))
+3*((im(l - 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 vec- teurs mouvement, décrivant le mouvement en X et en Y entre trames sour¬ ces 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 mas¬ quaient 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 mas¬ quant 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éa- lisé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 proje¬ té et elle est initialisée à 0 (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 projec- tion éventuelle d'autres vecteurs en ce même point. Lors de la projection, un seul vecteur projeté par pixel est autorisé. En ca; 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 = vx1 - vx2 et ey = vy1 - vy2, vx1 , vx2, vy1 , 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 proje¬ té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 t0 + 20 est mémorisé dans le bloc 24 de la figure 8. Pour chaque vecteur déplacement de compo¬ sante horizontale' DX et verticale DY d'un vecteur projeté en un point (X, Y) de la trame d'instant t0 + 20 à créer, la valeur interpolée correspondante de luminance et de chrominance est obtenue en calculant la moyenne des DX DY^
X + — , Y + — dans la trame source de l'instant t0 + 40 et au point de coordonnées
X , Y dans la trame source à l'instant tn.
I 2 2 ) °
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 aucur vecteur projeté dans l'environnement, le point interpolé est cal¬ culé 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'envi¬ ronnement, 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 vec- teurs 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 ter¬ naire d'indicateur de validité du vecteur utilisé. Comme sur la figure 2, un fil¬ trage vertical 6 effectué sur une trame vraie à un instant t0 + 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 élar- gissant 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 t0+ 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.