EP0161176B1 - Device for obtaining continuous traces on a display screen controlled by a graphical processor - Google Patents

Device for obtaining continuous traces on a display screen controlled by a graphical processor Download PDF

Info

Publication number
EP0161176B1
EP0161176B1 EP85400735A EP85400735A EP0161176B1 EP 0161176 B1 EP0161176 B1 EP 0161176B1 EP 85400735 A EP85400735 A EP 85400735A EP 85400735 A EP85400735 A EP 85400735A EP 0161176 B1 EP0161176 B1 EP 0161176B1
Authority
EP
European Patent Office
Prior art keywords
memory
attribute
processor
graphic
points
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.)
Expired
Application number
EP85400735A
Other languages
German (de)
French (fr)
Other versions
EP0161176A1 (en
Inventor
Luc Pham Van Cang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thomson Video Equipement
Original Assignee
Thomson Video Equipement
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
Application filed by Thomson Video Equipement filed Critical Thomson Video Equipement
Publication of EP0161176A1 publication Critical patent/EP0161176A1/en
Application granted granted Critical
Publication of EP0161176B1 publication Critical patent/EP0161176B1/en
Expired legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/22Control 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/30Control of display attribute
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/20Function-generator circuits, e.g. circle generators line or curve smoothing circuits
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control 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/39Control of the bit-mapped memory
    • G09G5/393Arrangements 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.
  • 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 point matrices consisting of 512 by 512 to 1024 by 1024 points or pixels.
  • these defects are corrected by various techniques consisting, for example, in increasing the definition of the displayed image or in increasing the capacity of the graphic memory by correlatively grouping each pixel or point analyzed with its neighboring points, or to compensate for the rounding of the position of the plot by a variation in the tint of the pixel surrounding the plot or else, by performing processing operations when reading the graphic memory, consisting of filtering and interpolation calculations on the signals read in graphics memory.
  • processing operations consisting of filtering and interpolation calculations on the signals read in graphics 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 logics are used to replace the software of graphics processors but these logics have the disadvantage of being expensive and still requiring, to obtain satisfactory corrections, intermediate processing using for example caches 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 attribute to contain the attributes of each of the points of the image, characterized in that it also comprises 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 r 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
  • 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 one another 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 faults” generated by sampling signals at a fixed rate of a rectangular signal S representing the position of a point on a trace 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 represented in FIG. 3 and consists in filtering each input signal to transform it into a signal S F on the graphs H 1 to M 1 before sampling it to write it in the memory graphic.
  • the filtering constants are defined so that, whatever the position of the filtered signal with respect to the sampling instants T n and T n + 1 ' there is always a signal sample which can be stored inside the memory graph, we then take advantage of the response constants of the screen which operates a natural filtering, signal S v on the 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 1 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 shown in FIG. 5 which shows the same trace as that shown in FIG. 4 which is obtained, unlike what is shown 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 relative to the line of 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 of the English term Central Processing Unit and a visualization 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 attribute words PA of each pixel, addressed by each of the address words applied to the address 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, for modifying 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 selection purpose r, inside the word of n bits 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 reform, according to the information modified or not supplied at the output of the circuit interpolation 14, a new binary word which is applied to the write demultiplexer input 20 by means of a data line 21 to write the possibly modified word and the attributes corresponding to the addresses which they normally occupy in the memory graphic 4 and attribute memory 12.
  • the modification data of each of the words contained in graphic memory 4 and attribute memory 12 are entered from a keyboard 22 which is connected to the processor 2 via the link line 23.
  • a mass memory 24 is optionally coupled by a line 25 to the process 2 to transfer the program instructions inside the processor 2 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 place of a bit in the word corresponding to the moint or pixel to be modified is selected by the multiplexer 11 and the decoder 19 from the four least significant bits of the address word together with 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 11 and the decoder 19 are directed directly to the inputs of the word reformer 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 pixel to be modified are appl icked on the first input of the interpolation circuit 14 while the processor 2 simultaneously applies via the data line 15.4 bits of PN modification at the same time as 6 function bits corresponding to the FM interpolation function chosen by the operator 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.
  • the interpolation circuit is constituted by electrically programmable read-only memories of the type known by the Anglo-Saxon designation "EPROM or random access memories of the type known by the Anglo-Saxon designation" RAM which contain function tables in memory modification of the tint of the points of the image for the implementation of the interpolation method according to the invention.
  • these tables are addressed by the bits of the word PA read in the attribute memory representing the pre-existing value of the modified pixel, by the new value PN of the pixel that one seeks to obtain for the points. belonging to the plot and by an interpolation value which represents an intermediate value of address between two adjacent pixels of the image matrix to allow the determination of the tint of the points of the screen located in the intermediate space between the position pixels of the image matrix.
  • the interpolation method is included in an interpolation program which is executed by the processor 2 and the steps of which can be executed as follows:
  • the processor 2 calculates the corresponding fractional address. at the position of the pixel to be modified inside the points of the image matrix, this address being determined in number F of interpolation steps in the horizontal and vertical directions of the image comprised between two pixels P n and P n + 1 successive of the image matrix in the manner represented in FIG. 8.
  • the method then consists in calculating in a second step the PM value of the pixel or point corresponding to the fractional address calculated according to the relation
  • 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.
  • 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)

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.The present invention relates to a device for obtaining continuous plots on the screen of a display console controlled by a graphics processor.

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 tes. 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 •.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. In your. known embodiments, the formats used range from point 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.

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 processus 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.The line and frame television scanning mode is appreciated in these devices to have many advantages. However, the sampled structure of the graphic memory which is interposed between the display console and the process causes characteristic faults generally called "aliasing faults in Anglo-Saxon literature which appear either in the form of visible aliasing on the oblique and the curves of the plots obtained on the screens when the image is fixed, either by the disappearance or the sudden appearance of details according to a small displacement of the image. These faults are mainly due to the sampling of the signal at the discrete points of the image memory interposed between the console screen and the processor.

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 à opérer des 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 les 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.In high performance graphics equipment, these defects are corrected by various techniques consisting, for example, in increasing the definition of the displayed image or in increasing the capacity of the graphic memory by correlatively grouping each pixel or point analyzed with its neighboring points, or to compensate for the rounding of the position of the plot by a variation in the tint of the pixel surrounding the plot or else, by performing processing operations when reading the graphic memory, consisting of filtering and interpolation calculations on the signals read in graphics memory. In fact, 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. However, these processing methods have the drawback of occupying a lot of graphics processor computation time, which makes these plotting methods relatively slow. To increase the drawing speeds, wired logics are used to replace the software of graphics processors but these logics have the disadvantage of being expensive and still requiring, to obtain satisfactory corrections, intermediate processing using for example caches 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.

