EP0187077B1 - Processeur de tracé de vecteur - Google Patents

Processeur de tracé de vecteur Download PDF

Info

Publication number
EP0187077B1
EP0187077B1 EP85402370A EP85402370A EP0187077B1 EP 0187077 B1 EP0187077 B1 EP 0187077B1 EP 85402370 A EP85402370 A EP 85402370A EP 85402370 A EP85402370 A EP 85402370A EP 0187077 B1 EP0187077 B1 EP 0187077B1
Authority
EP
European Patent Office
Prior art keywords
register
vector
data
address
registers
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
EP85402370A
Other languages
German (de)
English (en)
Other versions
EP0187077A1 (fr
Inventor
Ciaran O'donnell
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.)
O'DONNELL, CIARAN
Original Assignee
O'Donnell Ciaran
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 O'Donnell Ciaran filed Critical O'Donnell Ciaran
Publication of EP0187077A1 publication Critical patent/EP0187077A1/fr
Application granted granted Critical
Publication of EP0187077B1 publication Critical patent/EP0187077B1/fr
Expired legal-status Critical Current

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/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
    • 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

Definitions

  • the present invention relates to a vector tracing processor for reading and for writing a vector into an image memory of a computer system.
  • these display terminals are increasingly being replaced by graphic terminals which have a resolution of 256 x 256 dots or more.
  • graphic terminals are particularly advantageous in fields where information can be advantageously represented by an image, such as in medicine, cartography, meteorology, pattern recognition or the like.
  • a graphics terminal essentially comprises an image memory, a graphics processor and a display screen.
  • the graphics processor, or graphics screen controller comprises a calculation processor for updating the content of the image memory as a function of the data received from the computer system, a video generator for delivering to the display screen a signal video corresponding to the content of the image memory, and a control means for managing the accesses to the memory by the calculation processor and the video generator.
  • the known graphics processors are produced in the form of an integrated circuit in NMOS technology. In this regard, they have a limitation as to the maximum resolution of the displayable image, which is of the order of 1024 ⁇ 1024 dots. Indeed, for images comprising a larger number of points, the data rate from the image memory to the display screen requires the use of the fastest TTL components (FAST family), and for images of more than 2000 x 2000 points, only ECL technology allows the serialization of the video generator.
  • the registration speed could be increased by using a graphics processor in ECL technology.
  • a graphics processor in ECL technology would have the disadvantage of being expensive.
  • certain configurations of the video generator can allow access of the calculation processor to the image memory, not only during the frame return time, but also one or more times per image line.
  • the invention relates to a vector plot processor, or calculation processor, produced on a support distinct from the video generator.
  • the originality of the vector plot processor of the invention resides in a particular architecture, based on a known type representation of a vector to be plotted.
  • This architecture allows a very high writing speed, which can reach, for example, 5.10 6 pts / s in period of return of the frame of the video signal and in the absence of refreshment of the image memory. This registration speed is given for information only. It is indeed clear that the performance of the vector tracing processor of the invention is linked to the image memory used, in particular to the type of access cycle (read-write or read-modify-write) and to the presence or absence of refreshment.
  • the vector plotting processor of the invention is more flexible on this point than the known graphics processors whose vector plotting is based on the BRE-SENHAM method which is especially advantageous for plotting straight line segments.
  • a vector plot processor, where the vector consists of a line segment, is described e.g. in patent application FR-A 2 426 296.
  • the vector tracing processor of the invention comprises a data register with parallel input and with serial output, said data register being loaded initially by the interface circuit with the state of the elementary points of the vector, the output of said register being connected to the data input of the image memory, the timing means timing the output of data from said register.
  • the data register further comprises a serial input connected to the data output of the image memory and a parallel output connected to the interface circuit.
  • the vector plot processor can simultaneously read and write a vector. This allows selective erasure of part of a previously registered image. It suffices in fact, when writing a vector in the image memory, to read and save the stored vector which is replaced by said vector written in the image memory. To then delete said written vector, simply re-register the saved vector.
  • the vector tracing processor comprises n data registers, each data register being associated with an image plane.
  • the counting means is a down counter, said down counter transmitting the authorization signal to the timing means as long as its content is not zero.
  • the address control means comprises a transcoding matrix with four inputs and four outputs, the outputs being connected to the address increment and decrement control inputs, three inputs being connected to the octant register. and the fourth entry in the direction register.
  • FIG. 1 shows a display terminal comprising a graphics processor 2 connected by a bidirectional channel 4 to a computer 6, and connected by a channel 8 to a screen 10.
  • the bidirectional channel 4 comprises an address bus, a data bus and command lines to manage the transmission between the computer 6 and the graphics processor 2.
  • the graphics processor 2 mainly comprises a vector tracing processor 12, in accordance with the invention, a video generator 14 and a control means 30. It is connected to an image memory 16.
  • This memory 16 is organized in rows and columns. It can include one or more parallel planes, each plane comprising one bit per image point. Access to this memory is provided by the processor 12 and the video generator 14 by two address buses 18, 20 used respectively to designate the abscissa and the ordinate of a point of the image. Address management means 22 connected to memory 16 by an address bus 24 translates said abscissa and ordered into a physical address.
  • the data transfer between the processor 12 or the video generator 14 and the memory 16 is carried out by a bidirectional data bus 26.
  • the processor 12 can thus read or write a vector in the image memory 16.
  • the control means 30 of the graphics processor is connected by a first bidirectional channel 32 to the vector tracing processor 12 and by a second bidirectional channel 34 to the video generator 14. By these channels, the control means 30 receives the access requests to the memory 16 of the processor 12 and of the generator 14 and returns acknowledgment signals when access to the memory is authorized. In the event of an access conflict between the processor 12 and the video generator 14, the control means 30 gives access to the video generator.
  • the control means 30 is also connected to the memory 16 by a channel 36 which makes it possible to indicate the type of access: read, write, reset to zero or other.
  • the image memory 16 is preferably a dynamic memory operating in "nibble" mode to accelerate the reading. This mode consists in reading several words of successive addresses in a single access cycle. These words are written in a buffer register of the video generator 14. This buffer register makes the reading of the memory by the video generator 14 and the video output asynchronous. It therefore makes it possible to insert an access to the memory 16 for reading or writing by the processor 12 between two access cycles by the video generator.
  • the processor 12 can thus access the image memory 16 several times per screen line. For example, for an image comprising 1728 points per line, and organized in 64-bit words, one screen line corresponds to 27 words. If each access, in "nibble" mode, allows the reading of 4 words, 7 accesses are enough to read a line of screen.
  • the vector tracing processor 12 can therefore access the image memory 16 during the frame return time, but also several times per image line. This is a factor authorizing a high speed of writing of a vector into the memory 16 by the processor 12.
  • the particular structure of the vector tracing processor 12 of the invention also contributes to a high speed of writing a vector into the memory.
  • a particular embodiment of this processor 12 will be described with reference to FIG. 3. We will first indicate the form in which a vector is stored in the processor 12.
  • a vector is defined by several parameters which can be its origin coordinates, abscissa and ordinates, a direction, a length and, possibly, the state (gray level) of each image point constituting the vector.
  • FIG. 2a shows a vector whose original abscissa is equal to 4, the ordinate of origin is equal to 1 and the length is equal to 10.
  • the direction is obtained by combination of an octant number and the decomposition of the vector according to the ROTHMAN code.
  • the octant number associated with a vector corresponds to the sector of space containing the direction of this vector. This breakdown into sectors is shown in Figure 2b.
  • the octant associated with the vector represented in FIG. 2a is octant 2.
  • This decomposition into octants is known to those skilled in the art. It simplifies the drawing of a vector because it can be reduced in all cases to a basic octant, in general octant 0, by symmetries around the X and Y axes. The drawing of a vector any brought back in the basic octant can be carried out very quickly by known algorithms such as the algorithm of BRESEN-HAM.
  • the octant defines the general direction of the vector.
  • the ROTHMAN decomposition defines the relative position of two successive points of the vector. This code consists in associating a first value when one passes in the basic octant from a point of the vector to the successive point by a horizontal displacement that is to say by incrementation of the abscissa and a second value if one passes from a vector point to the successive point by a displacement in diagonal, that is to say by incrementation of the abscissa and the ordinate. For example, if we denote "0" the first value and "1" the second value, the vector represented in FIG. 2a has for decomposition the sequence 0 1 0 1 1 0 0 0 0.
  • the vector tracing processor of the invention uses this ROTHMAN decomposition and the octant splitting. We will now describe with reference to FIG. 3 an embodiment of this processor.
  • Address registers 40 and 42 and octant register 46 are buffers with parallel input and output.
  • Direction register 48 is a shift register with parallel input and serial output.
  • the vector tracing processor 12 also includes a data register 52.
  • This register allows the recording in the memory of a vector consisting of any sequence of bits, which facilitates the recording in memory of discontinuous vectors (mixed lines, dotted lines or other).
  • the data register 52 is associated with a memory in which a bit is associated with an image point, that is to say in which the stored image is two-color.
  • the memory can advantageously be made up of n parallel planes, each plane memorizing a bit of each image point.
  • the vector tracing processor 12 then comprises a set of n data registers 52 controlled in parallel. In the case of this multi-plane memory, the address registers and the address control register remain unique.
  • the data register 52 is preferably a shift register comprising parallel and serial inputs and outputs such as the TEXAS INSTRUMENTS circuit 54AS877.
  • the serial input and output are used for read or write transfer with the image memory 16.
  • the parallel input and output are used for transfer to the computer system to which the graphics processor is connected.
  • the recording of a vector in the image memory consists in forcing the value of the binary elements of the memory corresponding to the points of the vector with a predetermined value.
  • the vector can also be entered using an operator, for example of the EXCLUSIVE type, one input of which receives the value of the binary elements of the memory corresponding to the points of the vector, the other input receives either a predetermined value either data delivered by the data register 52, and the output of which, connected to the image memory, delivers the effective value of the points of the vector to be written.
  • an operator for example of the EXCLUSIVE type, one input of which receives the value of the binary elements of the memory corresponding to the points of the vector, the other input receives either a predetermined value either data delivered by the data register 52, and the output of which, connected to the image memory, delivers the effective value of the points of the vector to be written.
  • the different registers of the vector tracing processor 12 are loaded with data received from a computer by the bidirectional bus 4.
  • An interface circuit 54 receives said data and control signals from the computer and delivers this data on a bus 56 internal to the processor 12.
  • the interface circuit 54 may in particular comprise an input buffer register for storing several data or commands received from the computer and means for selecting each of the registers of the processor 12.
  • the address control means 44 receives from the interface circuit 54 on the one hand a word representing the canonical form of the vector to be written according to the ROTHMAN code, this word being stored in the direction register 48, and on the other hand part, the octant number which is stored in the octant register 46.
  • a vector to be plotted is broken down into 32-bit segments.
  • An 8-bit word can therefore simultaneously indicate the length of a segment and the octant in which the vector is contained.
  • This word is received by the interface circuit 54 and stored in a buffer register 58.
  • the 5 bits corresponding to the length of the segment are then loaded into the counting means 50 and the 3 bits corresponding to the octant number are loaded into octant register 46.
  • the counting means 50 is of the down-counter type. Its content is decremented in synchronism with a clock signal originating from a timing means 60.
  • This timing means 60 is connected in a conventional manner to the various elements of the vector tracing processor 12. The purpose of this timing means is to synchronize the processing of data by the different elements of the processor.
  • the clock signals are delivered on receipt of an authorization issued by the control means 30 and are blocked on a signal received from the downcounting means.
  • the role of this timing means being well known to those skilled in the art, it was not considered useful to represent the links carrying the clock signals of this timing means to the elements of the vector plot processor 12.
  • the latter transmits on a line 51 a signal to the timing means 60 to stop the transmission of the address and data signals to the memory d 'picture.
  • This signal or a derived signal, can also be sent to the interface circuit 54 to indicate to the computer that the vector segment has been processed.
  • the interface circuit 54 loads the address registers 40 and 42 with the coordinates of the point of origin of the segment, the data register 52 with the value to be written into the memory, the direction register 48 with the canonical form of the vector according to the ROTHMAN code and the register 58 with the length of the segment to be written and the octant number corresponding to the direction of this segment.
  • the address control means 44 comprises a buffer 62 for storing the bit delivered by the register 48 during an offset, and a coding matrix 64 with 4 inputs and 4 kinds. The inputs of this matrix are respectively connected to the output of buffer 62 and to the 3 outputs of octant register 46; these outputs are respectively connected to the increment and decrement command inputs of the address registers 40 and 42.
  • FIG. 4 shows the truth table of this matrix.
  • the octant number, the corresponding binary code, the value of the RD bit contained in the buffer 62 and the corresponding action on the content of the address registers 40 and 42 are indicated respectively.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

  • La présente invention a pour objet un processeur de tracé de vecteur pour lire et pour inscrire un vecteur dans une mémoire d'image d'un système informatique.
  • En informatique, la transmission d'informations du système informatique vers l'opérateur est souvent réalisée par affichage sur un terminal de visualisation. Pendant longtemps, les capacités des terminaux de visualisation ont été limitées à l'affichage de caractères alphanumériques ou semi-graphiques.
  • Pour répondre aux besoins de nombreux domaines tels que la conception assistée par ordinateur, ces terminaux de visualisation sont de plus en plus remplacés par des terminaux graphiques qui ont une résolution de 256 x 256 points ou davantage. Ces terminaux graphiques sont particulièrement intéressants dans les domaines où une information peut être avantageusement représentée par une image, tels qu'en médecine, en cartographie, en météorologie, en reconnaissance des formes ou autre.
  • Un terminal graphique comporte essentiellement une mémoire d'image, un processeur graphique et un écran de visualisation. Le processeur graphique, ou contrôleur d'écran graphique, comprend un processeur de calcul pour mettre à jour le contenu de la mémoire d'image en fonction des données reçues du système informatique, un générateur vidèo pour délivrer à l'écran de visualisation un signal vidéo correspondant au contenu de la mémoire d'image, et un moyen de commande pour gérer les accès à la mémoire par le processeur de calcul et le générateur vidéo.
  • Les processeurs graphiques connus sont réalisés sous forme de circuit intégré en technologie NMOS. Ils présentent à cet égard une limitation quant à la résolution maximale de l'image affichable, qui est de l'ordre de 1024 x 1024 points. En effet, pour des images comportant un nombre de points plus important, le débit de données de la mémoire d'image vers l'écran de visualisation nécessite l'emploi des composants TTL les plus rapides (famille FAST), et pour des images de plus de 2000 x 2000 points, seule la technologie ECL permet de réaliser le sérialiseur du générateur vidéo.
  • Ainsi, dans les processeurs graphiques en technologie NMOS, l'accès à la mémoire est pratiquement accaparé par le générateur vidéo, dès lors que la résolution de l'image est importante. Ceci limite la vitesse d'inscription en mémoire par le processeur de calcul dont l'accès à la mémoire d'image est pratiquement réduit au temps de retour de trame du signal vidéo. En conséquence, la vitesse maximale d'inscription en mémoire n'est guère supérieure à 106 points/s.
  • La vitesse d'inscription pourrait être augmentée par l'utilisation d'un processeur graphique en technologie ECL. Cependant une telle solution présenterait l'inconvénient d'être coûteuse.
  • Il paraît plus judicieux, compte tenu de la très grande différence entre les débits de données supportés par le générateur vidéo et le processeur de calcul, de séparer ces deux moyens et de réaliser, par exemple, le générateur vidéo en technologie ECL et le processeur de calcul en technologie NMOS.
  • Ceci permet de diminuer les contraintes d'accès du processeur de calcul à la mémoire d'image, sans qu'il en résulte une augmentation de coût importante pour le processeur graphique. En particulier, certaines configurations du générateur vidéo peuvent permettre un accès du processeur de calcul à la mémoire d'image,non seulement pendant le temps de retour de trame, mais aussi une ou plusieurs fois par ligne d'image.
  • L'invention concerne un processeur de tracé de vecteur, ou processeur de calcul, réalisé sur un support distinct du générateur vidéo. L'originalité du processeur de tracé de vecteur de l'invention réside dans une architecture particulière, fondée sur une représentation de type connu d'un vecteur à tracer. Cette architecture autorise une vitesse d'inscription très importante, pouvant atteindre, par exemple, 5.106 pts/s en période de retour de la trame du signal vidéo et en absence de rafraichissement de la mémoire d'image. Cette vitesse d'inscription est donnée à titre indicatif. Il est clair en effet que les performances du processeur de tracé de vecteur de l'invention sont liées à la mémoire d'image utilisée, notamment au type de cycle d'accès (lecture- écriture ou lecture-modification-écriture) et à la présence ou l'absence de rafraîchissement.
  • De manière précise, l'invention a pour objet un processeur de tracé de vecteur pour lire et inscrire un vecteur dans une mémoire d'image organisée en lignes et en colonnes, ledit vecteur étant défini par des coordonnées d'origine, une direction et une longueur, l'edit processeur étant caractérisé en ce qu'il comprend :
    • - un registre d'adresse ligne et un registre d'adresse colonne, lesdits registres comprenant des entrées de commande d'incrémentation et de décrémentation,
    • - un moyen de commande d'adresse comprenant un registre d'octant et un registre de direction, ledit moyen de commande d'adresse délivrant des signaux aux entrées de commande des registres d'adresse,
    • - un moyen de comptage,
    • - un moyen de cadencement délivrant un signal de synchronisation desdits registres et moyens et recevant du moyen de comptage un signal d'autorisation lorsque le contenu du moyen de comptage est différent d'une valeur prédéterminée,
    • - un circuit d'interface relié auxdits registres et moyens pour charger initialement les registres d'adresse avec les coordonnées de l'origine du vecteur, le registre d'octant avec l'octant de la direction du vecteur, le registre de direction avec la forme canonique du vecteur selon le code de ROTHMAN et le moyen de comptage avec la longueur du vecteur.
  • L'utilisation du code de ROTHMAN pour indiquer les points élémentaires constituant le vecteur à tracer offre la possibilité de tracer les segments de droite, mais aussi tout autre type de courbes : cercle, caractère ou autre. Le processeur de tracé de vecteur de l'invention est plus souple sur ce point que les processeurs graphiques connus dont le tracé de vecteur est fondé sur la méthode de BRE-SENHAM qui est surtout intéressante pour le tracé de segments de droite. Un processeur de tracé de vecteur, où le vecteur est constitué par un segment de droite, est décrit par ex. dans la demande de brevet FR-A 2 426 296.
  • Selon un mode de réalisation préféré, le processeur de tracé de vecteur de l'invention comprend un registre de données à entrée parallèle et à sortie série, ledit registre de données étant chargé initialement par le circuit d'interface avec l'état des points élémentaires du vecteur, la sortie dudit registre étant reliée à l'entrée de données de la mémoire d'image, le moyen de cadencement rythmant la sortie des données dudit registre.
  • De manière préférée, le registre de données comporte en outre une entrée série reliée à la sortie de données de la mémoire d'image et une sortie parallèle reliée au circuit d'interface.
  • Avec cette structure, le processeur de tracé de vecteur peut simultanément lire et écrire un vecteur. Ceci permet l'effacement sélectif d'une partie d'une image inscrite antérieurement. Il suffit en effet, lors de l'écriture d'un vecteur dans la mémoire d'image, de lire et sauvegarder le vecteur mémorisé qui est remplacé par ledit vecteur écrit dans la mémoire d'image. Pour effacer ensuite ledit vecteur écrit, il suffit de réinscrire le vecteur sauvegardé.
  • Cette possibilité d'effacement sélectif n'existe pas dans les processeurs graphiques connus qui effectuent uniquement l'opération d'écriture d'un vecteur mais qui ne peuvent pas lire un vecteur de la mémoire d'image.
  • Selon une caractéristique de l'invention, pour une mémoire d'image à n plans parallèles, où n est un entier,le processeur de tracé de vecteur comprend n registres de données, chaque registre de données étant associé à un plan d'image.
  • Selon un mode de réalisation préféré, le moyen de comptage est un décompteur, ledit décompteur émettant le signal d'autorisation au moyen de cadencement tant que son contenu n'est pas nul.
  • De manière préférée, le moyen de commande d'adresse comprend une matrice de transcodage à quatre entrées et quatre sorties, les sorties étant reliées aux entrées de commande d'incrémentation et de décrémentation d'adresse, trois entrées étant reliées au registre d'octant et la quatrième entrée au registre de direction.
  • Les caractéristiques et avantages de l'invention ressortiront mieux de la description qui va suivre donnée à titre illustratif mais non limitatif, en référence aux dessins annexés sur lesquels :
    • - la figure 1 illustre schématiquement un système informatique comprenant un processeur graphique pour l'affichage d'une image numérique sur un écran de visualisation, ledit processeur graphique comportant un processeur de tracé de vecteur conforme à l'invention,
    • - les figures 2a et 2b représentent respectivement la forme numérisée d'un vecteur sur un écran de visualisation et la décomposition en octant des directions possibles d'un vecteur dans le plan de l'écran de visualisation,
    • - la figure 3 représente schématiquement un mode de réalisation du processeur de tracé de vecteur de l'invention, et
    • - la figure 4 illustre les commandes d'incrémentation et de décrémentation des registres d'adresse en fonction du numéro d'octant et du contenu du registre de direction.
  • On a représenté sur la figure 1 un terminal de visualisation comprenant un processeur graphique 2 relié par une voie bidirectionnelle 4 à un calculateur 6, et relié par une voie 8 à un écran 10. La voie bidirectionnelle 4 comprend un bus d'adresse, un bus de données et des lignes de commande pour gérer la transmission entre le calculateur 6 et le processeur graphique 2.
  • Le processeur graphique 2 comprend principalement un processeur de tracé de vecteur 12, conforme à l'invention, un générateur vidéo 14 et un moyen de commande 30. Il est relié à une mémoire d'image 16.
  • Cette mémoire 16 est organisée en lignes et en colonnes. Elle peut comprendre un ou plusieurs plans parallèles, chaque plan comportant un bit par point d'image. L'accès à cette mémoire est réalisé par le processeur 12 et le générateur vidéo 14 par deux bus d'adresse 18, 20 utilisés respectivement pour désigner l'abscisse et l'ordonnée d'un point de l'image. Un moyen de gestion d'adresse 22 relié à la mémoire 16 par un bus d'adresse 24 traduit lesdites abscisse et ordonnée en une adresse physique.
  • Le transfert de données entre le processeur 12 ou le générateur vidéo 14 et la mémoire 16 est réalisé par un bus de données bidirectionnel 26. Le processeur 12 peut ainsi lire ou écrire un vecteur dans la mémoire d'image 16.
  • Le moyen de commande 30 du processeur graphique est relié par une première voie bidirectionnelle 32 au processeur de tracé de vecteur 12 et par une seconde voie bidirectionnelle 34 au générateur vidéo 14. Par ces voies, le moyen de commande 30 reçoit les demandes d'accès à la mémoire 16 du processeur 12 et du générateur 14 et renvoie des signaux d'acquittement lorsque l'accès à la mémoire est autorisé. En cas de conflit d'accès entre le processeur 12 et le générateur vidéo 14, le moyen de commande 30 donne l'accès au générateur vidéo.
  • Le moyen de commande 30 est en outre relié à la mémoire 16 par une voie 36 qui permet d'indiquer le type d'accès : lecture, écriture, remise à zéro ou autre.
  • La mémoire d'image 16 est de préférence une mémoire dynamique fonctionnant en mode "nibble" pour accélérer la lecture. Ce mode consiste à lire plusieurs mots d'adresses successives en un seul cycle d'accès. Ces mots sont écrits dans un registre tampon du générateur vidéo 14. Ce registre tampon rend asynchrone la lecture de la mémoire par le générateur vidéo 14 et la sortie vidéo. Il permet donc d'intercaler un accès à la mémoire 16 en lecture ou en écriture par le processeur 12 entre deux cycles d'accès par le générateur vidéo.
  • Le processeur 12 peut ainsi accéder à la mémoire d'image 16 plusieurs fois par ligne d'écran. A titre d'exemple, pour une image comportant 1728 points par ligne, et organisée en mot de 64 bits, une ligne d'écran correspond à 27 mots. Si chaque accès, en mode "nibble", permet la lecture de 4 mots, il suffit de 7 accès pour lire une ligne d'écran. Le processeur de tracé de vecteur 12 peut donc accéder à la mémoire d'image 16 pendant le temps de retour de trame, mais aussi plusieurs fois par ligne d'image. Ceci est un facteur autorisant une grande vitesse d'inscription d'un vecteur dans la mémoire 16 par le processeur 12.
  • La structure particulière du processeur de tracé de vecteur 12 de l'invention contribue également à une grande vitesse d'inscription d'un vecteur dans la mémoire. On décrira en référence à la figure 3 un mode de réalisation particulier de ce processeur 12. On va tout d'abord indiquer la forme sous laquelle un vecteur est mémorisé dans le processeur 12.
  • Un vecteur est défini par plusieurs paramètres qui peuvent être ses coordonnées d'origine, abscisse et ordonnées, une direction, une longueur et, éventuellement, l'état (niveau de gris) de chaque point d'image constituant le vecteur. A titre d'exemple, on a représenté sur la figure 2a un vecteur dont l'abscisse d'origine est égale à 4, l'ordonnée d'origine est égale à 1 et la longueur est égale à 10. La direction est obtenue par combinaison d'un numéro d'octant et de la décomposition du vecteur selon le code de ROTHMAN.
  • Le numéro d'octant associé à un vecteur correspond au secteur de l'espace contenant la direction de ce vecteur. Cette décomposition en secteurs est représentée sur la figure 2b. L'octant associé au vecteur représenté sur la figure 2a est l'octant 2. Cette décomposition en octants est connue de l'homme de l'art. Elle permet de simplifier le tracé d'un vecteur car celui-ci peut être ramené dans tous les cas dans un octant de base, en général l'octant 0, par des symétries autour des axes X et Y. Le tracé d'un vecteur quelconque ramené dans l'octant de base peut être réalisé très rapidement par des algorithmes connus tels que l'algorithme de BRESEN-HAM.
  • L'octant définit la direction générale du vecteur. La décomposition de ROTHMAN définit quant à elle la position relative de deux points successifs du vecteur. Ce code consiste à associer une première valeur lorsque l'on passe dans l'octant de base d'un point du vecteur au point successif par un déplacement horizontal c'est-à-dire par incrémentation de l'abscisse et une seconde valeur si l'on passe d'un point de vecteur au point successif par un déplacement en diagonale, c'est-à-dire par incrémentation de l'abscisse et de l'ordonnée. A titre d'exemple, si on note "0" la première valeur et "1" la deuxième valeur, le vecteur représenté sur la figure 2a a pour décomposition la séquence 0 1 0 1 1 0 0 0 0.
  • Le processeur de tracé de vecteur de l'invention utilise cette décomposition de ROTHMAN et le découpage en octant. On va maintenant décrire en référence à la figure 3 un mode de réalisation de ce processeur.
  • Ce processeur de tracé de vecteur 12 comprend principalement :
    • - un registre d'adresse ligne 40 pour délivrer sur le bus d'adresse 18 l'abscisse d'un point d'image, ledit registre comportant une entrée INC de commande d'incrémentation de son contenu et une entrée DEC de commande de décrémentation de son contenu,
    • - un registre d'adresse colonne 42 délivrant sur le bus d'adresse 20 l'ordonnée d'un point d'image, ledit registre comportant également une entrée INC de commande d'incrémentation de son contenu et une entrée DEC de commande de décrémentation de son contenu,
    • - un moyen de commande d'adresse 44 comportant un registre d'octant 46 et un registre de direction 48 pour mémoriser la direction du vecteur à inscrire dans la mémoire selon le code de ROTHMAN,
    • - un moyen de comptage 50 pour mémoriser la longueur du vecteur à traiter.
  • Les registres d'adresse 40 et 42 et le registre d'octant 46 sont des tampons à entrée et sortie parallèles.Le registre de direction 48 est un registre à décalage à entrée parallèle et à sortie série.
  • Dans le mode de réalisation représenté sur la figure 3, le processeur de tracé de vecteur 12 comporte également un registre de données 52. Ce registre permet l'inscription dans la mémoire d'un vecteur constitué d'une séquence quelconque de bits, ce qui facilite l'inscription en mémoire de vecteurs discontinus (traits mixtes, pointillés ou autre).
  • Le registre de données 52 est associé à une mémoire dans laquelle un bit est associé à un point d'image, c'est-à-dire dans laquelle l'image mémorisée est bicolore. Dans le cas d'une mémoire où un ensemble de n bits est associé à chaque point d'image, la mémoire peut avantageusement être constituée de n plans parallèles, chaque plan mémorisant un bit de chaque point d'image. Le processeur de tracé de vecteur 12 comporte alors un ensemble de n registres de données 52 commandé en parallèle. Dans le cas de cette mémoire multiplan, les registres d'adresse et le registre de commande d'adresse restent uniques.
  • Le registre de données 52 est de préférence un registre à décalage comprenant des entrées et des sorties parallèles et série tel que le circuit 54AS877 de TEXAS INSTRUMENTS. L'entrée et la sortie série sont utilisées pour le transfert en lecture ou en écriture avec la mémoire d'image 16. L'entrée et la sortie parallèles servent au transfert vers le système informatique auquel est relié le processeur graphique.
  • Dans le cas où le registre de données 52 est omis, l'inscription d'un vecteur dans la mémoire d'image consiste à forcer la valeur des éléments binaires de la mémoire correspondant aux points du vecteur avec une valeur prédéterminée.
  • L'inscription du vecteur peut également être réalisée au moyen d'un opérateur, par exemple de type OU-EXCLUSIF dont une entrée reçoit la valeur des éléments binaires de la mémoire correspondant aux points du vecteur, l'autre entrée reçoit soit une valeur prédéterminée soit des données délivrées par le registre de données 52, et dont la sortie, reliée à la mémoire d'image, délivre la valeur effective des points du vecteur à inscrire.
  • Les différents registres du processeur de tracé de vecteur 12 sont chargés avec des données reçues d'un calculateur par le bus bidirectionnel 4. Un circuit d'interface 54 reçoit lesdites données et des signaux de commande du calculateur et délivre ces données sur un bus 56 interne au processeur 12. Le circuit d'interface 54 peut comprendre notamment un registre tampon en entrée pour mémoriser plusieurs données ou commandes reçues du calculateur et des moyens pour sélectionner chacun des registres du processeur 12.
  • Le moyen de commande d'adresse 44 reçoit du circuit d'interface 54 d'une part un mot représentant la forme canonique du vecteur à inscrire selon le code de ROTHMAN, ce mot étant mémorisé dans le registre de direction 48, et d'autre part, le numéro d'octant qui est mémorisé dans le registre d'octant 46.
  • Dans le mode de réalisation représenté sur la figure 3, un vecteur à tracer est décomposé en segments de 32 bits. Un mot de 8 bits peut donc indiquer simultanément la longueur d'un segment et l'octant dans lequel est contenu le vecteur. Ce mot est reçu par le circuit d'interface 54 et mémorisé dans un registre tampon 58. Les 5 bits correspondant à la longueur du segment sont ensuite chargés dans le moyen de comptage 50 et les 3 bits correspondant au numéro d'octant sont chargés dans le registre d'octant 46.
  • Le moyen de comptage 50 est du type décompteur. Son contenu est décrémenté en synchronisme avec un signal d'horloge issu d'un moyen de cadencement 60. Ce moyen de cadencement 60 est relié de manière classique aux différents éléments du processeur de tracé de vecteur 12. Ce moyen de cadencement a pour rôle de synchroniser le traitement des données par les différents éléments du processeur.
  • Les signaux d'horloge sont délivrés sur réception d'une autorisation délivrée par le moyen de commande 30 et sont bloqués sur un signal reçu du moyen de décomptage. Le rôle de ce moyen de cadencement étant bien connu de l'homme de l'art, on n'a pas jugé utile de représenter les liaisons acheminant les signaux d'horloge de ce moyen de cadencement vers les éléments du processeur de tracé de vecteur 12.
  • Lorsque, par suite du dècomptage, le contenu du moyen de comptage 50 devient nul, celui-ci émet sur une ligne 51 un signal vers le moyen de cadencement 60 pour stopper l'émission des signaux d'adresse et de donnée vers la mémoire d'image. Ce signal, ou un signal dérivé, peut également être émis vers le circuit d'interface 54 pour signifier au calculateur que le segment de vecteur a été traité.
  • On va maintenant expliquer le fonctionnement du processeur de tracé de vecteur 12. Dans un premier temps, le circuit d'interface 54 charge les registres d'adresse 40 et 42 avec les coordonnées du point d'origine du segment, le registre de données 52 avec la valeur à inscrire dans la mémoire, le registre de direction 48 avec la forme canonique du vecteur selon le code de ROTHMAN et le registre 58 avec la longueur du segment à inscrire et le numéro d'octant correspondant à la direction de ce segment.
  • Le passage d'un point d'image à un autre est obtenu d'une part en commandant un décalage du contenu du registre de données 52 et d'autre part en modifiant les contenus des registres 40 et 42 en fonction du contenu du registre de direction 48 et du numéro d'octant contenu dans le registre 46. Pour réaliser cette mise à jour, le moyen 44 de commande d'adresse comprend un tampon 62 pour mémoriser le bit délivré par le registre 48 lors d'un décalage, et une matrice de codage 64 à 4 entrées et 4 sortes. Les entrées de cette matrice sont reliées respectivement à la sortie du tampon 62 et aux 3 sorties du registre d'octant 46 ; ces sorties sont reliées respectivement aux entrées de commande d'incrémentation et de décrémentation des registres d'adresse 40 et 42.
  • On a représenté sur la figure 4 la table de vérité de cette matrice. Dans cette table, on a indiqué respectivement le numéro d'octant, le code binaire correspondant, la valeur du bit RD contenu dans le tampon 62 et l'action correspondante sur le contenu des registres d'adresse 40 et 42.

