WO2001015082A1 - Procede et systeme de changement d'echelle d'images numeriques traitees par bandes - Google Patents

Procede et systeme de changement d'echelle d'images numeriques traitees par bandes Download PDF

Info

Publication number
WO2001015082A1
WO2001015082A1 PCT/FR2000/002356 FR0002356W WO0115082A1 WO 2001015082 A1 WO2001015082 A1 WO 2001015082A1 FR 0002356 W FR0002356 W FR 0002356W WO 0115082 A1 WO0115082 A1 WO 0115082A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
width
memory
filtering
pixels
Prior art date
Application number
PCT/FR2000/002356
Other languages
English (en)
Inventor
S.A. Stmicroelectronics
Original Assignee
Monnier, Philippe
Seigneret, Franck
Chiaruzzi, Emmanuel
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from FR9910741A external-priority patent/FR2797979B1/fr
Application filed by Monnier, Philippe, Seigneret, Franck, Chiaruzzi, Emmanuel filed Critical Monnier, Philippe
Publication of WO2001015082A1 publication Critical patent/WO2001015082A1/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0127Conversion 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/0132Conversion 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting

Definitions

  • the present invention relates to the field of processing digital images which are displayed on a screen, in particular of a computer or television.
  • the effectiveness of a digital filter is closely linked to the number of points taken into account.
  • This type of filtering consists in effect in replacing a point or pixel by the average of the neighboring points and is all the more effective as the average relates to a large number of points. This has an important influence on the slope of the transition between the pass part of the filter and the blocked or filtered part.
  • the data relating to the color of a point or a pixel is read in a buffer memory in a horizontal scanning order, which requires the implementation of a number of line memories. equal to n - 1 for a filter with n not. This does not cost much in line memory if the filtering is carried out on vertically aligned pixels because, in this case, the lines must be memorized.
  • graphic objects are often displayed on the screen in the form of windows or sub-windows whose user may wish to modify the height and / or the width. Treatment required by a change of dimensions results in the storage in fast memories of the pixels of one or more lines, hence high costs.
  • the object of the present invention is to remedy the drawbacks mentioned above.
  • the subject of the present invention is an economical graphic processing method, using only a reasonable memory size and suitable for high quality images whatever the size of the graphic object processed.
  • the graphic processing method according to the invention is provided in particular for digital images, and includes a step of comparing the width of the image and a predetermined width L, if the width of the image is greater than the predetermined width L, a sequencing step performing a reading of a memory by strips of said width L and of height equal to that of the image, a step of calculating vertical conversion, a step of calculating horizontal conversion, and a step of writing in strips into a memory.
  • all the bands are of equal width except the last whose width is equal to the remainder of the division of the width of the image by said predetermined width.
  • the steps of calculating vertical conversion and calculating horizontal conversion carry out an enlargement of the image.
  • the steps of calculating vertical conversion and calculating horizontal conversion achieve reduction of the image.
  • the sequencing step is eliminated.
  • one or more vertical filtering steps are provided between the vertical conversion calculation step and the horizontal conversion calculation step.
  • the present invention also relates to a device for generating digital images, of the type comprising a means for calculating images.
  • the device comprises a means for comparing the width of the image and a predetermined width L, a sequencing means carrying out a reading of a memory by strips of said width L and of height equal to that of the image, if the width of the image is greater than the predetermined width L, a means for calculating vertical conversion, a means for calculating horizontal conversion, and a means for writing in strips in a memory.
  • the image calculation means is provided with a plurality of line buffer memories, a vertical converter, and a horizontal converter.
  • an anti-flicker filtering means is disposed between the vertical conversion calculating means and the horizontal conversion calculating means.
  • said filtering means comprises a plurality of line buffers, and means for adapting the filtering to local characteristics of the image, so that only areas of the image with strong flicker are made the subject of said anti-flicker filtering.
  • the anti-flicker filtering can be adaptive as a function of a flicker index, so that only areas of the image with high flicker are the subject of said anti-flicker filtering.
  • the invention therefore makes it possible to avoid an expensive filter provided with large memories applying to the image to be displayed over its entire width and which from one refresh to another is often preserved, which would lead to perform the same filtering calculations for n consecutive images displayed all strictly identical or at least in large part.
  • the usual technique consists in using an architecture with double buffers. Two-dimensional or three-dimensional calculation is performed in one of the memories buffers while the other is being displayed. Each time a new image has been calculated, the buffers are swapped.
  • These buffer memories can be, here, buffer zones in a shared external memory.
  • the invention makes it possible to reduce the cost of the filters to be used.
  • the processing is carried out from memory to memory before the display of the treated area, which has many advantages. This eliminates the real-time constraints of the display. Filtering performance is not directly related to the processing speed of a pixel.
  • the same filter can process standard definition images as well as high definition images.
  • the bandwidth requirements for the display means remain unchanged.
  • the entire digital image generation device is not forced to follow the standard refresh order of the display screen.
  • the amount of memory required for line buffers can be reduced significantly by cutting the image into strips.
  • the anti-flicker filtering means need not be duplicated in the case of a global system connected to several graphic display means.
  • the filter can be applied selectively to specific areas of an image.
  • a two-dimensional accelerator is generally arranged which acts as an operator on rectangular graphic objects such as windows.
  • This accelerator or bit block transfer module called “blitter” is used for updating areas of the image, and is the best place to integrate the anti-flicker filter and an enlargement / reduction means.
  • FIG. 1 is a schematic view of a system according to the prior art
  • FIG. 2 is a schematic view of a graphic object treated according to an embodiment of the invention
  • FIG. 3 is a diagram of steps of a method according to an embodiment of the invention
  • FIG. 4 is a schematic view of a graphics processing system according to an embodiment of the invention.
  • a conventional flicker filter comprises a filter element 1 with three steps which is connected to a graphic intermediate stage 2 capable of sending the data relating to it one after the other. to the pixels of the lines of the image to be displayed.
  • a link 3 makes a direct connection between the intermediate stage 2 and the filter element 1.
  • a buffer memory 4 is arranged between the intermediate stage 2 and the filter element 1 to supply the latter with the data relating to the pixel of the row of row immediately preceding that of which the pixel data are being transmitted on the line 3.
  • the output of the buffer memory 4 is connected to the filter element 1.
  • the buffer memory 4 can also be called memory line.
  • a buffer memory 5 similar to the buffer memory 4 has its input connected to the output of the buffer memory 4 and its output connected to the filtering element 1 to provide the latter with the data relating to the pixels of the ante-penultimate line with respect to the line whose pixel data is being transmitted on link 3.
  • the filtering element 1 also has an input 6 by which it receives the filtering coefficients to be used for the image file being transmitted from the interface 2.
  • the filter element 1 further comprises an outlet 7 which is generally connected to display means not shown.
  • a graphic object here a window composed of pixels arranged in a matrix comprising A rows and B columns is treated by strips of width L, in other words comprising L columns in the case where B is greater than L
  • the processing of the graphic object is carried out by a single strip of B columns.
  • L equal to 128, in particular in the case of high definition television where B is of the order of 2000, for example equal to 1920.
  • the value 128 then represents a good compromise between the memory size required and speed of processing.
  • a graphic object of A lines of 1920 pixels will be treated not by complete line but by bands of 128 pixels and inside each band line by line. Fifteen bands will thus be treated successively.
  • the last band will be of width equal to the remainder of the division of B by L.
  • This processing by bands is carried out during the reading of the data relating to the graphic object in a non-volatile memory of the RAM type, by a reading means such as an addressing manager. After the desired operations performed on the graphic object such as size change, filtering, etc. rewriting is carried out in the memory in the same order by strips of width L.
  • step 8 an addressing manager performs a test of the length B of the graphic object, in other words the number of pixels per line. If B is less than or equal to L, the graphic object is conventionally read in the memory where it is stored, see step 9, starting with the first pixel of the first line until the last pixel of the first line, then we read the first pixel of the second line until the last pixel of the second line and so on until the last pixel of the last line.
  • step 10 the pixels of the graphic object read undergo in the order of reading, the desired operations then are rewritten in a memory in step 1 1, this memory can be the same or can be different from the one where the graphic object was originally stored.
  • step 8 If the result of the test in step 8 is different, i.e. if B is greater than L, the graphic object is read in strips of L pixels in the memory where it is stored, see step 12, starting with the first pixel in the first line and in the first coordinate band (1, 1) up to the last pixel in the first line and in the first band or L th pixel of the first coordinate line (L, l) , then we read the first pixel in the second line and in the first band of coordinates (1, 2) up to the last pixel in the second line and in the first band or L th pixel of the second line of coordinates (L, 2) and so on until 'to the last pixel in the first strip and in the last line or L th pixel of the last line of coordinates (L, A).
  • N 5
  • the horizontal converter needs said input pixel and the preceding N- l pixels of the same line notwithstanding the bands.
  • a 3-step filter is used where the coefficients are determined dynamically as a function of the luminance gradient measured between 3 vertically aligned pixels.
  • the method used is a polyphase digital filter with N steps and 2P sub-positions.
  • An increment value is coded with an integer part and a decimal part. This increment represents the distance separating two pixels at the output of the filter. If this increment is greater than 1, a reduction of the dimension is carried out. Otherwise, the object is enlarged.
  • the number of pixels generated is less than the number of pixels received at the input of the filter.
  • the increment is less than 1, the number of pixels generated is greater than the number of pixels received.
  • the graphic object is enlarged. These pixels are generated as follows.
  • This COUNT variable therefore has an integer and decimal part.
  • the whole part represents the number of pixels to take into account before generating the next pixel.
  • the decimal part represents the intermediate position of the pixel to be generated with respect to the last pixel taken into account.
  • Each sub-position corresponds to a filter with N not performing a weighted average as a function of the sub-position on the N samples present in the filter.
  • the filter algorithm gives the sub-position of the next pixel to be generated, and therefore the number of the filter to apply (this is the decimal part of COUNT) as well as the number of pixels. to take into account (it's the whole part of COUNT).
  • the filter is positioned as follows to generate the pixels. " Initially, pixel 0 is duplicated (N-1) / 2 (Odd N) times so that this filter is centered on pixel 0.
  • the value of COUNT is updated at the end of each line.
  • the algorithm then indicates how many lines must be accessed and what the sub-position of the next line to be generated will be.
  • the value of COUNT is updated each time a pixel is generated.
  • the aim sought is to minimize the cost of the line memories necessary to store the lines in order to effect the change in vertical dimension.
  • the proposed solution consists in cutting the image by strip of 128 pixels so that the size of these line memories is reduced to 128 pixels.
  • the processing will be carried out successively from the first strip to the last.
  • the problem encountered in this case consists in a perfect gluing of the strips if in addition to a change of vertical dimension, a change of horizontal dimension is applied.
  • the position of the next band is therefore determined by the number of the last pixel used in the current band, the value of the increment counter and the number of steps of the filter. If L is the number of last pixel used in the horizontal filter, [COUNT] the whole part of the increment counter once the last pixel of the current band has been generated, and N the number of steps of the digital filter, the next band then begins with the pixel number L + [COUNT] -N.
  • the next band is requested from the address generator once the last pixel of the last line of the current band has been generated.
  • the new starting position of the new band is transmitted to the address generator so that no artifacts appear.
  • the filter stores the sub-position corresponding to the first pixel generated from each row of the next column. Thus, the division into columns does not induce
  • a flag or "flag" is provided for signaling the first line, the last line, the first pixel of a band in a line and the last pixel of a band in a line.
  • the means performing step 13 thus have the information according to which the next pixel will be the first pixel of a following line in the same band.
  • the signaling of the first line also makes it possible to start the processing by a vertical converter by storing the pixels of the first line in several buffer memories simultaneously. In FIG.
  • a graphic processing system 15 intended to modify the dimensions of a graphic object horizontally and vertically, comprises a vertical converter with five steps 16 which receives on its five inputs the data relating to the pixels of the current line and those relating to the pixels of the previous four lines by means of four buffer memories 17, 18, 19 and 20 analogous to the buffer memories illustrated in FIG. 1 but able to store only L pixels and arranged in the same way to perform the interpolation of the five bits received in same time. Buffers 17, 18, 19 and 20 operate in a first in first out or FIFO mode.
  • the graphics processing system 15 includes a filter flicker 21 provided with a filter element 22 with three steps and two buffer memories 23 and 24 with a capacity limited to L pixels.
  • the general arrangement is analogous to the filter of FIG. 1 except that the capacity of the buffer memories goes from B pixels to L pixels, for example from 1920 to pixels to 128 pixels, ie a significant reduction in the cost of said memories and of the silicon surface used.
  • the graphics processing system 15 also includes a five-step horizontal converter 25 disposed at the output of the filtering system 21 and able to modify the size of the graphics object in the horizontal direction.
  • the conversion, both vertical and horizontal, is carried out on a determined number of bits, for example three. We can thus enlarge the graphic object up to eight times in each dimension. You can generate seven pixels of intermediate coordinates between two original pixels.
  • the horizontal converter 25 needs five original pixels to generate an output pixel with a suitable weighting of the five original pixels according to the enlargement / reduction ratio chosen and the position of the output pixel relative to the pixels of origin. For example, if you choose to enlarge a graphic image horizontally by a factor of 2, the system will generate pixels for the abscissa 1, 1.5,
  • the system will generate pixels for the abscissa 1, 1, 75, 2.5, 3.25, 4 etc. These pixels will then be stored linearly in the memory, not shown in the figures.
  • the address of a pixel is coded in ten bits, seven most significant bits corresponding to the position of a bit from 0 to 127, and three least significant bits corresponding to the eight sub - possible positions after treatment.
  • the horizontal converter 25 is not affected by the width of the bands. With just over 3 kilobytes of static memory, we have an efficient five-step vertical converter capable of processing graphic objects of unlimited size associated with a flicker filter and a horizontal converter.
  • the graphics processing system 15 or bit block transfer module allows, in a graphics circuit, an acceleration of the operation thanks to the transfer of graphic blocks such as a window in a Windows® environment.
  • This arrangement of the filter system 21 between the vertical and the horizontal converter 16 converter 25 is particularly interesting because it allows to treat the image as it is displayed in the column direction, knowing that the flicker effect is almost only due to the juxtaposition of pixels with too high a contrast on the same column.
  • the filtering system 21 therefore operates from memory to memory and prevents the reappearance of the flickering phenomenon when the user implements a zoum function which can tend to increase the contrast between two consecutive pixels of the same column, thanks to the fact that filtering is done after vertical conversion.
  • the filter only works on three pixels in the same column to calculate the data relating to a pixel.
  • the length of the row memory is preferably limited to 128, thus benefiting from a two-dimensional resampling system based on the columns.
  • the vertical converter is arranged upstream of the flicker filter. Indeed, a five-step converter may reintroduce flicker. It is therefore advantageous to carry out the filtering after the vertical conversion.
  • the horizontal converter is arranged downstream of the flicker filter so that the size of the line memories is not affected by the change of horizontal scale. This is possible because horizontal conversion is a linear operation which does not produce additional flicker.
  • the filtering system has no limitation on the size of the images that can be filtered. Thanks to a high speed, of the order of 100 megapixels per second, it forms an effective solution for standard high definition television screens.
  • this system described for two-dimensional images is applicable to three-dimensional images based on a voxel matrix.
  • the flicker is filtered as soon as the image is created and the filtered image is then stored in a memory and can be displayed on a screen without being subjected to new filterings during display. This avoids having to perform a filtering each time the screen is refreshed.
  • Such filtering would be very expensive, especially in high definition at around 2000 pixels per line and at a frequency of the order of 80 to 100 megahertz.
  • the filter is forced to read two lines due to the interlaced scanning of television screens. Such a filter would occupy a large area of silicon.
  • this method of processing digital images makes it possible to access pixels along a vertical axis while these are stored by lines in the memory. Hence, this method makes it possible to correct phenomena appearing vertically in an image such as the flicker effect, but also makes it possible to filter over- or undersampled images as in the case of a vertical enlargement / reduction.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

Le procédé de traitement d'images numériques, selon l'invention, comprend une étape de comparaison de la largeur de l'image et d'une largeur prédéterminée L, si la largeur de l'image est supérieure à la largeur prédéterminée L, une étape de séquençage réalisant une lecture d'une mémoire par bandes de ladite largeur L et de hauteur égale à celle de l'image, une étape de calcul de conversion verticale, une étape de calcul de conversion horizontale, et une étape d'écriture par bandes dans une mémoire.

Description

PROCEDE ET SYSTEME DE CHANGEMENT D'ECHELLE D'IMAGES NUMERIQUES TRAITEES PAR BANDES
La présente invention relève du domaine du traitement des images numériques que l'on affiche sur un é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 à rafraîchissement 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. Sur 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 rang impair sont rafraîchies 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é. Or, 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 de 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'internet 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 écran 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 en oeuvre un filtrage numérique vertical passe bas. Après le filtrage, deux lignes consécutives sont plus proches en terme de couleur et l'effet de scintillement est réduit.
L'efficacité d'un filtre numérique est étroitement lié 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 la 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 la partie bloquée ou filtrée. Dans la plupart des architectures graphiques, les données relatives à la couleur d'un point ou d'un 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 de lignes égal à n - 1 pour un filtre à n pas. Cela ne coûte cher en mémoire ligne que si le filtrage s'effectue sur des pixels alignés verticalement car, dans ce cas, il faut mémoriser les lignes. Dans le cas où le filtrage est effectué sur des pixels alignés horizontalement, le coût est bien moindre car on n'utilise aucune mémoire. Du coup, les seuls cas posant problèmes sont la réduction du flicker, l'agrandissement/réduction vertical et plus généralement tous phénomènes nécessitant un filtrage sur des pixels alignés verticalement. Cela se traduit par un coût très élevé des mémoires de lignes dont la capacité doit être importante, particulièrement en haute définition avec des lignes de l'ordre de 1920 pixels. Ces mémoires de lignes sont tellement onéreuses, car elles nécessitent de grandes surfaces de silicium, que les filtres anti-scintillement sont généralement à 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.
Par ailleurs, on affiche souvent à l'écran des objets graphiques se présentant sous la forme de fenêtres ou de sous-fenêtres dont l'utilisateur peut souhaiter modifier la hauteur et/ou la largeur. Le traitement nécessité par un changement de dimensions entraîne le stockage dans des mémoires rapides des pixels d'une ou plusieurs lignes, d'où des coûts élevés.
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 traitement graphique économique, n'utilisant qu'une taille mémoire raisonnable et adapté à des images de qualité élevée quelque soit la taille de l'objet graphique traité.
Le procédé de traitement graphique, selon l'invention, est prévu notamment pour des images numériques, et comprend une étape de comparaison de la largeur de l'image et d'une largeur prédéterminée L, si la largeur de l'image est supérieure à la largeur prédéterminée L, une étape de séquençage réalisant une lecture d'une mémoire par bandes de la dite largeur L et de hauteur égale à celle de l'image, une étape de calcul de conversion verticale, une étape de calcul de conversion horizontale, et une étape d'écriture par bandes dans une mémoire.
Avantageusement, toutes les bandes sont de largeur égale sauf la dernière dont la largeur est égale au reste de la division de la largeur de l'image par la dite largeur prédéterminée. Dans un mode de réalisation, les étapes de calcul de conversion verticale et de calcul de conversion horizontale réalisent un agrandissement de l'image.
Dans un autre mode de réalisation, les étapes de calcul de conversion verticale et de calcul de conversion horizontale réalisent une réduction de l'image.
Avantageusement, si la largeur de l'image est inférieure ou égale à la largeur prédéterminée L, l'étape de séquençage est supprimée.
Dans un mode de réalisation, une ou plusieurs étapes de filtrage vertical sont prévues entre l'étape de calcul de conversion verticale et l'étape de calcul de conversion horizontale.
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. Le dispositif comprend un moyen de comparaison de la largeur de l'image et d'une largeur prédéterminée L, un moyen de séquençage réalisant une lecture d'une mémoire par bandes de la dite largeur L et de hauteur égale à celle de l'image, si la largeur de l'image est supérieure à la largeur prédéterminée L, un moyen de calcul de conversion verticale, un moyen de calcul de conversion horizontale, et un moyen d'écriture par bandes dans une mémoire. Avantageusement, le moyen de calcul d'images est pourvu d'une pluralité de mémoires tampons de lignes, d'un convertisseur vertical, et d'un convertisseur horizontal.
Dans un mode de réalisation, un moyen de filtrage antiscintillement est disposé entre le moyen de calcul de conversion verticale et le rrîoyen de calcul de conversion horizontale.
Dans un mode de réalisation, le dit moyen de 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 du dit filtrage anti- scintillement. Le filtrage anti-scintillement peut être adaptatif en fonction d'un indice de scintillement, de façon que seules des zones de l'image à fort scintillement fassent l'objet du dit filtrage antiscintillement.
Il est important de considérer la façon dont le contenu des mémoires tampons est rafraîchi dans un sous-système graphique. La plupart du temps l'écran graphique est construit comme un jeu 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 d'un logiciel et s'appliquent fenêtre après fenêtre, généralement de façon synchrone et relativement lente comparées à la vitesse de rafraîchissement de l'écran.
L'invention permet donc d'éviter un filtre onéreux pourvu de mémoires de grande taille s'appliquant à l'image devant s'afficher sur toute sa largeur et qui d'un rafraîchissement à 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 des 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. Ces mémoires tampon peuvent être, ici, des zones tampons dans une mémoire externe partagée. L'invention permet de réduire le coût des filtres devant être utilisés. Le traitement est effectué de mémoire à mémoire avant l'affichage de la zone traitée, ce qui présente de nombreux avantages. On s'affranchit ainsi des contraintes temps réel de l'affichage. La performance de filtrage n'est pas directement liée à la vitesse de 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 traitement 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îchissement de l'écran de visualisation. La quantité de mémoire nécessaire pour les mémoires tampons de ligne peut être réduite de façon significative grâce au découpage de l'image par bandes. Les moyens de filtrage antiscintillement 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 bidimensionnel 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 et un moyen d'agrandissement/réduction.
La 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 annexés sur lesquels : la figure 1 est une vue schématique d'un système selon l'art antérieur; la figure 2 est une vue schématique d'un objet graphique traité selon un mode de réalisation de l'invention; la figure 3 est un diagramme d'étapes d'un procédé selon un mode de réalisation de l'invention; et la figure 4 est une vue schématique d'un système de traitement graphique selon un mode de réalisation de l'invention. Comme on peut le voir sur la figure 1 , un filtre de flicker de 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 à la 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 1 pour fournir à ce 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 sur 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 de 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 de 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 jamais 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, on voit qu'un objet graphique, ici une fenêtre composée de pixels disposés en matrice comprenant A lignes et B colonnes est traitée par bandes de largeur L, autrement dit comprenant L colonnes dans le cas où B est supérieur à L. Dans le cas où B est inférieur ou égal à L, le traitement de l'objet graphique est effectué par une unique bande de B colonnes. A titre d'exemple, on pourra choisir L égal à 128, notamment dans le cas de la télévision à haute définition où B est de l'ordre de 2000, par exemple égal à 1920. La valeur 128 représente alors un bon compromis entre la taille de la mémoire nécessaire et la rapidité du traitement. Ainsi, un objet graphique de A lignes de 1920 pixels sera traité non pas par ligne complète mais par bandes de 128 pixels et à l'intérieur de chaque bande ligne par ligne. On traitera ainsi quinze bandes successivement.
Si B n'est pas divisible par L, la dernière bande sera de largeur égale au reste de la division de B par L. Ce traitement par bandes est effectué lors de la lecture des données relatives à l'objet graphique dans une mémoire non volatile du type RAM, par un moyen de lecture tel qu'un gestionnaire d'addressage. Après les opérations souhaitées effectuées sur l'objet graphique telles que changement de taille, filtrage, etc. on effectue la réécriture dans la mémoire dans le même ordre par bandes de largeur L.
Sur la figure 3, les étapes d'un procédé selon l'invention sont illustrées. A l'étape 8, un gestionnaire d'addressage effectue un test de la longueur B de l'objet graphique, en d'autres termes du nombre de pixels par lignes. Si B est inférieur ou égal à L, l'objet graphique est lu de façon classique dans la mémoire où il est stocké, voir étape 9, en commençant par le premier pixel de la première ligne jusqu'au dernier pixel de la première ligne, puis on lit le premier pixel de la deuxième ligne jusqu'au dernier pixel de la deuxième ligne et ainsi de suite jusqu'au dernier pixel de la dernière ligne. A l'étape 10, les pixels de l'objet graphique lu subissent dans l'ordre de la lecture, les opérations souhaitées puis sont réécrits dans une mémoire à l'étape 1 1 , cette mémoire pouvant être la même ou pouvant être différente de celle où l'objet graphique était stocké à l'origine.
Si le résultat du test de l'étape 8 est différent, à savoir si B est supérieur à L, l'objet graphique est lu par bandes de L pixels dans la mémoire où il est stocké, voir étape 12, en commençant par le premier pixel se trouvant dans la première ligne et dans la première bande de coordonnées (1 , 1) jusqu'au dernier pixel se trouvant dans la première ligne et dans la première bande ou Lιeme pixel de la première ligne de coordonnées (L, l), puis on lit le premier pixel se trouvant dans la deuxième ligne et dans la première bande de coordonnées (1 ,2) jusqu'au dernier pixel se trouvant dans la deuxième ligne et dans la première bande ou Lιeme pixel de la deuxième ligne de coordonnées (L,2) et ainsi de suite jusqu'au dernier pixel se trouvant dans la première bande et dans la dernière ligne ou Lιeme pixel de la dernière ligne de coordonnées (L,A).
Toutefois, on prévoit un chevauchement des bandes car le convertisseur horizontal est à N pas, avec par exemple N = 5. Pour le calcul d'un pixel, le convertisseur horizontal a besoin dudit pixel en entrée et des N- l pixels précédents de la même ligne nonobstant les bandes.
Pour réduire l'effet de scintillement, on utilise un filtre à 3 pas où les coefficients sont déterminés dynamiquement en fonction du gradient de luminance mesuré entre 3 pixels alignés verticalement.
Pour changer les dimensions d'un objet graphique rectangulaire, le procédé utilisé est un filtre numérique polyphasé à N pas et 2P sous- positions.
Une valeur d'incrément est codée avec une partie entière et une partie décimale. Cet incrément représente la distance séparant deux pixels en sortie du filtre. Si cet incrément est supérieur à 1 , une réduction de la dimension est réalisée. Dans le cas contraire, l'objet est agrandi.
Si l'incrément est égal à 1,25, le nombre de pixels générés est inférieur au nombre de pixels reçus en entrée du filtre.
Si l'incrément est inférieur à 1 , le nombre de pixels générés est supérieur au nombre de pixels reçus. L'objet graphique est agrandi. Ces pixels sont générés de la façon suivante. L'incrément INC se décompose en une partie entière et décimale. A chaque fois qu'un pixel est généré, cet incrément s'ajoute au reste de la partie décimale accumulée : COUNT = partie décimale [COUNT] + INC. Cette variable COUNT comporte donc une partie entière et décimale. La partie entière représente le nombre de pixels à prendre en compte avant de générer le pixel suivant. La partie décimale représente la position intermédiaire du pixel à générer par rapport au dernier pixel pris en compte.
Une fois implémenté, afin de définir les sous-positions, on ne garde que les p premiers bits de la partie décimale pour faire les 2? sous- positions.
A chaque sous-position, correspond un filtre à N pas effectuant une moyenne pondérée fonction de la sous-position sur les N échantillons présents dans le filtre. A chaque fois qu'un pixel est généré, l'algorithme du filtre donne la sous-position du prochain pixel à générer, et donc le numéro du filtre à appliquer (c'est la partie décimale de COUNT) ainsi que le nombre de pixels à prendre en compte (c'est la partie entière de COUNT).
Le filtre est positionné de la façon suivante pour générer les pixels." Initialement, le pixel 0 est dupliqué (N- l)/2 (N impair) fois de manière que ce filtre soit centré sur le pixel 0.
Dans le cadre du filtre vertical, la valeur de COUNT est mise à jour à la fin de chaque ligne. L'algorithme indique alors combien de lignes doivent être accédées et quelle sera la sous-position de la prochaine ligne à générer.
Dans le cadre du filtre horizontal, la valeur de COUNT est mise à jour à chaque fois qu'un pixel est généré.
Dans le cadre de la présente invention, le but recherché est de minimiser le coût des mémoires lignes nécessaires pour mémoriser les lignes afin de réaliser le changement de dimension vertical. La solution proposée consiste à découper l'image par bande de 128 pixels de manière que la taille de ces mémoires lignes soit réduite à 128 pixels.
Dans le cadre d'une image source de largeur supérieure à 128 pixels, le traitement se fera successivement depuis la première bande et jusqu'à la dernière.
Le problème rencontré dans ce cas consiste à un recollage parfait des bandes si en plus d'un changement de dimension vertical, un changement de dimension horizontal est appliqué.
Dès que l'incrément fait en sorte que le dernier pixel de la bande est dépassé, le pixel résultant ne peut être généré puisque le filtre n'a pas suffisamment de pixels pour cette génération. Du coup, ce pixel sera généré lorsque la bande suivante sera en cours de traitement.
La position de la prochaine bande est donc déterminée par le numéro du dernier pixel utilisé dans la bande courante, la valeur du compteur d'incrément et le nombre de pas du filtre. Si L est le numéro du dernier pixel utilisé dans le filtre horizontal, [COUNT] la partie entière du compteur d'incrément une fois généré le dernier pixel de la bande courante, et N le nombre de pas du filtre numérique, la bande suivante commence alors avec le pixel numéro L+[COUNT]-N. La variable COUNT est mise à jour comme suit : new-COUNT = partie décimale [COUNTjxINC par exemple new-COUNT = 0,75+3,25=4. La nouvelle bande commence à : L + 4 - 5 = L - 1. La bande suivante est demandée au générateur d'adresse une fois le dernier pixel de la dernière ligne de la bande courante généré. La nouvelle position de départ de la nouvelle bande est transmise au générateur d'adresse de manière qu'aucun artefact n'apparaisse. Le filtre mémorise la sous-position correspondant au premier pixel généré de chaque ligne de la colonne suivante. Ainsi, le découpage en colonnes n'induit aucun effet indésirable sur l'image générée.
Pour permettre un repérage des bandes, il est prévu un drapeau ou "flag" de signalisation de la première ligne, de la dernière ligne, du premier pixel d'une bande dans une ligne et dernier pixel d'une bande dans une ligne. Les moyens réalisant l'étape 13 disposent ainsi de l'information selon laquelle le pixel suivant sera le premier pixel d'une ligne suivante dans la même bande. La signalisation de la première ligne permet aussi de commencer le traitement par un convertisseur vertical en stockant les pixels de la première ligne dans plusieurs mémoires tampons simultanément. Sur la figure 4, un système de traitement graphique 15 destiné à modifier horizontalement et verticalement les dimensions d'un objet graphique comprend un convertisseur vertical à cinq pas 16 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 17, 18, 19 et 20 analogues aux mémoires tampons illustrées sur la figure 1 mais aptes à stocker seulement L pixels et disposées de la même façon pour effectuer l'interpolation des cinq bits reçus en même temps. Les mémoires tampons 17, 18, 19 et 20 fonctionnent selon un mode premier entré-premier sorti ou FIFO. Le système de traitement graphique 15 comprend un filtre de flicker 21 pourvu d'un élément de filtrage 22 à trois pas et de deux mémoires tampons 23 et 24 de capacité limitée à L pixels. La disposition générale est analogue au filtre de la figure 1 à ceci près que la capacité des mémoires tampons passe de B pixels à L pixels, par exemple de 1920 à pixels à 128 pixels, soit une réduction importante du coût des dites mémoires et de la surface de silicium utilisée.
Le système de traitement graphique 15 comprend également un convertisseur horizontal à cinq pas 25 disposé à la sortie du système de filtrage 21 et apte à modifier la taille de l'objet graphique dans le sens horizontal.
La conversion tant verticale qu'horizontale s'effectue sur un nombre de bits déterminé par exemple trois. On peut ainsi agrandir l'objet graphique jusqu'à huit fois dans chaque dimension. On peut générer sept pixels de coordonnées intermédiaires entre deux pixels d'origine. Le convertisseur horizontal 25 a besoin de cinq pixels d'origine pour générer un pixel de sortie avec une pondération adaptée des cinq pixels d'origine selon le taux d'agrandissement/réduction choisi et la position du pixel de sortie par rapport aux pixels d'origine. A titre d'exemple, si on choisit d'agrandir horizontalement d'un facteur 2 une image graphique, le système générera des pixels pour les abscisses 1 , 1,5,
2, 2,5 etc. Si on choisit un facteur 1 ,25, le système générera des pixels pour les abscisses 1 , 1 ,75, 2,5, 3,25, 4 etc. Ces pixels seront ensuite rangés linéairement dans la mémoire, non représentée sur les figures.
Avec des bandes de 128 pixels de large, l'adresse d'un pixel est codée sur dix bits, sept bits de poids fort correspondant à la position d'un bit de 0 à 127, et trois bits de poids faible correspondant aux huit sous- positions possibles après traitement.
En cas d'agrandissement, après traitement, une bande de pixels présente une largeur supérieure à 128. D'où l'intérêt de la signalisation particulière du dernier pixel d'une bande sur une ligne donnée qui permet au gestionnaire d'addressage d'effectuer convenablement l'opération de réécriture en calculant les coordonnées du lieu où le pixel suivant doit être écrit.
Le convertisseur horizontal 25 n'est pas affecté par la largeur des bandes. Avec un peu plus de 3 kilobytes de mémoire statique, on dispose d'un convertisseur vertical à cinq pas efficace apte à traiter des objets graphiques de taille non limitée associé à un filtre de flicker et à un convertisseur horizontal.
Le système de traitement graphique 15 ou module de transfert de blocs de bits 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 ®. Cette disposition du système de filtrage 21 entre le convertisseur vertical 16 et le convertisseur horizontal 25 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 21 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 zoum 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 21 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 un 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, on découpe l'image en zones dont les lignes font 128 bits pour utiliser moins de mémoire lors du filtrage. Le convertisseur vertical est disposé en 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 la taille des mémoires de ligne ne soit pas affectée par le changement d'échelle horizontale. Ceci est possible car la conversion horizontale est une opération linéaire qui ne produit pas de scintillement supplémentaire.
Le système de filtrage n'a pas de limitation par rapport à la taille des 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 à environ 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 de minutes. Il est donc particulièrement avantageux de traiter le phénomène 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 nécessaire 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 à environ 2000 pixels par ligne. On peut utiliser un filtre adaptatif donnant des images de haute qualité avec relativement peu de moyens matériels, notamment de mémoire. D'une manière plus générale, ce procédé de traitement d'images numériques permet d'accéder à des pixels selon un axe vertical alors que ceux-ci sont rangés par lignes dans la mémoire. Du coup, ce procédé permet de corriger des phénomènes apparaissant verticalement dans une image tels que l'effet de scintillement, mais permet aussi de filtrer des images sur- ou sous-échantillonnées comme dans le cas d'un agrandissement/réduction vertical.

Claims

REVENDICATIONS
1. Procédé de traitement graphique pour images numériques comprenant:
- une étape de comparaison de la largeur de l'image et d'une largeur prédéterminée L, - si la largeur de l'image est supérieure à la largeur prédéterminée L, une étape de séquençage réalisant une lecture d'une mémoire par bandes de la dite largeur L et de hauteur égale à celle de l'image,
- une étape de calcul de conversion verticale, - une étape de calcul de conversion horizontale, et
- une étape d'écriture par bandes dans une mémoire.
2. Procédé selon la revendication 1 , dans lequel toutes les bandes sont de largeur égale sauf la dernière dont la largeur est égale au reste de la division de la largeur de l'image par la dite largeur prédéterminée.
3. Procédé selon la revendication 1 ou 2, dans lequel les étapes de calcul de conversion verticale et de calcul de conversion horizontale réalisent un agrandissement ou une réduction de l'image.
4. Procédé selon la revendication 1 ou 2, dans lequel les bandes sont chevauchantes.
5. Procédé selon l'une quelconque des revendications précédentes, dans lequel si la largeur de l'image est inférieure ou égale à la largeur prédéterminée L, l'étape de séquençage est supprimée.
6. Procédé selon l'une quelconque des revendications précédentes, comprenant une ou plusieurs étapes de filtrage vertical entre l'étape de calcul de conversion verticale et l'étape de calcul de conversion horizontale.
7. Dispositif de génération d'images numériques, du type comprenant un moyen de calcul d'images, caractérisé par le fait qu'il comprend un moyen de comparaison de la largeur de l'image et d'une largeur prédéterminée L, un moyen de séquençage réalisant une lecture d'une mémoire par bandes de la dite largeur L et de hauteur égale à celle de l'image, si la largeur de l'image est supérieure à la largeur prédéterminée L, un moyen de calcul de conversion verticale, un moyen de calcul de conversion horizontale, et un moyen d'écriture par bandes dans une mémoire.
8. Dispositif selon la revendication 7, 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, et d'un convertisseur horizontal.
9. Dispositif selon la revendication 7 ou 8, caractérisé par le fait qu'un moyen de filtrage anti-scintillement est disposé entre le moyen de calcul de conversion verticale et le moyen de calcul de conversion horizontale.
10. Dispositif selon l'une quelconque des revendications précédentes, caractérisé par le fait que le dit moyen de 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 du dit filtrage antiscintillement.
PCT/FR2000/002356 1999-08-24 2000-08-22 Procede et systeme de changement d'echelle d'images numeriques traitees par bandes WO2001015082A1 (fr)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
FR9910741A FR2797979B1 (fr) 1999-08-24 1999-08-24 Procede et systeme de filtrage anti-scintillement
FR99/10741 1999-08-24
FR9914758A FR2798033B1 (fr) 1999-08-24 1999-11-23 Procede et systeme de traitement d'images numeriques
FR99/1475819991123 1999-11-23

Publications (1)

Publication Number Publication Date
WO2001015082A1 true WO2001015082A1 (fr) 2001-03-01

Family

ID=26235083

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2000/002356 WO2001015082A1 (fr) 1999-08-24 2000-08-22 Procede et systeme de changement d'echelle d'images numeriques traitees par bandes

Country Status (2)

Country Link
FR (1) FR2798033B1 (fr)
WO (1) WO2001015082A1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2859591A1 (fr) 2003-09-08 2005-03-11 St Microelectronics Sa Dispositif et procede de traitement de donnees video et graphiques

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0751682A2 (fr) * 1995-06-30 1997-01-02 Mitsubishi Denki Kabushiki Kaisha Dispositif de conversion de balayage avec une résolution verticale améliorée et un dispositif de réduction de scintillement
WO1999000785A1 (fr) * 1997-06-27 1999-01-07 Cirrus Logic, Inc. Systeme et procede de conversion d'images progressives balayees en formats d'entree de television
US5910795A (en) * 1993-11-15 1999-06-08 Videologic Limited Digital image signal processing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5910795A (en) * 1993-11-15 1999-06-08 Videologic Limited Digital image signal processing
EP0751682A2 (fr) * 1995-06-30 1997-01-02 Mitsubishi Denki Kabushiki Kaisha Dispositif de conversion de balayage avec une résolution verticale améliorée et un dispositif de réduction de scintillement
WO1999000785A1 (fr) * 1997-06-27 1999-01-07 Cirrus Logic, Inc. Systeme et procede de conversion d'images progressives balayees en formats d'entree de television

Also Published As

Publication number Publication date
FR2798033B1 (fr) 2002-05-10
FR2798033A1 (fr) 2001-03-02

Similar Documents

Publication Publication Date Title
WO2001099052A1 (fr) Raffinement d'un maillage triangulaire en trois dimensions
EP0215510B1 (fr) Processeur d'élimination de faces cachées pour la synthèse d'images à trois dimensions
FR2565014A1 (fr) Systeme de memoire rapide et procede de traitement de donnees pour produire une trame d'elements d'image, et segment de memoire rapide
FR2599873A1 (fr) Systeme d'affichage video
FR2554256A1 (fr) Appareil et procede de regeneration d'un tampon de trames fonctionnant a grande vitesse
WO2004012445A2 (fr) Procede et systeme permettant a un utilisateur de melanger en temps reel des images de synthese avec des images video
FR2632434A1 (fr) Procede et dispositif pour l'affichage d'informations graphiques en deux et trois dimensions a l'interieur de fenetres d'un systeme d'affichage
FR2735267A1 (fr) Systeme et procede de convertisseur de balayage de triangles a tampons de trame entrelaces en deux dimensions
FR2779852A1 (fr) Appareil de multiplication de lignes video procurant une finesse de details amelioree, et procede associe
FR2964236A1 (fr) Dispositif et procede de generation d'images multifenetres a priorite variable
JPH1026965A (ja) ビット間引きされた画素の復元フィルタ
US7825923B2 (en) Full screen anti-aliasing with dynamic filters
FR2950182A1 (fr) Procede de traitement d'image
FR2797979A1 (fr) Procede et systeme de filtrage anti-scintillement
FR2784489A1 (fr) Procede d'affichage de donnees sur un afficheur matriciel
EP2022009B1 (fr) Procede de codage et systeme d'affichage sur un ecran d'une maquette numerique d'un objet sous forme d'une image de synthese
WO2001015082A1 (fr) Procede et systeme de changement d'echelle d'images numeriques traitees par bandes
US20070183683A1 (en) Blurring an image using a graphic processing unit
FR2703802A1 (fr) Dispositif d'estimation de mouvement entre des images successives d'une séquence d'images animées subdivisées en blocs bidimensionnels d'éléments d'image.
EP0161176B1 (fr) Dispositif pour l'obtention de tracés continus sur l'écran d'une console de visualisation commandée par un processeur graphique
EP0472463B1 (fr) Procédé de présentation d'images sur un écran matriciel et système pour la mise en oeuvre du procédé
EP0432072B1 (fr) Procédé et système de traitement d'images
EP1104185A1 (fr) Procédé et système de traitement d'images numériques
EP1217834B1 (fr) Procédé et circuit de mémorisation de données numériques, et téléviseur mettant en oeuvre ledit procédé de mémorisation
EP0431699B1 (fr) Procédé et dispositif de décodage d'images animées

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
WA Withdrawal of international application