Le but de l'invention est de pallier les inconvénients précités.The object of the invention is to overcome the aforementioned drawbacks.

A cet effet, l'invention a pour objet, un dispositif pour l'obtention de tracés continus sur l'é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

Figure imgb0001
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é.To this end, 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 attribute to contain the attributes of each of the points of the image, characterized in that it also comprises 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 r 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 in the table containing a PM attribute value verifying the relationship
Figure imgb0001
the PM value obtained being transferred into the attribute memory to update the content of the location corresponding to the address of the modified pixel.

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.
Other characteristics and advantages of the invention will appear during the description given with regard to the appended drawings given solely by way of example and in which:
  • FIGS. 1 to 3 are the representations of the defects in reconstructing plots on screens of graphic consoles generated by the sampling of points or pixels of the image matrix recorded in the graphic memory;
  • - Figures 4 to 5 illustrate known methods used in certain graphics processors to obtain plots having no discontinuity;
  • - Figure 6 is a representation of the device according to the invention for obtaining traces without discontinuities;
  • FIG. 7 is a representation of the diagrams of the times of the refresh cycle of the screen of a display console scanned according to the principle of scanning television screens, of the cycle of reading, modifying or writing from memory graphics as well as the DMA direct access cycle to the graphics memory;
  • - Figure 8 illustrates the linear interpolation method implemented by the invention to correct the discontinuities of plots.

