EP0161176A1 - Dispositif pour l'obtention de tracés continus sur l'écran d'une console de visualisation commandée par un processeur graphique - Google Patents
Dispositif pour l'obtention de tracés continus sur l'écran d'une console de visualisation commandée par un processeur graphique Download PDFInfo
- Publication number
- EP0161176A1 EP0161176A1 EP85400735A EP85400735A EP0161176A1 EP 0161176 A1 EP0161176 A1 EP 0161176A1 EP 85400735 A EP85400735 A EP 85400735A EP 85400735 A EP85400735 A EP 85400735A EP 0161176 A1 EP0161176 A1 EP 0161176A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- memory
- attribute
- points
- modified
- processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/22—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
- G09G5/30—Control of display attribute
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/20—Function-generator circuits, e.g. circle generators line or curve smoothing circuits
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/393—Arrangements for updating the contents of the bit-mapped memory
Definitions
- the present invention relates to a device for obtaining continuous plots on the screen of a display console controlled by a graphics processor.
- the display consoles suitable for drawing graphic images form images from an ordered matrix of dots or pixels regularly distributed over the screen surface and whose pigmentation is determined according to the drawing or graphic which is to be executed.
- This matrix is generally orthogonal and consists of M x N pixels or points placed on the surface of the console screen at the intersections of M rows and N lines.
- the product M x N represents the total number of pixels or dots visible on the console screen, on which the performance of the processor depends.
- the formats used range from dot matrices consisting of 512 by 512 to 1024 by 1024 points or pixels. These images are represented on display consoles or on black and white or color television monitors using a "column-line" analysis system.
- these faults are corrected by various techniques consisting, for example, in increase the definition of the displayed image or increase the capacity of the graphic memory by correlatively grouping each pixel or point analyzed with its neighboring points, or compensate for the rounded position of the plot by a variation in the tint of the pixel surrounding the plot or still, by carrying out processing operations when reading the graphic memory consisting in operating filtering and interpolation calculations on the signals read in the graphic memory.
- the methods which consist in increasing the definitions of the displayed image tend to be replaced by methods of processing by filtering and interpolation which appear to be clearly more efficient and less costly.
- these processing methods have the drawback of occupying a lot of graphics processor computation time, which makes these plotting methods relatively slow.
- wired logic is used to replace Your graphics processor software but these logics have the disadvantage of being expensive and still requiring, to obtain satisfactory corrections, intermediate processing using for example cache memories , these processing operations being performed at high speed and in high definition by exchanging data between the cache memory and the processor before the results are written to the graphics memory.
- the object of the invention is to overcome the aforementioned drawbacks.
- the subject of the invention is a device for obtaining continuous plots on the screen of a display console controlled by a graphics processor, the image being constituted by an ordered matrix of image points or pixels formed by M rows of N points or pixels scanned according to the principle of scanning television images, the device comprising a graphic memory for storing in a binary form the image of the matrix of the points displayed on the screen and a memory of attribute to contain the attributes of each of the points of the image, characterized in that it also includes an interpolation memory in which is stored a table for calculating the attributes of the intermediate points between consecutive points of the matrix of points, the table of the interpolation circuit being addressed on a first entry by the pre-existing value PA of the pixel to be modified found in the attribute memory, on a second entry by the value new PN of the attribute of the pixels to be modified to make them appear on the plot and on a third entry by an interpolation value F, calculated by the processor, equal to the fractional part of the position of the intermediate point to be modified, each location of the
- the sampled and discrete X and Y coordinates of the position of each point or pixel of a graphic memory organized in the manner of an orthogonal matrix having columns and lines obey the same criteria, to the difference however that for the graphic signal the variable is located in the spatial domain and not in the temporal domain. If the spatial spectrum of the graphic signal exceeds the half spatial sampling frequency, the same "aliasing" faults are found for graphic signals in the same way as for time-dependent signals.
- FIG. 1 illustrates the reconstruction faults of a sinusoidal signal A sampled at times T n to T n + 3 regularly spaced from each other and the resulting reconstructed signal B which appears crenellated under the form of stair treads, each level having a constant amplitude between two sampling instants.
- FIG. 2 illustrates the spatial "aliasing defects" generated by sampling signals at a fixed rate of a rectangular signal S representing the position of a point on a plot which is represented at the input of a graphic console. whose memory is organized in the form of a matrix of points. Depending on the position of the signal S with respect to the sampling instants T n and T n + 1, it can be seen in FIG. 2 that this signal is or is not stored inside the memory.
- FIG. 3 One way to remedy this defect is shown in FIG. 3 and consists in filtering each input signal to transform it into a signal S F on the graphs H l to M 1 before sampling it to write it in the memory.
- the filtering constants are defined so that, whatever the position of the filtered signal with respect to the instants sampling T and T n + 1 , there is always a signal sample which can be stored inside the graphic memory, we then take advantage of the response constants of the screen which operates a natural filtering, signal S v on graphs H 2 to M 2 , on the size of the samples restored by the graphic memory.
- FIGS. 4 and 5 illustrate a less complicated process which gives good results and which is sometimes used to obtain traces without discontinuity on a screen of a graphic display console.
- FIG. 4 shows an oblique trace directed in the direction D obtained by joining two words M, and M 2 of seven pixels each, of the same shade T 16 , arranged respectively on the lines L n and L n + 1 .
- the trace shown shows a discontinuity at point 0 when passing from the upper line L n to the directly lower line L n + 1 .
- the known "anti-aliasing" correction devices operate according to the principle represented in FIG. 5 which shows the same trace as that shown in FIG. 4 which is obtained, unlike what is represented. in FIG. 4, by correcting the tint of the pixels around the straight line A of direction D.
- the tint of the pixels surrounding the straight line A of direction D is weighted by an interpolation function which has as argument the position error of each pixel with respect to the line ⁇ in direction D.
- the loss of modulation is negligible in this case and is largely compensated by sharper contours.
- this method has the disadvantage of requiring the use of software which penalizes the speed with which the plots can be made.
- the method according to the invention makes it possible to remedy these difficulties and consists in using a wired device to execute the linear interpolation functions necessary during tracing to remove the discontinuities, the principle of these interpolations consisting in modifying each pre-existing value a pixel located on or near the path based on the new pixel value of the path and the pixel's position relative to the direction of the path.
- the device for implementing the method according to the invention is represented inside a dotted line 1 in FIG. 6.
- the device 1 is coupled between a processor 2 designated by the abbreviation CPU which is the contraction from the Anglo-Saxon term Central Processing Unit and a display console 3.
- the device 1 comprises a graphic memory 4 which contains a binary matrix representation of all the characteristic points of the graphic image which is displayed on the display console 3, each bit of information contained in the graphic memory 4 having, for example, the value 0 when it corresponds to the uniform background of the graph and the binary value 1 when it corresponds to a point or pixel of the graph which stands out against the background of it.
- the graphic memory is organized in words of n bits representing the state of n pixels, each word being addressed either by the processor 2 or by the display console 3 via a multiplexer circuit of address 5 with two inputs multiplexing, a first multiplexing input being connected by the address line 6 to the address output of the processor 2 and a second address input being connected by the address line 7 to the address output of the display console 3.
- the output of the address multiplexer 5 is connected to the addressing inputs of the graphics memory 4 by means of the address line 8.
- the words read in the graphics memory 4 at the memory locations designated by the address words applied to the address line 8 are applied respectively to the inputs of a parallel-series register 10 and to the inputs of a multiplexer circuit 11.
- the device 1 also includes an attribute memory 12 possibly formed by p memory plans graphics memory 4 which contains the attributes coded on p bits respective to each of the n pixels represented in each n bit word contained in the graphics memory 4, this attribute memory 12 being addressed simultaneously to the graphics memory 4 by the address line 8.
- the words read in the graphic memory and in the attribute memory 12 are applied to the circuits not shown of the display console 3, via the register 10, to allow the display of the pixels that they represent by the display console.
- the PA attribute words of each pixel, addressed by each of the address words applied on the line 8, are applied by a data line 13, to a first input of an interpolation circuit 14 through the multiplexer 11 and a decoder 19 connected in series.
- the interpolation circuit 14 is connected by second and third inputs to the data outputs of processor 2 by means of a data line 15.
- the modification data denoted FM and PN are applied by the data line 15 to the second and third inputs of the interpolation circuit 14, to modify the values of the attributes PA applied to the first input of the interpolation circuit 14 by the data line 13.
- the output of the interpolation circuit 14 is connected by a data line 16 to a data input of a reforming circuit 17 for recording each attribute PM modified by the interpolation circuit 14 at the location which it occupies in the attribute memory 12.
- the reforming circuit 17 is also connected by a second input, by means of line 18, at the output of the decoder 19 addressed by the address line 8 and connected by its input to the output of the multiplexer 11.
- the decoder 19 addressed by the address line 8 has for purpose of selecting , inside the n-bit word applied to the input of the multiplexer 11 each bit designated by the address word applied to its input and the attribute word PA coded on p bits which corresponds to it.
- the bit representative of the selected pixel and its attribute PA are applied respectively to a fourth input and to the first input of the interpolation circuit 14 with the aim of possibly modifying their values as a function of the interpolation data which are applied to the second and third inputs of the interpolation circuit 14.
- the bits not selected by the decoder 19 are applied by the line 18 to the input of the reforming circuit 17 which reforms, as a function of the information modified or not supplied at the output of the circuit interpolation 14, a new binary word which is applied to the input of a write demultiplexer circuit 20 by means of a data line 21 to write the possibly modified word and the attributes corresponding to the addresses which they occupy normally in the graphic memory 4 and the attribute memory 12.
- the modification data of each of the words contained in the graphic memory 4 and the attribute memory 12 are introduced. tes from a keyboard 22 which is connected to processor 2 via the connection line 23. A mass memory 24 is optionally coupled by a line 25 to the processor 18 to transfer inside the processor 2 the program instructions necessary for the operation of the assembly.
- the processor 2 is also connected to a random access memory MMU 26 responsible for memorizing, during operation, the instructions and the data entered from the keyboard 22 or from the mass memory 24.
- the graphic memory according to the invention is dual access by cycle sharing.
- a first cycle is reserved for the operation of the display console 3
- a second cycle is reserved for the operation of the modification process controlled by the processor 2, this modification cycle being characterized by a read cycle, a modification cycle and a cycle for rewriting the modified information in the graphic memory and a third direct reading cycle from the graphic memory, all of these cycles being represented by the time diagram in FIG. 7.
- the cycles in FIG. 7 are executed by processor 2 which applies control signals to the control bus 27 to refresh the points or pixels of the graph displayed on the screen of the display console and to control the read and write cycles of the different planes of the graphic memory 4 which contain the attributes 12 of each pixel and which constitute the attribute memory 12.
- the refresh cycle, marked "VISU", of the cons ole display is represented with a duration T over a period of 2T
- the reading cycle L of the information contained in the graphic memory 4 and in the attribute memory 12 is represented interleaved for a duration T apart from the refresh time of the display console 3 over a period of duration 4T
- the modification cycle M follows the reading cycle L with the same duration T and the same equal period of duration 4T
- the writing cycle E follows the modification cycle M with the same duration T during a period equal to 4T and the cycle of direct access to the graphic memory and to the attribute memory takes place for a duration T between the instants of refreshment of the display console 3.
- this cycle sharing mode can be advantageously used for the display of words of 16 pixels for a duration of 1184 nanoseconds and the execution of read-modify-write cycles of twice 1184 nanoseconds per pixel or p anointed to modify what allows, to cover working ranges
- each word read in the memory graphic 4 is applied to the input of the multiplexer 11.
- the place of a bit in the word corresponding to the point or pixel to be modified is selected by the multiplexer 11 and the decoder 19 from the four least significant bits of the word address at the same time as 3 corresponding attribute bits are addressed in the attribute memory 12 by the address bus 8.
- the bits of the word not designated by the multiplexer II and the decoder 19 are directed directly to the inputs of the device word 17 while the selected bit is taken into account by the interpolation circuit 14.
- the 3 attribute bits read in the attribute memory 12 corresponding to the point or the pixel to be modified are applied to the first input of the interpolation circuit 14 while the pro Cessor 2 simultaneously applies 15.4 bits of PN modification via the data line at the same time as 6 function bits corresponding to the FM interpolation function chosen by the operator, thus allowing the execution of 64 interpolation functions.
- the bit of the selected memory word and the corresponding attribute are modified to form a 4-bit PM word which is obtained at the output of the interpolation circuit 14 which is a function of the value 0 or 1 of the bit of the point or of the pixel to be modify read in the graphic memory 4, the corresponding attribute read in the attribute memory 12, PN modification data supplied by the processor 2 at the input of the interpolation circuit 14 and of the transmitted interpolation function also on the third input of the interpolation circuit 14 by the processor 2.
- This method can be applied to the execution of any plots on the screen of the visualization console, these plots can be obtained from, for example, the plot of several successive vectors connecting points of well-defined coordinates on the screen.
- This process has the advantage of being simple to implement because the drawing of a vector connecting two close points of coordinates (X 0 , Y 0 ) and (X 1 and Y 1 ) of the screen located at the orthonormal axes X and Y requires writing only a few lines of program.
- the execution of the method according to the invention is not limited to the vector tracing program which has just been described nor to the format of the attribute bits and pixels which can include a very large number of bits.
- those skilled in the art will be able to easily design other drawing programs to allow the execution of arcs of circles, ellipses or interpolated parametric curves using functions of the BSPLINE or BEZIERS type. without departing from the interpolation method according to the invention.
- the "anti-aliasing" method described above relies on the amplitude value of the pixel, it is obvious that the correct results can only be obtained if the attribute defined for example on four bits can describe the sixteen colors of a pixel inside a palette to be defined by another color table.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Controls And Circuits For Display Device (AREA)
- Image Generation (AREA)
Abstract
Description
- La présente invention concerne un dispositif pour l'obtention de tracés continus sur l'écran d'une console de visualisation commandée par un processeur graphique.
- Les consoles de visualisation adaptées pour le tracé d'images graphique forment des images à partir d'une matrice ordonnée de points ou de pixels régulièrement répartis à la surface de l'écran et dont la pigmentation est déterminée en fonction du dessin ou du graphique qui est à exécuter. Cette matrice est généralement orthogonale et est constituée par M x N pixels ou points placés sur la surface de l'écran de la console aux intersections de M rangées et de N lignes. Le produit M x N représente le nombre total de pixels ou de points visibles sur l'écran de la console, de lui dépendent les performances du processeur. Dans les réalisations connues, les formats utilisés vont des matrices de points constitués de 512 par 512 à 1024 par 1024 points ou pixels. Ces images sont représentées sur les consoles de visualisation ou sur des moniteurs de télévision noir et blanc ou couleurs à l'aide d'un système d'analyse "colonne-ligne".
- Le mode de balayage de télévision par ligne et trame est apprécié dans ces dispositifs pour présenter de nombreux avantages. Cependant la structure échantillonnée de la mémoire graphique qui est interposée entre la console de visualisation et le processeur provoque des défauts caractéristiques appelés globalement "défauts d'aliasing" dans la littérature anglo-saxonne qui se présentent soit sous la forme d'un crénelage visible sur les obliques et les courbes des tracés obtenus sur les écrans lorsque l'image est fixe, soit par la disparition ou l'apparition brutale de détails en fonction d'un faible déplacement de l'image. Ces défauts sont principalement dus à l'échantillonnage du signal aux points discrets de la mémoire d'image interposée entre l'écran de la console et le processeur.
- Dans les équipements graphiques de hautes performances ces défauts sont corrigés par diverses techniques consistant, par exemple, à augmenter la définition de l'image visualisée ou à augmenter la capacité de la mémoire graphique en groupant corrélativement chaque pixel ou point analysé avec ses points voisins, ou à compenser les arrondis de position du tracé par une variation de teinte du pixel entourant le tracé ou encore, en effectuant des traitements lors de la lecture de la mémoire graphique consistant a opérer dés filtrages et des calculs d'interpolation sur les signaux lus dans la mémoire graphique. En fait, les procédés qui consistent à augmenter les définitions de l'image visualisée tendent à être remplacés par des procédés de traitement par filtrage et interpolation qui apparaissent nettement plus efficaces et moins coûteux. Ces méthodes de traitement ont toutefois pour inconvénient d'occuper beaucoup de temps de cycles de calcul des processeurs graphiques ce qui rend ces méthodes de tracé relativement lentes. Pour augmenter les vitesses de tracé, des logiques càblées sont utilisées pour remplacer Tes logiciels des processeurs graphiques mais ces logiques ont pour inconvénient d'être onéreuses et de nécessiter encore, pour obtenir des corrections satisfaisantes, des traitements intermédiaires en utilisant par exemple des mémoires caches, ces traitements étant exécutés à grande vitesse et à haute définition par échange de données entre la mémoire cache et le processeur avant que les résultats soient inscrits dans la mémoire graphique.
- Le but de l'invention est de pallier les inconvénients précités.
- A cet effet, l'invention a pour objet, un dispositif pour l'obtention de tracés continus sur récran d'une console de visualisation commandée par un processeur graphique, l'image étant constituée par une matrice ordonnée de points d'images ou pixels formés par M rangées de N points ou pixels balayés suivant le principe de balayage des images de télévision, le dispositif comprenant une mémoire graphique pour mémoriser sous une forme binaire l'image de la matrice des points visualisés sur l'écran et une mémoire d'attribut pour contenir les attributs de chacun des points de l'image, caractérisé en ce qu'il comprend également une mémoire d'interpolation dans laquelle se trouve mémorisée une table de calcul des attributs des points intermédiaires entre points consécutifs de la matrice de points, la table du circuit d'interpolation étant adressée sur une première entrée par la valeur pré-existante PA du pixel à modifier trouvée dans la mémoire d'attribut, sur une deuxième entrée par la valeur nouvelle PN de l'attribut des pixels à modifier pour les faire figurer sur le tracé et sur une troisième entrée par une valeur d'interpolation F, calculée par le processeur, égale à la partie fractionnaire de la position du point intermédiaire à modifier, chaque emplacement de la table contenant une valeur d'attribut PM vérifiant la relation
la valeur PM obtenue étant transférée dans la mémoire d'attribut pour mettre à jour le contenu de l'emplacement correspondant à l'adresse du pixel modifié. - D'autres caractéristiques et avantages de l'invention apparaîtront au cours de la description faite au regard des dessins annexés donnés uniquement à titre d'exemple et dans lesquels :
- - les figures 1 à 3 sont les représentations des défauts de reconstitution de tracés sur des écrans de consoles graphiques engendrés par l'échantillonnage de points ou pixels de la matrice d'image enregistrés dans la mémoire graphique ;
- - les figures 4 à 5 illustrent des procédés connus mis en oeuvre dans certains processeurs graphiques pour obtenir des tracés ne présentant pas de discontinuité ;
- - la figure 6 est une représentation du dispositif selon l'invention pour obtenir des tracés sans discontinuités ;
- - la figure 7 est une représentation des diagrammes des temps du cycle de rafraichissement de l'écran d'une console de visualisation balayé suivant le principe de balayage des écrans de télévision, du cycle de lecture, de modification ou d'écriture de la mémoire graphique ainsi que du cycle d'accès direct DMA à la mémoire graphique ;
- - la figure 8 illustre la méthode d'interpolation linéaire mise en oeuvre par l'invention pour corriger les discontinuités de tracés.
- La théorie de l'information montre que l'échantillonnage d'un signal S(t) dépendant du temps, à une cadence C. donne des défauts appelés globalement "défauts d'aliasing" si le spectre en fréquence du signal S(t) dépasse la moitié de la fréquence d'échantillonnage du signal d'échantillonnage. Ce défaut traduit le recouvrement entre la moitié supérieure du spectre du signal S(t) et la moitié inférieure lorsque ce dernier est replié autour de la fréquence
moitié de la fréquence Ci de cadencement du signal d'échantillonnage. - Dans un espace à deux dimensions, les coordonnées X et Y échantillonnées et discrètes de la position de chaque point ou pixel d'une mémoire graphique organisée à la façon d'une matrice orthogonale ayant des colonnes et des lignes obéissent aux mêmes critères, à la différence toutefois que pour le signal graphique la variable se trouve située dans le domaine spatial et non pas dans le domaine temporel. Si le spectre spatial du signal graphique dépasse la demi fréquence spatiale d'échantillonnage les mêmes défauts "d'aliasing" se retrouvent pour les signaux graphiques de la même façon que pour les signaux dépendant du temps.
- A titre d'exemple, la figure 1 illustre les défauts de reconstitution d'un signal sinusoïdal A échantillonné à des instants Tn à Tn+3 régulièrement espacés les uns des autres et le signal B reconstitué qui en résulte et qui apparait crénelé sous la forme de marches d'escalier, chaque palier ayant une amplitude constante entre deux instants d'échantillonnage.
- La figure 2 illustre les "défauts d'aliasing" spatiaux engendrés par des signaux d'échantillonnage à cadence fixe d'un signal rectangulaire S représentant la position d'un point sur un tracé qui est représenté à l'entrée d'une console graphique dont la mémoire est organisée suivant la forme d'une matrice de points. Suivant la position du signal S par rapport aux instants d'échantillonnage Tn et Tn+1 on peut constater sur la figure 2 que ce signal est ou n'est pas mémorisé à l'intérieur de la mémoire. Dans le cas par exemple du signal S qui est représenté à la ligne F entre les instants d'échantillonnage Tn et Tn+1 l'image de ce signal (ligne F2) n'est pas enregistrée dans la mémoire graphique puisque le point qu'elle représente est intermédiaire entre la position Pn et Pn+1 de la mémoire graphique correspondant aux instants d'échantillonnage Tn à Tn+1 et que par conséquent ce signal ne peut être visualisé sur la console de visualisation.
- Une manière de remédier à ce défaut est représentée à la figure 3 et consiste à filtrer chaque signal d'entrée pour le transformer en un signal SF sur les graphes Hl à M1 avant de l'échantillonner pour l'inscrire dans la mémoire graphique. Les constantes de filtrage sont définies pour que, quelque soit la position du signal filtré par rapport aux instants d'échantillonnage T et Tn+1, il y ait toujours un échantillon de signal qui puisse être mémorisé à l'intérieur de la mémoire graphique, on profite ensuite des constantes de réponse de l'écran qui opère un filtrage naturel, signal Sv sur les graphes H2 à M2, sur la grandeur des échantillons restitués par la mémoire graphique.
- - S'il est relativement simple de filtrer un signal dans le domaine temporel, le filtrage spatial qui vient d'être décrit est cependant plus complexe à réaliser et nécessite en particulier de multiples accès à la mémoire graphique dans la direction des lignes et des colonnes lorsque le filtrage mis en oeuvre est bidimensionnel. Les figures 4 et 5 illustrent un procédé moins compliqué et donnant de bons résultats qui est quelque fois employé pour obtenir des traces sans discontinuité sur un écran d'une console graphique de visualisation. La figure 4 montre une trace oblique dirigée selon la direction D obtenue en accolant deux mots M, et M2 de sept pixels chacun, de même teinte T16, disposés respectivement sur les lignes Ln et Ln+1. La trace représentée montre une discontinuité au point 0 au passage de la ligne supérieure Ln à la ligne directement inférieure Ln+1. Pour remédier à cette difficulté les dispositifs connus de correction "d'anti-aliasing" opèrent suivant le principe représenté à la figure 5 qui montre la même trace que celle figurée à la figure 4 qui est obtenue, à la différence de ce qui est représenté à la figure 4, en corrigeant la teinte des pixels autour de la droite A de direction D. La teinte des pixels entourant la droite A de direction D est pondérée par une fonction d'interpolation qui a pour argument l'erreur de position de chaque pixel par rapport à la droite Δ de direction D. La perte de modulation est négligeable dans ce cas et est largement compensée par des contours plus nets. Ce procédé présente toutefois l'inconvénient de nécessiter l'emploi d'un logiciel ce qui pénalise la vitesse avec laquelle les tracés peuvent être effectués. Le procédé selon l'invention permet de remédier à ces difficultés et consiste à utiliser un dispositif câblé pour exécuter les fonctions d'interpolation linéaire nécessaires en cours de tracé pour supprimer les discontinuités, le principe de ces interpolations consistant à modifier chaque valeur pré-existante d'un pixel situé sur ou à proximité du tracé en fonction de la nouvelle valeur des pixels du tracé et de la position du pixel par rapport à la direction du tracé.
- Le dispositif pour la mise en oeuvre du procédé selon l'invention est représenté à l'intérieur d'une ligne en pointillés 1 sur la figure 6. Le dispositif 1 est couplé entre un processeur 2 désigné par l'abréviation CPU qui est la contraction du terme anglo-saxon Central Processing Unit et une console de visualisation 3.
- Le dispositif 1 comprend une mémoire graphique 4 qui contient une représentation binaire matricielle de tous les points caractéristiques de l'image graphique qui est visualisée sur la console de visualisation 3, chaque bit d'information contenu dans la mémoire graphique 4 ayant, par exemple, la valeur 0 lorsqu'il correspond au fond uniforme du graphique et la valeur binaire 1 lorsqu'il correspond à un point ou pixel du graphique qui se détache sur le fond de celui-ci. La mémoire graphique est organisée en mots de n bits représentant l'état de n pixels, chaque mot étant adressé soit par le processeur 2 ou par la console de visualisation 3 par l'intermédiaire d'un circuit multiplexeur d'adresse 5 à deux entrées de multiplexage, une première entrée de multiplexage étant reliée par la ligne d'adresse 6 à la sortie d'adresse du processeur 2 et une deuxième entrée d'adresse étant reliée par la ligne d'adresse 7 à la sortie d'adresse de la console de visualisation 3. La sortie du multiplexeur d'adresse 5 est reliée aux entrées d'adressage de la mémoire graphique 4 au moyen de la ligne d'adresse 8. Les mots lues dans la mémoire graphique 4 aux emplacements de mémoire désignés par les mots d'adresse appliqués sur la ligne d'adresse 8 sont appliquées respectivement aux entrées d'un registre parallèle-série 10 et aux entrées d'un circuit multiplexeur 11. Le dispositif 1 comprend également une mémoire d'attribut 12 formée éventuellement par p plans de mémoires supplémentaires de la mémoire graphique 4 qui contient les attributs codés sur p bits respectifs à chacun des n pixels représentés dans chaque mot de n bits contenus dans la mémoire graphique 4, cette mémoire d'attribut 12 étant adressée simultanément à la mémoire graphique 4 par la ligne d'adresse 8. Les mots lus dans la mémoire graphique et dans la mémoire d'attribut 12 sont appliqués aux circuits non représentés de la console de visualisation 3, par l'intermédiaire du registre 10, pour permettre la visualisation des pixels qu'ils représentent par la console de visualisation. Les mots d'attribut PA de chaque pixel, adressés par chacun des mots d'adresse appliqués sur la ligne d'adressage 8, sont appliqués par une ligne de données 13, sur une première entrée d'un circuit d'interpolation 14 au travers du multiplexeur 11 et d'un décodeur 19 reliés en série. Le circuit d'interpolation 14 est relié par des deuxième et troisième entrées aux sorties de données du processeur 2 au moyen d'une ligne de données 15. Les données de modification notées FM et PN sont appliquées par la ligne de donnée 15 sur les deuxième et troisième entrées du circuit d'interpolation 14, pour modifier les valeurs des attributs PA appliqués sur la première entrée du circuit d'interpolation 14 par la ligne de données 13. La sortie du circuit d'interpolationl4 est reliée par une ligne de donnée 16 à une entrée de donnée d'un circuit de reformation 17 pour enregistrer chaque attribut PM modifié par le circuit d'interpolation 14 à l'emplacement qu'il occupe dans la mémoire d'attribut 12. Le circuit de reformation 17 est également relié par une deuxième entrée, au moyen de la ligne 18, à la sortie du décodeur 19 adressé par la ligne d'adresse 8 et relié par son entrée à la sortie du multiplexeur 11. Le décodeur 19 adressé par la ligne d'adresse 8 a pour but de sélectionner, à l'intérieur du mot de n bits appliqué à l'entrée du multiplexeur 11 chaque bit désigné par le mot d'adresse appliqué sur son entrée et le mot d'attribut PA codé sur p bits qui lui correspond. Le bit représentatif du pixel sélectionné et son attribut PA sont appliqués respectivement à une quatrième entrée et à la première entrée du circuit d'interpolation 14 dans le but de modifier éventuellement leurs valeurs en fonction des données d'interpolation qui sont appliquées sur les deuxième et troisième entrées du circuit d'interpolation 14. Les bits non sélectionnés par le décodeur 19 sont appliqués par la ligne 18 à l'entrée du circuit de reformation 17 qui reforme, en fonction de l'information modifiée ou non fournie à la sortie du circuit d'interpolation 14, un nouveau mot binaire qui est appliqué à l'entrée d'un circuit démultiplexeur d'écriture 20 au moyen d'une ligne de données 21 pour écrire le mot éventuellement modifié et les attributs correspondants aux adresses qu'ils occupent normalement dans la mémoire graphique 4 et la mémoire d'attribut 12. Les données de modification de chacun des mots contenus dans la mémoire graphique 4 et la mémoire d'attribut 12 sont introduites à partir d'un clavier 22 qui est relié au processeur 2 par l'intermédiaire de la ligne de liaison 23. Une mémoire de masse 24 est éventuellement couplée par une ligne 25 au processeur 18 pour transférer à l'intérieur du processeur 2 les instructions de programme nécessaires au fonctionnement de l'ensemble. Le processeur 2 est également relié à une mémoire vive MMU 26 chargée de mémoriser en cours de fonctionnement les instructions et les données introduites à partir du clavier 22 ou de la mémoire de masse 24.
- La mémoire graphique selon l'invention est à double accès par partage de cycle. Un premier cycle est réservé au fonctionnement de la console de visualisation 3, un deuxième cycle est réservé au fonctionnement du processus de modification contrôlé par le processeur 2, ce cycle de modification étant caractérisé par un cycle de lecture, un cycle de modification et un cycle de ré-écriture des informations modifiées dans la mémoire graphique et un troisième cycle de lecture directe de la mémoire graphique, l'ensemble de ces cycles étant représenté par le diagramme des temps de la figure 7. Les cycles de la figure 7 sont exécutés par le processeur 2 qui applique des signaux de commande sur le bus de commande 27 pour rafraichir les points ou pixels du graphique visualisés sur l'écran de la console de visualisation et commander les cycles de lecture et d'écriture des différents plans de la mémoire graphique 4 qui contiennent les attributs 12 de chaque pixel et qui constituent la mémoire d'attribut 12. Sur la figure 7 le cycle de rafraichissement, marqué "VISU", de la console de visualisation est représenté avec une durée T sur une période de 2T, le cycle de lecture L des informations contenues dans la mémoire graphique 4 et dans la mémoire d'attribut 12 est représenté entrelacé pendant une durée T en dehors de la durée de rafraichissement de la console de visualisation 3 sur une période de durée 4T, le cycle de modification M suit le cycle de lecture L avec une même durée T et une même période égale de durée 4T, le cycle d'écriture E suit le cycle de modification M avec une même durée T durant une période égale à 4T et le cycle d'accès direct à la mémoire graphique et à la mémoire d'attribut a lieu pendant une durée T entre les instants de rafraichissement de la console de visualisation 3. A titre d'exemple, ce mode de partage de cycles peut être avantageusement utilisé pour la visualisation de mots de 16 pixels pendant une durée de 1184 nanosecondes et l'exécution de cycles de lecture-modilication-écriture de deux fois 1184 nanosecondes par pixel ou point à modifier ce qui permet, de couvrir des plages de fonctionnement élevées, par exemple, un traitement de 720 points d'image ou pixels par ligne de balayage sur 576 lignes en respectant les normes CCIR du balayage de télévision à 625 lignes, le débit de la console de visualisation correspondant dans ce cas au standard de télévision numérique de 13,5 MHZ pour 25 image/seconde et la durée de cycle T étant voisine de 400 nanosecondes. Ces résultats sont obtenus en organisant par exemple la mémoire graphique en. mots de 16 pixels et la mémoire d'attribut 12 en mots d'attribut de 3 bits, chacun des mots étant adressé par le processeur 2 par les bits d'adresse appliqués sur le bus d'adresse 8. Chaque mot lu dans la mémoire graphique 4 est appliqué à l'entrée du multiplexeur 11. La place d'un bit dans le mot correspondant au point ou pixel à modifier est sélectionnée par le multiplexeur 11 et le décodeur 19 à partir des quatre bits de poids faible du mot d'adresse en même temps que 3 bits d'attribut correspondants sont adressés dans la mémoire d'attribut 12 par le bus d'adresse 8. Les bits du mot non désignés par le multiplexeur Il et le décodeur 19 sont dirigés directement vers les entrées du dispositif de reformation du mot 17 tandis que le bit sélectionné est pris en compte par le circuit d'interpolation 14. Les 3 bits d'attribut lus dans la mémoire d'attribut 12 correspondant au point ou au pixel à modifier sont appliqués sur la première entrée du circuit d'interpolation 14 pendant que le processeur 2 applique simultanément par la ligne de données 15,4 bits de modification PN en même temps que 6 bits de fonction correspondant à la fonction d'interpolation FM choisie par l'opérateur permettant ainsi l'exécution de 64 fonctions d'interpolation. Le bit du mot mémoire sélectionné et l'attribut correspondant sont modifiés pour former un mot PM sur 4 bits qui est obtenu à la sortie du circuit d'interpolation 14 qui est fonction de la valeur 0 ou 1 du bit du point ou du pixel à modifier lu dans la mémoire graphique 4, de l'attribut correspondant lu dans la mémoire d'attribut 12, des données de modification PN fournies par le processeur 2 à l'entrée du circuit d'interpolation 14 et de la fonction d'interpolation transmise également sur la troisième entrée du circuit d'interpolation 14 par le processeur 2.
- Pour des commodités de réalisation le circuit d'interpolation est constitué par des mémoires mortes électriquement programmables du type connu sous la désignation anglo saxonne "EPROM" ou des mémoires vives du type connu sous la désignation anglo saxonne "RAM" qui contiennent en mémoire des tables de fonction de modification de la teinte des points de l'image pour la mise en oeuvre du procédé d'interpolation selon l'invention. A chaque modification de pixel ces tables sont adressées par les bits du mot PA lu dans la mémoire d'attribut représentant la valeur pré-existante du pixel modifié, par la nouvelle valeur PN du pixel que l'on cherche à obtenir pour les points appartenant au tracé et par une valeur d'interpolation qui représente une valeur intermédiaire d'adresse entre deux pixels adjacents de la matrice d'image pour permettre la détermination de la teinte des points de l'écran situés dans l'espace intermédiaire entre la position des pixels de la matrice d'image. Le procédé d'interpolation est inscrit dans un programme d'interpolation qui est exécuté par le processeur 2 et dont les étapes peuvent être exécutées de la façon suivante :
- Dans une première étape le processeur 2 calcule l'adresse fractionnaire correspondant à la position du pixel à modifier à l'intérieur des points de la matrice d'image, cette adresse étant déterminée en nombre F de pas d'interpolation dans les directions horizontale et verticale de l'image compris entre deux pixels P et Pn+1 successifs de la matrice d'image à la manière représentée à la figure 8. A titre d'exemple trois bits fractionnaires pourront être utilisés pour adresser les points intermédiaires situés entre deux pixels de la matrice d'image ce qui correspond à huit pas d'interpolation successifs. Le procédé consiste ensuite à calculer dans une deuxième étape la valeur PM du pixel ou point correspondant à l'adresse fractionnaire calculée suivant la relation
- Ce procédé peut s'appliquer à l'exécution de tracés quelconques sur l'écran de la console de visualisation, ces tracés pouvant être obtenus à partir, par exemple, du tracé de plusieurs vecteurs successifs reliant des points de coordonnées bien définies sur l'écran.
- Ce procédé a l'avantage d'être simple à mettre en oeuvre car le tracé d'un vecteur reliant deux points rapprochés de coordonnées (X0 , Y0) et (X1 et Y1) de l'écran situés aux axes orthonormés X et Y n'exige l'écriture que de quelques lignes de programme. En adoptant les notations DX = X1 - X0 et DY = Y1 - Y0 avec DX ) 0 et DY) 0 et en supposant que la position de deux points est telle que les valeurs absolues 1 DX et |DY| des écarts DX et DY vérifient entre elles les relations |DX|>|DY| l'exécutiez du programme est assurée dans une première phase par le calcul de l'incrément qu'il faut donner dans la direction verticale de l'écran (axe Y) à chaque pas d'incrémentation exécuté dans la direction horizontale (axe X). Cette première phase de calcul est suivie par une deuxième phase d'initialisation et une troisième phase d'exécution, l'ensemble de ces trois phases exigeant la suite des instructions suivantes :
- Naturellement l'exécution du procédé selon l'invention n'est pas limitée au programme de tracé de vecteurs qui vient d'être décrit ni au format des bits d'attribut et pixels qui peut comporter un nombre très étendu de bits. Au niveau de la programmation l'homme de l'art pourra concevoir très facilement d'autres programmes de tracés pour permettre l'exécution d'arcs de cercles, d'ellipses ou de courbes paramétriques interpolées en utilisant des fonctions du type BSPLINE ou BEZIERS sans pour autant s'écarter du procédé d'interpolation selon l'invention. Egale- ment comme le procédé "anti-aliasing" décrit ci-dessus repose sur la valeur en amplitude du pixel, il est évident que les résultats corrects ne pourront être obtenus que si l'attribut défini par exemple sur quatre bits peut décrire les seize couleurs d'un pixel à l'intérieur d'une palette à définir par une autre table de couleurs. Le processus "anti-aliasing" qui vient d'être décrit ne concerne en fait que les systèmes sur lesquels au moins trois bits d'attributs ou pixels sont réservés à l'intensité lumineuse ce qui les différencie des systèmes à quatre bits ne disposant que d'un seul bit d'intensité. On conçoit que le procédé "anti-aliasing" de l'invention ne devient réellement performant lorsque les attributs sont définis sur des longueurs supérieures à quatre bits et plus typiquement pour des systèmes où l'attribut comporte huit bits et plus.
Claims (8)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR8406053A FR2563025B1 (fr) | 1984-04-17 | 1984-04-17 | Dispositif pour l'obtention de traces continus sur l'ecran d'une console de visualisation commandee par un processeur graphique |
| FR8406053 | 1984-04-17 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| EP0161176A1 true EP0161176A1 (fr) | 1985-11-13 |
| EP0161176B1 EP0161176B1 (fr) | 1988-08-17 |
Family
ID=9303226
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP85400735A Expired EP0161176B1 (fr) | 1984-04-17 | 1985-04-12 | Dispositif pour l'obtention de tracés continus sur l'écran d'une console de visualisation commandée par un processeur graphique |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US4710764A (fr) |
| EP (1) | EP0161176B1 (fr) |
| DE (1) | DE3564502D1 (fr) |
| FR (1) | FR2563025B1 (fr) |
Families Citing this family (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4823281A (en) * | 1985-04-30 | 1989-04-18 | Ibm Corporation | Color graphic processor for performing logical operations |
| US4914426A (en) * | 1987-08-04 | 1990-04-03 | High Resolution Sciences, Inc. | Sinusoidally modulated dot-matrix data display system |
| US5131080A (en) * | 1987-08-18 | 1992-07-14 | Hewlett-Packard Company | Graphics frame buffer with RGB pixel cache |
| FR2644960B1 (fr) * | 1989-03-21 | 1991-05-31 | Thomson Consumer Electronics | Dispositif de detection de fin de connexion a un programme payant recu par un poste d'abonne via un reseau de teledistribution interactive |
| US5041848A (en) * | 1989-11-13 | 1991-08-20 | Gilbert John M | Non-gary scale anti-aliasing method for laser printers |
| US5122884A (en) * | 1989-11-13 | 1992-06-16 | Lasermaster Corporation | Line rasterization technique for a non-gray scale anti-aliasing method for laser printers |
| US5182778A (en) * | 1990-08-31 | 1993-01-26 | Eastman Kodak Company | Dot-matrix video enhancement for optical character recognition |
| JP2002298574A (ja) * | 2001-03-29 | 2002-10-11 | Internatl Business Mach Corp <Ibm> | Dram及びdramのリフレッシュ方法 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4303986A (en) * | 1979-01-09 | 1981-12-01 | Hakan Lans | Data processing system and apparatus for color graphics display |
| EP0092973A2 (fr) * | 1982-04-23 | 1983-11-02 | Texas Instruments Incorporated | Dispositif pour la résolution de graphiques |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4396912A (en) * | 1981-08-17 | 1983-08-02 | Hewlett-Packard Company | Method and means for point connecting with a differential integrator dot connector circuit |
| US4489389A (en) * | 1981-10-02 | 1984-12-18 | Harris Corporation | Real time video perspective digital map display |
| JPS5875192A (ja) * | 1981-10-29 | 1983-05-06 | 日本電信電話株式会社 | 表示装置のスム−ジング回路 |
| US4532503A (en) * | 1982-11-08 | 1985-07-30 | International Business Machines Corporation | Sequence controlled pixel configuration |
| US4586037A (en) * | 1983-03-07 | 1986-04-29 | Tektronix, Inc. | Raster display smooth line generation |
-
1984
- 1984-04-17 FR FR8406053A patent/FR2563025B1/fr not_active Expired
-
1985
- 1985-04-12 DE DE8585400735T patent/DE3564502D1/de not_active Expired
- 1985-04-12 EP EP85400735A patent/EP0161176B1/fr not_active Expired
- 1985-04-15 US US06/723,276 patent/US4710764A/en not_active Expired - Lifetime
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4303986A (en) * | 1979-01-09 | 1981-12-01 | Hakan Lans | Data processing system and apparatus for color graphics display |
| EP0092973A2 (fr) * | 1982-04-23 | 1983-11-02 | Texas Instruments Incorporated | Dispositif pour la résolution de graphiques |
Non-Patent Citations (1)
| Title |
|---|
| WESCON CONFERENCE RECORD, vol. 25, septembre 1981, pages 31/5-1 - 31/5-10, El Segundo, CA., US; J.L. WISE et al.: "Color graphics with an advanced LSI controller" * |
Also Published As
| Publication number | Publication date |
|---|---|
| US4710764A (en) | 1987-12-01 |
| DE3564502D1 (en) | 1988-09-22 |
| FR2563025B1 (fr) | 1986-05-30 |
| EP0161176B1 (fr) | 1988-08-17 |
| FR2563025A1 (fr) | 1985-10-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10769765B2 (en) | Imaging systems and methods of using the same | |
| US4630307A (en) | Signal processing method and apparatus for sampled image signals | |
| EP0477351B1 (fr) | Procede et dispositif de modification de zone d'images successives | |
| EP0211770B1 (fr) | Dispositif de transformation séquentielle d'image | |
| Watkins | Modern image processing: warping, morphing, and classical techniques | |
| US10491856B2 (en) | Video frame interpolation using a convolutional neural network | |
| FR2534400A1 (fr) | Procedes et appareil d'affichage graphique | |
| FR2580840A1 (fr) | Poste d'affichage graphique video et systeme de traitement de donnees graphiques pour poste de travail de conception assistee par ordinateur | |
| FR2599873A1 (fr) | Systeme d'affichage video | |
| US8610737B2 (en) | Graphic processing unit (GPU) with configurable filtering module and operation method thereof | |
| EP0161176B1 (fr) | Dispositif pour l'obtention de tracés continus sur l'écran d'une console de visualisation commandée par un processeur graphique | |
| US20180232882A1 (en) | Auto-referencing in digital holographic microscopy reconstruction | |
| FR2564627A1 (fr) | Dispositif d'application de fenetre dans un systeme de visualisation | |
| FR2588405A1 (fr) | Dispositif d'affichage graphique | |
| KR101086151B1 (ko) | 이미지를 렌더링하는 방법 및 이미지를 렌더링하기 위한 도구 | |
| EP0161175B1 (fr) | Dispositif pour modifier l'aspect des points d'une image sur un écran d'une console de visualisation d'images graphiques | |
| EP0178219B1 (fr) | Procédé d'élaboration d'images vidéo synthétiques en vue d'une visualisation en temps réel, et à haute densité d'information, et dispositif utilisant ce procédé | |
| WO2004001450A1 (fr) | Dispositif et produit-programme pour extraire un horizon geologique et des proprietes associees | |
| JP2009514083A (ja) | ダイナミックフィルタを伴う全スクリーンアンチエイリアシング | |
| FR2665542A1 (fr) | Procede de mise en óoeuvre d'une memoire tampon permettant de produire un schema de declenchement et appareil de memorisation tampon associe. | |
| Ma et al. | Superresolution reconstruction of hyperspectral remote sensing imagery using constrained optimization of POCS | |
| EP0230158B1 (fr) | Processeur numérique d'images échographiques, à interpolation | |
| EP0151544A2 (fr) | Procédé et dispositif pour la génération, sur une surface de visualisation à réseau maillé, d'une courbe lissée | |
| FR2639740A1 (fr) | Procede de traitement d'une image pour en donner une correspondance zoomee, et systeme de mise en oeuvre de ce procede | |
| GB2634132A (en) | Generating non-destructive synthetic lens blur with in-focus edge rendering |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| AK | Designated contracting states |
Designated state(s): BE DE GB |
|
| 17P | Request for examination filed |
Effective date: 19860417 |
|
| 17Q | First examination report despatched |
Effective date: 19880118 |
|
| GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
| AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): DE GB |
|
| REF | Corresponds to: |
Ref document number: 3564502 Country of ref document: DE Date of ref document: 19880922 |
|
| GBT | Gb: translation of ep patent filed (gb section 77(6)(a)/1977) | ||
| PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
| 26N | No opposition filed | ||
| REG | Reference to a national code |
Ref country code: GB Ref legal event code: IF02 |
|
| PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 20040315 Year of fee payment: 20 |
|
| PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: DE Payment date: 20040426 Year of fee payment: 20 |
|
| PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GB Free format text: LAPSE BECAUSE OF EXPIRATION OF PROTECTION Effective date: 20050411 |
|
| REG | Reference to a national code |
Ref country code: GB Ref legal event code: PE20 |