Claims (6)

1. Processeur de tracé de vecteur pour inscrire un vecteur dans une mémoire d'image (16) organisée en lignes et en colonnes, ledit vecteur étant défini par des coordonnées d'origine, une direction et une longueur, ledit processeur étant caractérisé en ce qu'il comprend :
- un registre d'adresse ligne (40) et un registre d'adresse colonne (42), lesdits registres comprenant des entrées de commande d'incrémentation et de décrémentation,
- un moyen de commande d'adresse (44) comprenant un registre d'octant (46) et un registre de direction (48), ledit moyen de commande d'adresse délivrant des signaux aux entrées de commande des registres d'adresse,
- un moyen de comptage (50),
- un moyen de cadencement (60) recevant du moyen de comptage un signal d'autorisation lorsque le contenu du moyen de comptage est différent d'une valeur prédéterminée et délivrant un signal de synchronisation de sortie des données desdits registres et moyens ; ledit signal de synchronisation n'étant actif qu'en présence du signal d'autorisation,
- un circuit d'interface (54) relié auxdits registres et moyens pour charger initialement les registres d'adresse avec les coordonnées de l'origine du vecteur, le registre d'octant avec l'octant de la direction du vecteur, le registre de direction avec la forme canonique du vecteur selon le code de ROTHMAN et le moyen de comptage avec la longueur du vecteur.
2. Processeur de tracé de vecteur selon la revendication 1, caractérisé en ce qu'il comprend un registre de données (52), ledit registre de données étant chargé initialement par le circuit d'interface avec l'état des points élémentaires formant le vecteur, la sortie dudit registre étant reliée à l'entrée de données de la mémoire d'image, le moyen de cadencement rythmant la sortie des données dudit registre.
3. Processeur de tracé de vecteur selon la revendication 2, caractérisé en ce que le registre de données (52) comprend en outre une entrée série reliée à la sortie de données de la mémoire d'image et une sortie parallèle reliée au circuit d'interface.
4. Processeur de tracé de vecteur selon l'une quelconque des revendications 2 et 3, pour une mémoire d'image (16) à n plans parallèles,où n est un entier, caractérisé en ce qu'il comprend n registres de données (52), chaque registre de données étant associé à un plan d'image.
5. Processeur de tracé de vecteur selon l'une quelconque des revendications 1 à 4, caractérisé en ce que le moyen de comptage (50) est un décompteur, ledit décompteur émettant le signal d'autorisation au moyen de cadencement tant que son contenu n'est pas nul.
6. Processeur de tracé de vecteur selon l'une quelconque des revendications 1 à 5, caractérisé en ce que le moyen de commande d'adresse comprend une matrice de transcodage (64) à quatre entrées et quatre sorties, les sorties étant reliées aux entrées de commande d'incrémentation et de décrémentation des registres d'adresse (40, 42), trois entrées étant reliées au registre d'octant (46) et la quatrième entrée au registre de direction (48).
EP85402370A 1984-12-11 1985-12-02 Processeur de tracé de vecteur Expired EP0187077B1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR8418896 1984-12-11
FR8418896A FR2574575B1 (fr) 1984-12-11 1984-12-11 Processeur de trace de vecteur