La théorie de l'information montre que l'échantillonnage d'un signal S(t) dépendant du temps, à une cadence Ci 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 Ci/2 moitié de la fréquence Ci de cadencement du signal d'échantillonnage.Information theory shows that sampling a time-dependent signal S (t) at a rate Ci gives defects generally called "aliasing defects" if the frequency spectrum of the signal S (t) exceeds half the sampling frequency of the sampling signal. This defect indicates the overlap between the upper half of the spectrum of the signal S (t) and the lower half when the latter is folded around the frequency C i / 2 half of the frequency Ci of timing of the sampling signal.

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.In a two-dimensional space, 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.

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 apparaît crénelé sous la forme de marches d'escalier, chaque palier ayant une amplitude constante entre deux instants d'échantillonnage.By way of example, FIG. 1 illustrates the reconstruction faults of a sinusoidal signal A sampled at times T n to T n + 3 regularly spaced from one another 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.

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'interieur de la mémoire. Dans le cas par exémple du signal S qui est représenté à la ligne F1 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.FIG. 2 illustrates the spatial “aliasing faults” generated by sampling signals at a fixed rate of a rectangular signal S representing the position of a point on a trace 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. In the case for example of the signal S which is represented on line F 1 between the sampling instants T n and T n + 1 the image of this signal (line F 2 ) is not recorded in the graphic memory since the point which it represents is intermediate between the position P n and P n + 1 of the graphic memory corresponding to the sampling instants T n to T n + 1 and that consequently this signal cannot be displayed on the display console .

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 la graphes H1 à 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 Tn 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.One way to remedy this defect is represented in FIG. 3 and consists in filtering each input signal to transform it into a signal S F on the graphs H 1 to M 1 before sampling it to write it in the memory graphic. The filtering constants are defined so that, whatever the position of the filtered signal with respect to the sampling instants T n and T n + 1 ' there is always a signal sample which can be stored inside the memory graph, we then take advantage of the response constants of the screen which operates a natural filtering, signal S v on the graphs H 2 to M 2 , on the size of the samples restored by the graphic memory.

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 M1 et M2 de sept pixels chacune, 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é.While it is relatively simple to filter a signal in the time domain, the spatial filtering which has just been described is however more complex to perform and in particular requires multiple accesses to the graphic memory in the direction of the rows and columns when the filtering implemented is two-dimensional. 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 1 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 . To remedy this difficulty, the known “anti-aliasing” correction devices operate according to the principle shown in FIG. 5 which shows the same trace as that shown in FIG. 4 which is obtained, unlike what is shown 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 relative to the line of direction D. The loss of modulation is negligible in this case and is largely compensated by sharper contours. However, 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.

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.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 of the English term Central Processing Unit and a visualization console 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 parrallè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'interpolation 14 est reliée par une ligne de donnée 16 à une entrée de donnéé 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 réforme, 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é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 processus 2 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.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 attribute words PA of each pixel, addressed by each of the address words applied to the address 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, for modifying 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 selection purpose r, inside the word of n bits 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 reform, according to the information modified or not supplied at the output of the circuit interpolation 14, a new binary word which is applied to the write demultiplexer input 20 by means of a data line 21 to write the possibly modified word and the attributes corresponding to the addresses which they normally occupy in the memory graphic 4 and attribute memory 12. The modification data of each of the words contained in graphic memory 4 and attribute memory 12 are entered from a keyboard 22 which is connected to the processor 2 via the link line 23. A mass memory 24 is optionally coupled by a line 25 to the process 2 to transfer the program instructions inside the processor 2 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.

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-modification-é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'images 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 moint 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 11 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.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. In FIG. 7 the refresh cycle, marked “VISU •, of the co display symbol 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 shown interlaced 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 read cycle L with the same duration T and the same equal period of duration 4T, the write 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 By way of example, this mode of sharing of cycles 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 point to be modified which makes it possible to cover high operating ranges, for example, processing of 720 image points or pixels per scanning line. on 576 lines while respecting the CCIR standards for 625 line television scanning s, the bit rate of the display console corresponding in this case to the digital television standard of 13.5 MHz for 25 frames / second and the cycle time T being close to 400 nanoseconds. These results are obtained by organizing, for example, the graphic memory in words of 16 pixels and the attribute memory 12 in attribute words of 3 bits, each of the words being addressed by the processor 2 by the address bits applied to the address bus 8. Each word read in the graphic memory 4 is applied to the input of the multiplexer 11. The place of a bit in the word corresponding to the moint or pixel to be modified is selected by the multiplexer 11 and the decoder 19 from the four least significant bits of the address word together with 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 11 and the decoder 19 are directed directly to the inputs of the word reformer 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 pixel to be modified are appl icked on the first input of the interpolation circuit 14 while the processor 2 simultaneously applies via the data line 15.4 bits of PN modification at the same time as 6 function bits corresponding to the FM interpolation function chosen by the operator 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.

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 :For convenience, the interpolation circuit is constituted by electrically programmable read-only memories of the type known by the Anglo-Saxon designation "EPROM or random access memories of the type known by the Anglo-Saxon designation" RAM which contain function tables in memory modification of the tint of the points of the image for the implementation of the interpolation method according to the invention. At each pixel modification, these tables are addressed by the bits of the word PA read in the attribute memory representing the pre-existing value of the modified pixel, by the new value PN of the pixel that one seeks to obtain for the points. belonging to the plot and by an interpolation value which represents an intermediate value of address between two adjacent pixels of the image matrix to allow the determination of the tint of the points of the screen located in the intermediate space between the position pixels of the image matrix. The interpolation method is included in an interpolation program which is executed by the processor 2 and the steps of which can be executed as follows:

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 Pn 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

