Brevet FR2797979A1 — publié le 20010302

Procédé et système de riltrage anti-scintillement La présente invention relève du domaine du traitement des images numériques que l'on affiche sur écran, notamment d'ordinateur ou de télévision. De façon générale, l'affichage de graphiques générés par ordinateur sur un écran de télévision à basse résolution à rafrelchissement interlacé a toujours présenté de grandes difficultés techniques sans parvenir à une qualité véritablement satisfaisante pour les utilisateurs, en raison d'un effet de scintillement. un écran de télévision de type standard, le rafraîchissement des lignes est effectué, de façon interlacée. En d'autres termes les lignes de impair sont rafrelchies dans un premier temps et les lignes de rang pair dans un deuxième temps et ainsi de suite. Si deux lignes consécutives présentent des niveaux de brillance très différents, l'oeil humain de l'utilisateur percevra localement un scintillement à une fréquence de 50 ou 60 Hertz selon le standard de télévision adopté. Cet effet de scintillement est relativement pénible, et en tout cas, très nuisible à la qualité d'image perçue par l'utilisateur. Or, il s'avère que les images générées par ordinateur telles que des graphiques, des fenêtres ou des sous-fenêtres présentent typiquement de forts contrastes d'une ligne à l'autre. Actuellement, les marchés l'ordinateur portable et de la télévision sont en train de fusionner sous l'effet d'entraînement du développement de l'interne et de la télévision interactive qui requiert des technologies associées. Il est donc important de pouvoir afficher des images à forts contrastes d'une ligne à l'autre, telles que les pages diffusées par le réseau internet, sur un ecran de télévision standard avec un confort visuel acceptable par l'utilisateur. Les systèmes utilisés jusqu'à présent pour supprimer ou limiter cet effet de scintillement sont souvent appelés filtres de "flicker". Comme l'effet de scintillement est dû au contraste entre deux lignes consécutives, autrement dit à de hautes fréquences sur une colonne verticale de l'image, les systèmes de filtre anti- scintillement basiques mettent oeuvre un filtrage numerique vertical passe bas. Après le filtrage, deux lignes consécutives sont plus proches en terme de couleur l'effet de scintillement est réduit. L'efficacité d'un filtre numérique est étroitement au nombre de points pris en compte. Ce type de filtrage consiste en effet à remplacer un point ou pixel par la moyenne des points voisins et est d'autant plus efficace que moyenne porte sur un grand nombre de points. Ceci a une influence importante sur la pente de la transition entre la partie passante du filtre et partie bloquée ou filtrée. Dans la plupart des architectures graphiques, les données relatives à la couleur d'un point ou pixel sont lues dans une mémoire tampon selon un ordre de balayage horizontal, ce qui nécessite la mise en oeuvre d'un nombre de mémoire lignes égal à n - 1 pour un filtre à n pas, ce qui se traduit par un coût très élevé des mémoires de lignes dont la capacité doit être importante. mémoires de lignes sont tellement onéreuses, car elles nécessitent de grandes surfaces de silicium, que les filtres anti- scintillement sont géneralement à trois pas, c'est-à-dire avec mémorisation de deux lignes, ce qui se traduit par des performances de filtrage médiocres. Or le filtrage a lieu lors des étapes d'affichage de l'image ce qui requiert des performances de débit élevées même si le filtrage est médiocre. De façon classique, un filtre idéal permet supprimer totalement l'effet de scintillement dû aux hautes fréquences, tout en préservant les détails de l'image basse fréquence. Les filtres réels sont un compromis entre la réduction du scintillement et la préservation de la précision de l'image. Soit l'ensemble de l'image semble relativement stable mais brouillé à cause du filtre, soit l'ensemble de l'image est plus riche en détails mais risque de scintiller. On peut permettre a l'utilisateur de régler filtrage selon le compromis qui lui convient le mieux. La présente invention a pour objet de remédier aux inconvénients évoqués ci-dessus. La présente invention a pour objet un procédé de filtrage économique, n'utilisant qu'une taille mémoire raisonnable et fonctionnant à débit pas trop élevé. Le procédé de filtrage d'images numériques, selon l'invention est prévu notamment pour diminuer le scintillement de l'image. effectue un filtrage anti -scintillement après une étape de calcul de l'image et avant une étape d'affichage de la dite image de façon que scintillement soit filtré dès la création de l'image. L'affichage est ainsi indépendant du débit du filtre. Avantageusement, on effectue un filtrage anti-scintillement après une étape de calcul de conversion verticale et avant une étape calcul de conversion horizontale. Dans un mode de réalisation, le filtrage anti-scintillement est adaptatif en fonction d'un indice de scintillement, de façon que seules zones de l'image à fort scintillement fassent l'objet du dit filtrage anti scintillement. Avantageusement, le filtrage anti- scintillement est effectué après une étape de décompactage de l'image. La présente invention a également pour objet un dispositif de génération d'images numériques, du type comprenant un moyen de calcul d'images et un moyen d'affichage d'images. Le dispositif comprend un moyen filtrage anti-scintillement disposé en amont du moyen d'affichage d'images de façon que le scintillement soit filtré dès la création l'image. Avantageusement, le moyen de calcul d'images est pourvu d'une pluralité mémoires tampons de lignes, d'un convertisseur vertical, d'un convertisseur horizontal. Avantageusement, le moyen de filtrage anti- scintillement disposé entre le convertisseur vertical et le convertisseur horizontal. Dans un mode de réalisation, le dit moyen de filtrage comprend une pluralité de mémoires tampons de lignes, un moyen pour adapter le filtrage à caractéristiques locales de l'image, de façon que seules des zones de l'image à fort scintillement fassent l'objet du dit filtrage anti- scintillement. est important de considérer la façon dont le contenu des mémoires tampons est rafraîchi dans un sous-système graphique typique. La plupart temps l'écran graphique est construit comme unjeu de sous- fenêtres rectangulaires qui peuvent être déplacées, agrandies, diminuées mises à jour etc. Ces opérations sont effectuées sous la commande logiciel s'appliquent fenêtre après fenêtre, généralement de façon synchrone et relativement lente comparées à la vitesse rafrelchissement de l'écran. L'invention permet donc d'éviter un filtre onéreux s'appliquant à l'image devant s'afficher qui d'un rafraï1chissement à l'autre est souvent conservée ce qui conduirait à effectuer les mêmes calculs de filtrage pour n images consécutives affichées toutes strictement identiques ou au moins en grande partie. Pour des applications d'animation, la technique habituelle consiste à utiliser une architecture à double mémoires tampons. Le calcul bidimensionnel ou tridimensionnel est effectué dans l'une mémoires tampons tandis que l'autre fait l'objet de l'affichage. Chaque fois qu'une nouvelle image a été calculée, les mémoires tampons sont permutées. L'invention permet d'inclure les moyens de filtrage anti scintillement dans le système de calcul. On réalise un filtrage anti scintillement de mémoire à mémoire, ce qui présente de nombreux avantages. On s'affranchit ainsi des contraintes temps réel. La performance de filtrage n'est pas directement liée à la vitesse traitement d'un pixel. Le même filtre peut traiter les images de définition standard aussi bien que les images à haute définition. Les exigences de bande passante pour les moyens d'affichage restent inchangées. S'agissant d'un filtrage de mémoire à mémoire, l'ensemble du dispositif de génération d'images numériques n'est pas forcé de suivre l'ordre standard de rafraï1chissement de l'écran visualisation. Ainsi, la quantité de mémoire nécessaire pour les mémoires tampons de ligne peut être réduite de façon significative. Les moyens filtrage anti- scintillement n'ont pas besoin d'être dupliqués dans le cas d'un système global relié à plusieurs moyens d'affichages graphiques. Le filtre peut être appliqué sélectivement à des zones spécifiques d'une image. Dans les sous-systèmes graphiques, est généralement disposé un accélérateur bidimentionnel qui agit comme un opérateur sur les objets graphiques rectangulaires tels que les fenêtres. Cet accélérateur ou module de transfert de blocs de bits appelé "blitter" est utilisé pour une mise à jour de zones de l'image, et constitue le meilleur endroit pour intégrer le filtre anti - scintillement. présente invention sera mieux comprise à l'étude de la description détaillée d'un mode de réalisation de l'invention pris à titre d'exemple nullement limitatif et illustré par les dessins annexes sur lesquels : figure 1 est une vue schématique d'un filtre selon l'art antérieur - figure 2 montre entre la courbe de réponse d'un filtre selon l'art antérieur et la courbe de réponse d'un filtre idéal ; et figure 3 est une vue schématique d'un mode de réalisation du système de filtrage conforme à l'invention. Comme on peut le voir sur la figure 1, un filtre de flicker type classique comprend un élément de filtrage 1 à trois pas qui est relié à un étage intermédiaire graphique 2 capable de lui envoyer les unes à suite des autres, les données relatives aux pixels des lignes de l'image devant être affichées. Une liaison 3 réalise une connexion directe entre l'étage intermédiaire 2 et l'élément de filtrage 1. Une mémoire tampon 4 est disposée entre l'étage intermédiaire 2 et l'élément de filtrage pour fournir à dernier les données relatives au pixel de la ligne de rang immédiatement précédant celle dont les données des pixels sont en cours d'émission la ligne 3. La sortie de la mémoire tampon 4 est reliée à l'élément de filtrage 1. La mémoire tampon 4 peut également être appelée mémoire ligne. Une mémoire tampon 5 semblable à la mémoire tampon 4 a son entrée reliée à la sortie de la mémoire tampon 4 et sa sortie reliée à l'élément filtrage 1 pour fournir à ce dernier les données relatives aux pixels de la ligne antépénultième par rapport à la ligne dont les données des pixels sont en cours d'émission sur la liaison 3. L'élément de filtrage 1 possède également une entrée 6 par laquelle il reçoit les coefficients de filtrage devant être utilisés pour le fichier image en cours de transmission à partir de l'interface 2 . L'élément de filtrage 1 comprend en outre une sortie 7 qui est en général reliée à des moyens d'affichage non représentés. On voit donc qu'un tel filtre anti-flicker trois pas nécessite deux mémoires tampon de ligne tout en effectuant pour un fichier-image un filtrage qui n'est j amais qu'un compromis rarement satisfaisant entre la précision de l'image affichée et la réduction du scintillement dont elle est affectée. Sur la figure 2, sont tracées différentes courbes de réponse de filtre dans un repère ayant en abscisse un pourcentage de la fréquence de Nyquist et en ordonnée le gain en décibels. La courbe de réponse idéale tracée en gras présente un gain de 0 décibel jusqu'à une fréquence d'environ 63 % de la fréquence de Nyquist, un gain inférieur à moins 72 décibels au-delà de 70 1% de la fréquence de Nyquist et une pente droite entre ces deux bornes. Cette courbe de réponse idéale permettrait théoriquement de supprimer le scintillement tout en conservant une image non floue d'une grande précision. Les quatre courbes trait normal sont référencées par une série de trois nombres qui est en fait le poids de chaque ligne dans le filtrage. Par exemple, la courbe de réponse 32-192-32 est celle d'un filtre numérique dont les coefficients de filtrage sont codés jusqu'à 256 et où les caractéristiques du pixel de la ligne en cours de traitement sont affectés du poids 192, les caractéristiques du pixel de la ligne précédente sont affectées du poids 32. Il en est de même pour les caractéristiques des pixels de la ligne suivante. On voit que cette courbe présente un gain de l'ordre de moins 6 décibels à 1 00 clo de la fréquence de Nyquist, ce qui est totalement insuffisant pour un bon filtrage. Un filtre affecté tels coefficients ne diminuera quasiment pas l'effet de scintillement. A l'opposé, la courbe 64-128-64 présente un gain excellent à fréquence élevée mais également un gain de l'ordre de moins 10 décibels lorsqu'elle coupe la courbe de réponse idéale, ce qui occasionne la perte de détails de l'image dans la zone grisée référencée 8 qui est délimitée en- dessous de la courbe de la réponse idéale et au-dessus des courbes de réponse réelle. Cette zone 8 est donc de surface maximale pour la courbe 64-128-64, ce qui se traduit par une augmentation du flou de l'image. Sur la figure 3, les références des éléments semblables à ceux des figures précédentes ont été augmentées du nombre 10.' Le système de filtrage 35, conforme à l'invention comprend un élément de filtrage 20 trois pas et deux mémoires tampons 14 et 15. Le système de filtrage 35 est ici inséré à l'intérieur d'un module de transfert de blocs de bits 36 également appelé blitter qui sert aux opérations de redimensionnement de fenêtres et permet d'éviter le repliement de spectre en réalisant une interpolation de plusieurs pixels. Le module de transfert de blocs de bits 36 comprend, en amont du système de filtrage 35, un convertisseur vertical à cinq pas 37 qui reçoit sur ses cinq entrées les données relatives aux pixels de la ligne courante et celles relatives aux pixels des quatre lignes précédentes grâce à quatre mémoires tampons 3 8, 39, 40 et 41 analogues aux mémoires tampons 14 et 15 et disposées de la même façon pour effectuer l'interpolation des cinq bits reçus en même temps. Le module de transfert de blocs de bits 36 comprend également un convertisseur horizontal à cinq pas 42 disposé. à la sortie du système de filtrage 35. Le module de transfert de blocs de bits 36 permet, dans un circuit graphique, une accélération du fonctionnement grâce au transfert de blocs graphiques tels qu'une fenêtre dans un environnement windows (P. Cette disposition du système de filtrage 35 entre le convertisseur vertical 37 et le convertisseur horizontal 42 est particulièrement intéressante car elle permet de traiter l'image telle qu'elle est affichée dans le sens des colonnes, sachant que l'effet de scintillement est presque uniquement dû à la juxtaposition de pixels présentant un contraste trop élevé sur une même colonne. Le système de filtrage 35 fonctionne donc de mémoire à mémoire et évite la réapparition du phénomène de scintillement lorsque l'utilisateur met en oeuvre une fonction zoom qui peut tendre à augmenter le contraste entre deux pixels consécutifs d'une même colonne, grâce au fait que le filtrage est effectué après la conversion verticale. Dans d'autres modes de réalisation, on pourrait prévoir de disposer le système de filtrage 35 en aval du module de transfert de blocs de bits. Dans l'exemple décrit, le filtre travaille seulement sur trois pixels d'une même colonne pour calculer les données relatives à un pixel. On pourrait concevoir d'utiliser un filtre travaillant sur un plus grand nombre de pixels, mais cela tendrait à augmenter le coût du filtre en raison de la nécessité d'ajouter des mémoires tampons de lignes. Il est préférable d'utiliser au mieux un filtre à trois pas ne comportant que deux mémoires de ligne grâce à une stratégie adaptative permettant d'effectuer filtrage en fonction des risques de scintillement avec une gestion dynamique des poids de chacun des trois pixels utilisés pour le calcul des données de l'un d'entre eux. La longueur de la mémoire de ligne est, de préférence limitée à 128 tirant ainsi bénéfice d'un système de rééchantillonage bi- dimensionnel basé sur les colonnes. En d'autres termes, découpe l'image en zones dont les lignes font 128 pixels pour utiliser moins de mémoire lors du filtrage. Le convertisseur vertical est dispose amont du filtre de flicker. En effet, un convertisseur à cinq pas risque de réintroduire du scintillement. Il est donc avantageux d'effectuer le filtrage après la conversion verticale. A l'inverse, le convertisseur horizontal est disposé à l'aval du filtre de flicker de façon que taille des memoires de ligne ne soit pas affectée par le changement d'échelle horizontale. Ceci est possible car la conversion horizontale une operation linéaire qui ne produit pas de scintillement supplémentaire. Le système de filtrage n'a pas de limitation par rapport à la taille images qui peuvent être filtrées. Grâce à un débit important, de l'ordre de 100 mégapixels par seconde, il forme une solution efficace pour des écrans de télévision standard à haute définition. Bien entendu, ce système décrit pour des images bidimensionnelles est applicable à des images tridimensionnelles basées sur une matrice de voxels. Grâce à l'invention, le scintillement est filtré dès la création de l'image et l'image filtrée est ensuite stockée dans une mémoire et peut être affichée sur un écran sans subir de nouveaux filtrages lors de l'affichage. On évite ainsi d'avoir à effectuer un filtrage à chaque rafraîchissement de l'écran. Un tel filtrage serait très onéreux surtout en haute définition à 2000 pixels par ligne et à une fréquence de l'ordre de 80 à 100 mégahertz. De plus, le filtre est obligé d'effectuer la lecture de deux lignes en raison du balayage interlacé des écrans de télévision. Un tel filtre occuperait une grande surface de silicium. Au contraire, selon l'invention, on profite des caractéristiques des images graphiques qui sont en général relativement stables en ce sens que l'utilisateur les utilise pendant une durée qui peut atteindre plusieurs minutes ou plusieurs dizaines minutes. Il est donc particulièrement avantageux de traiter le phénomene de scintillement dès la création de l'image. On s'affranchit des contraintes temps réel et des contraintes de vitesse. On s'affranchit de la résolution de l'écran et des contraintes de bande passante. On effectue le filtrage dans l'ordre que l'on veut. On divise la quantité de mémoire necessaire par un facteur important, de l'ordre de 16 par rapport à un filtrage ayant lieu lors des étapes d'affichage d'une image haute définition à 2000 pixels par ligne. On peut utiliser un filtre adaptatif donnant des images de haute qualité avec relativement peu de moyens matériels, notamment mémoire. REVENDICATIONS 1. Procédé de filtrage d'images numériques, notanunent pour diminuer le scintillement de l'image, dans lequel on effectue un filtrage anti- scintillement après une étape de calcul de l'image et avant une étape d'affichage de la dite image de façon que le scintillement soit filtré dès la création de l'image. 2. Procédé selon la revendication 1, dans lequel on effectue un filtrage anti- scintillement après une étape de calcul de conversion verticale et avant une étape de calcul de conversion horizontale. 3. Procédé selon la revendication 1 ou 2, dans lequel le filtrage anti- scintillement est adaptatif en fonction d'un indice de scintillement, de façon que seules des zones de l'image à fort scintillement fassent l'objet dit filtrage anti-scintillement. 4. Procédé, selon l'une quelconque des revendications précédentes, dans lequel dans lequel le filtrage anti-scintillement est effectué après une étape de décompactage de l'image. 5. Dispositif de génération d'images numériques, du type comprenant un moyen de calcul d'images et moyen d'affichage d'images, caractérisé par le fait qu'il comprend un moyen de filtrage anti- scintillement disposé en amont du moyen d'affichage d'images de façon le scintillement soit filtré dès la création de l'image. 6. Dispositif selon la revendication 5, caractérisé par le fait que le moyen de calcul d'images est pourvu d'une pluralité de mémoires tampons de lignes, d'un convertisseur vertical, d'un convertisseur horizontal. 7. Dispositif selon la revendication 6, caractérisé par le fait que le moyen de filtrage anti-scintillement est disposé entre le convertisseur vertical et le convertisseur horizontal. 8. Dispositif selon l'une quelconque des revendications précédentes, caractérisé par le fait que le dit moyen filtrage comprend une pluralité de mémoires tampons de lignes, et un moyen pour adapter le filtrage à des caractéristiques locales de l'image, de façon que seules des zones de l'image à fort scintillement fassent l'objet dit filtrage anti- scintillement.