Publications (2)

Publication Number Publication Date
EP0187077A1 EP0187077A1 (fr) 1986-07-09
EP0187077B1 true EP0187077B1 (fr) 1989-11-08

Family

ID=9310462

Family Applications (1)

Application Number Title Priority Date Filing Date
EP85402370A Expired EP0187077B1 (fr) 1984-12-11 1985-12-02 Processeur de tracé de vecteur

Country Status (4)

Country Link
US (1) US4742343A (fr)
EP (1) EP0187077B1 (fr)
DE (1) DE3574190D1 (fr)
FR (1) FR2574575B1 (fr)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3620932A1 (de) * 1986-06-23 1988-01-07 Siemens Ag Anordnung zum verarbeiten von bilddaten
US4837563A (en) * 1987-02-12 1989-06-06 International Business Machine Corporation Graphics display system function circuit
US4878182A (en) * 1987-10-30 1989-10-31 International Business Machines Corporation Multiple pixel generator
US4884220A (en) * 1988-06-07 1989-11-28 Honeywell Inc. Address generator with variable scan patterns
WO1994016408A1 (fr) * 1993-01-06 1994-07-21 Palm Computing, Inc. Procede et appareil de correction d'ecriture a l'encre electronique

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1936051C3 (de) * 1969-07-16 1974-04-18 Dr.-Ing. Rudolf Hell Gmbh, 2300 Kiel Verfahren zur Aufzeichnung von Strichzeichnungen auf dem Bildschirm eines Elektronenstrahlrohres und Schaltungsanordnung zur Durchführung des Verfahrens
US3938130A (en) * 1972-02-23 1976-02-10 Hughes Aircraft Company Direction coded digital stroke generator providing a plurality of symbols
FR2426296A1 (fr) * 1978-05-18 1979-12-14 Thomson Csf Generateur de vecteurs pour console graphique
US4338673A (en) * 1978-12-05 1982-07-06 Compugraphic Corporation Phototypesetting system and method
US4384286A (en) * 1980-08-29 1983-05-17 General Signal Corp. High speed graphics
US4529978A (en) * 1980-10-27 1985-07-16 Digital Equipment Corporation Method and apparatus for generating graphic and textual images on a raster scan display
US4507656A (en) * 1982-09-13 1985-03-26 Rockwell International Corporation Character/vector controller for stroke written CRT displays
DE3379004D1 (en) * 1983-06-30 1989-02-23 Ibm Method of storing characters in a display system