Figure imgb0002
In a first step the processor 2 calculates the corresponding fractional address. at the position of the pixel to be modified inside the points of the image matrix, this address being determined in number F of interpolation steps in the horizontal and vertical directions of the image comprised between two pixels P n and P n + 1 successive of the image matrix in the manner represented in FIG. 8. By way of example three fractional bits could be used to address the intermediate points located between two pixels of the image matrix which corresponds to eight no successive interpolation. The method then consists in calculating in a second step the PM value of the pixel or point corresponding to the fractional address calculated according to the relation
Figure imgb0002

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.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.

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 (Xo, Yo) et (Xi et Y,) 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 = X, - Xo et DY = Y, - Yo avec DX > 0 et DY > 0 et en supposant que la position de deux points est telle que les valeurs absolues IDXI et [DY] des écarts DX et DY vérifient entre elles les relations [DX] > [DY] l'exécution 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 :

  • Calcul de l'incrément DY1 = DY/DX < = 0
  • Initialisation DYO = 0 X=X0
  • Début : X = X + 1
    • DYO = DYO + DY1 : F = PARTIE FRACTIONNAIRE de DYO
      • (3 bits)
    • Y = YO + PARTIE ENTIERE DYO
    • DYO = DYO - PARTIE ENTIERE DYO
    • ECRIRE X,Y,F
    • ECRIRE X,Y + 1, (1-F)
    • Si X > X1 OU Y > Y1 FIN, SINON DEBUT
  • PROCEDURE ECRIRE X,Y,F (LOGICIEL CABLE)
    • PN = NOUVEAU ATTRIBUT (fourni par le C.P.U.)
    • PA = ANCIEN ATTRIBUT (fourni par la Mémoire)
    • PM = F * PA + (1-F) * PN
    • ECRIRE PM
This process has the advantage of being simple to implement because the drawing of a vector connecting two close points of coordinates (X o , Y o ) and (X i and Y,) of the screen located at the orthonormal axes X and Y requires writing only a few lines of program. By adopting the notations DX = X, - X o and DY = Y, - Y o with DX> 0 and DY> 0 and by supposing that the position of two points is such that the absolute values IDXI and [DY] of the DX deviations and DY check the relations between them [DX]> [DY] the execution of the program is ensured in a first phase by the calculation of the increment which it is necessary to give in the vertical direction of the screen (axis Y) to each incrementation step executed in the horizontal direction (X axis). This first calculation phase is followed by a second initialization phase and a third phase of execution, all of these three phases requiring the following following instructions:
  • Calculation of the increment DY1 = DY / DX <= 0
  • Initialization DYO = 0 X = X0
  • Start: X = X + 1
    • DYO = DYO + DY1: F = FRACTIONAL PART of DYO
      • (3 bits)
    • Y = YO + WHOLE PART DYO
    • DYO = DYO - WHOLE PART DYO
    • WRITE X, Y, F
    • WRITE X, Y + 1, (1-F)
    • If X> X1 OR Y> Y1 END, OTHERWISE BEGINNING
  • WRITE PROCEDURE X, Y, F (CABLE SOFTWARE)
    • PN = NEW ATTRIBUTE (provided by the CPU)
    • PA = OLD ATTRIBUTE (provided by Memory)
    • PM = F * PA + (1-F) * PN
    • WRITE PM

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. Egalement 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. ,Naturally, 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. In terms of programming, 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. Also as 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. The “anti-aliasing” process which has just been described in fact only concerns systems on which at least three attribute bits or pixels are reserved for light intensity, which differentiates them from four-bit systems having only d 'a single intensity bit. It is understood that the “anti-aliasing” method of the invention only becomes truly effective when the attributes are defined on lengths greater than four bits and more typically for systems where the attribute comprises eight bits and more. ,

Claims (8)

1. A device for obtaining continuous traces on the screen of a visualizing console (3) controlled by a graphic processor (2), the image being constituted by an ordered matrix of image points or pixels in M rows of N points or pixels swept in accordance with television image sweep principle, the device comprising a graphic memory (4) adapted to store in a binary form the image of the matrix of visualized points on the screen and an attribute memory (12) to contain the attributes of each of the points of the image characterized in that is also comprises an interpolating circuit (14) in which there is stored an attribute computation table of the intermediate points between the consecutive points of the point matrix, the table of the interpolation circuit being addressed via a first input by the pre-existing value PA of the 'pixel to be modified located in the attribute memory, via a second input by the new value PN of the attribute of the pixels t be modified to cause them to appear on the trace and via a third input by an interpolation value E computed by the processor and equal to the fractional part of the position of the intermediate point to be modified, each location of the table containing an attribute value PM verifying the relationship
Figure imgb0004
the value PM obtained being transferred into the attribute memory (12) in order to update the content of the location corresponding to the address of the point or pixel which has been modified.
2. The device as claimed in claim 1 characterized in that the interpolation circuit is constituted by at least one programmable memory to hold the table for the interpolation circuit, the memory being addressed by the graphic processor (2) and by the attribute bits of each attribute word selected in the attribute memory (12).
3. The device as claimed in claim 1 or claim 2 characterized in that the interpolation circuit is controlled by the graphic processor (2) on the basis of instructions produced in the processor (2) using a keyboard (22).
4. The device as claimed in any one of the claims 1 through 3 characterized in that the graphic memory (4) is addressed on the one hand by the visualizing console and on the other hand by the graphic processor (2) via an address multiplexer controlled by the processor in order to share the access cycles to the graphic memory initialized between the visualizing console (3) and the processor (2).
5. The device as claimed in claim 4 characterized in that the graphic memory (4) is organized in fixed length words.
6. The device as claimed in claims 4 and 5 characterized in that the access cycles of the processor (2) to the graphic memory (4) are made up of a read cycle for each word in which the bit of an image point to be modified is located, and of the corresponding attribute word in the attribute memory (12), followed by a cycle, for modification of the read attribute word in the attribute memory (12), also followed by a re-write cycle of the word containing the modified bit into the graphic memory (4) and for re-writing the modified attribute word into the attribute memory (12).
7. The device as claimed in any one of the claims 2 through 6 characterized in that the programmable memories of the interpolation circuit (14) are electrically programmable ROMS.
8. The device as claimed in any one of the claims 2 through 6 characterized in that the programmable memories of the interpolation circuit (14) are RAMS.
EP85400735A 1984-04-17 1985-04-12 Device for obtaining continuous traces on a display screen controlled by a graphical processor Expired EP0161176B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR8406053 1984-04-17
FR8406053A FR2563025B1 (en) 1984-04-17 1984-04-17 DEVICE FOR OBTAINING CONTINUOUS TRACES ON THE SCREEN OF A VIEWING CONSOLE CONTROLLED BY A GRAPHICAL PROCESSOR