Also Published As

Publication number Publication date
EP0187077A1 (fr) 1986-07-09
FR2574575A1 (fr) 1986-06-13
US4742343A (en) 1988-05-03
DE3574190D1 (en) 1989-12-14
FR2574575B1 (fr) 1987-02-06

Similar Documents

Publication Publication Date Title
US5572335A (en) Method and system for transferring image data between two devices having different bandwidths
EP0528739B1 (fr) Prédicteur d'image
FR2544898A1 (fr) Dispositif d'affichage video sur ecran d'affichage par balayage d'une trame ligne par ligne et point par point
EP0202166B1 (fr) Circuit de mémoire d'image virtuelle permettant le multifenêtrage
FR2633426A1 (fr) Procede et dispositif de commande de visualisation en couleur
FR2539528A1 (fr) Systeme a microprocesseur comportant deux processeurs
FR2661019A1 (fr) Livre ecran portatif.
FR2579794A1 (fr) Procede d'insertion et medaillons dans l'image fournie par un transformateur numerique d'images et transformateur numerique d'images mettant en oeuvre ce procede
EP1402371A1 (fr) Procede et systeme d'exportation de donnees associees a des entites geometriques bidimensionnelles ou tridimensionnelles
EP0515238B1 (fr) Dispositif et méthode pour la gestion de plusieurs files d'attente indépendantes dans un espace mémoire commun et banalisé
EP0187077A1 (fr) Processeur de tracé de vecteur
CA1315005C (fr) Generateur d'adresses a diagrammes de balayage variables
EP0440301A1 (fr) Procédé de stockage en mémoire pour le traitement d'images, et dispositif pour la mise en oeuvre du procédé
EP0908828B1 (fr) Procédé et système contrôle d'accès partagés à une mémoire vive
FR2596890A1 (fr) Systeme de traitement de l'information avec comparaison anticipee de la programmation
FR2665542A1 (fr) Procede de mise en óoeuvre d'une memoire tampon permettant de produire un schema de declenchement et appareil de memorisation tampon associe.
EP0098667B1 (fr) Dispositif de mémoire à inscription contrôlée destiné notamment à coopérer avec une unité de visualisation d'images radar
BE1001069A3 (fr) Systeme d'affichage a balayage de trame avec generateur de caracteres a memoire a acces aleatoire.
EP0391755A2 (fr) Système de visualisation d'images
FR2676319A1 (fr) Procede et dispositif de selection d'informations utilisables par une unite locale reliee a un systeme de transmission numerique.
JPS6362083A (ja) 射影デ−タ生成方式
FR2752964A1 (fr) Systeme et procede de traitement d'image simple dans lesquels un temps systeme non souhaite est impossible
JP2753349B2 (ja) 任意角回転画像データ入出力方法及びその入出力回路並びにこれらを用いた電子ファイル装置
FR3166236A1 (fr) Traitement de données de réalité immersive pour une rémanence temporelle
FR2637144A1 (fr) Procede et dispositif de reconnaissance de forme pour des images binarisees

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

Kind code of ref document: A1

Designated state(s): DE GB

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: OIDONNELL, CIARAN

17P Request for examination filed

Effective date: 19861211

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: O'DONNELL, CIARAN

17Q First examination report despatched

Effective date: 19890110

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: 3574190

Country of ref document: DE

Date of ref document: 19891214

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
PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 19911122

Year of fee payment: 7

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 19911129

Year of fee payment: 7

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Effective date: 19921202

GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 19921202

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DE

Effective date: 19930901