Publications (2)

Publication Number Publication Date
EP0161176A1 EP0161176A1 (en) 1985-11-13
EP0161176B1 true EP0161176B1 (en) 1988-08-17

Family

ID=9303226

Family Applications (1)

Application Number Title Priority Date Filing Date
EP85400735A Expired EP0161176B1 (en) 1984-04-17 1985-04-12 Device for obtaining continuous traces on a display screen controlled by a graphical processor

Country Status (4)

Country Link
US (1) US4710764A (en)
EP (1) EP0161176B1 (en)
DE (1) DE3564502D1 (en)
FR (1) FR2563025B1 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
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 (en) * 1989-03-21 1991-05-31 Thomson Consumer Electronics DEVICE FOR DETECTING THE END OF CONNECTION TO A PAYABLE PROGRAM RECEIVED BY A SUBSCRIBER STATION VIA AN INTERACTIVE TELEVISION NETWORK
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 (en) * 2001-03-29 2002-10-11 Internatl Business Mach Corp <Ibm> Dram, and refreshing method for dram

Family Cites Families (7)

* Cited by examiner, † Cited by third party
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
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 (en) * 1981-10-29 1983-05-06 日本電信電話株式会社 Display smoothing circuit
US4484188A (en) * 1982-04-23 1984-11-20 Texas Instruments Incorporated Graphics video resolution improvement apparatus
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

Also Published As

Publication number Publication date
FR2563025A1 (en) 1985-10-18
DE3564502D1 (en) 1988-09-22
US4710764A (en) 1987-12-01
FR2563025B1 (en) 1986-05-30
EP0161176A1 (en) 1985-11-13

Similar Documents

Publication Publication Date Title
Dey Hands-On Image Processing with Python: Expert techniques for advanced image analysis and effective interpretation of image data
US4630307A (en) Signal processing method and apparatus for sampled image signals
EP0840252B1 (en) Digital image-processing method for the automatic extraction of ribbon-like objects
US8873120B2 (en) Computer implemented method for generating binary holograms
EP0211770B1 (en) Device for sequential picture transformation
FR2690770A1 (en) System and method of visualization for video games.
FR2534400A1 (en) GRAPHIC DISPLAY METHODS AND APPARATUS
FR2580840A1 (en) VIDEO GRAPHIC DISPLAY STATION AND GRAPHIC DATA PROCESSING SYSTEM FOR COMPUTER-AIDED DESIGN WORKSTATION
JPH04218881A (en) Improved image processing technology
CN113222825B (en) Infrared image super-resolution reconstruction method based on visible light image training and application
JPH0668676B2 (en) How to improve the image quality of a CRT display
EP0161176B1 (en) Device for obtaining continuous traces on a display screen controlled by a graphical processor
US8610737B2 (en) Graphic processing unit (GPU) with configurable filtering module and operation method thereof
FR2564627A1 (en) WINDOW APPLICATION DEVICE IN A VISUALIZATION SYSTEM
US4899295A (en) Video signal processing
FR2665541A1 (en) APPARATUS FOR MANIPULATING DIGITAL VALUES, AS WELL AS ITS IMPLEMENTING METHOD, PARTICULARLY FOR THE PRODUCTION OF A GRAPHIC DISPLAY.
GB2271699A (en) Distinguishing overlapping oscilloscope traces
JP4903212B2 (en) Full screen anti-aliasing with dynamic filter
KR101086151B1 (en) High quality anti-aliasing
EP0161175B1 (en) Device for modifying the aspect of picture elements in the screen of a graphical display terminal
FR2571571A1 (en) METHOD FOR PRODUCING SYNTHETIC VIDEO IMAGES FOR REAL-TIME AND HIGH-DENSITY VISUALIZATION OF INFORMATION AND DEVICE USING THE SAME
CN115496654A (en) Image super-resolution reconstruction method, device and medium based on self-attention mechanism
WO2004001450A1 (en) Device and software package for extracting a geological horizon and related properties
Ma et al. Superresolution reconstruction of hyperspectral remote sensing imagery using constrained optimization of POCS
EP0151544B1 (en) Method and apparatus for smooth curve generation on a raster scan display

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