Brevet FR2615980A1 — publié le 19881202

La présente invention concerne les procédés et les dispositifs pour produire des images sur un tube cathodique ou sur d'autres organes d'affichage. Plus précisément, la présente invention concerne les procédés et les appareils pour restituer de façon précise les courbes d'ordre élevé et les surfaces, vecteurs ou objets courbes sur un tube cathodique ou autre organe d'affichage. Dans de nombreux systèmes informatiques, il est très courant de présenter et de transmettre des informations à un utilisateur par l'intermédiaire d'images numériques. Ces images peuvent prendre des formes très variées, par exemple des caractères alphanumériques, des courbes cartésiennes ou d'autres représentations sous forme d'images. Dans de nombreuses applications, les images numériques sont transmises à l'utilisateur sur un organe d'affichage tel qu'un moniteur vidéo à balayage de trame, une imprimante ou un périphérique analogue. Typiquement, les images à afficher sont mémorisées sous forme numérique, manipulées puis affichées. Les courbes paramétriques et les surfaces courbes sont des fonctions couramment utilisées dans la représentation de surfaces et d'objets par ordinateur sur un organe d'affichage, comme par exemple dans les applications de conception assistée par ordinateur (CAO) dans le domaine de la mécanique. Du fait que, dans l'art antérieur, on connait des matériels à grande vitesse capables de restituer des vecteurs et des polygones, la restitution à grande vitesse de lignes courbes et de surfaces courbes est généralement effectuée en les subdivisant et en les restituant sur un tube cathodique sous la forme d'une pluralité de segments de ligne ou de polygones plans (pour une étude plus approfondie des procédés de l'art antérieur permettant de restituer des courbes et/ou des surfaces, voir l'article de G. Bishop et D. Weimer intitulé Fast Phong Shading pages 103 à 106 de Computer Graphics, vol. 20, n 4, d'août 1986, l'ouvrage de J. D. Fowler et A. Van Dam intitulé Fundamentals of Interactive Computer Graphics, publié chez Addison Wesley à Reading, Massachussetts, l'article de H. Gouraud intitulé Continuous Shading of Curved Surfaces, pages 623 à 628 de IEEE Transactions on Computers, vol. 20, n 6, et l'article de R. Swandon et L. Thayer intitulé A Fast ShadedPolygon Renderer pages 95 à 101 de Computer Graphics, vol. 20, n 4, d'août 1986). Cependant, en ce qui concerne la restitution des courbes et des surfaces d'ordre élevé, les systèmes de l'art antérieur utilisent des procédés récursifs de subdivision qui sont coûteux à mettre en oeuvre en termes de matériel informatique, en raison des besoins élevés en piles mémoires à grande vitesse. La présente invention utilise une technique d'avance différentielle adaptative qui résoud les problèmes de l'art antérieur, tout en ne nécessitant que des circuits relativement simples et peu coûteux en utilisant une avance différentielle ordinaire (avance le long d'une courbe ou d'une surface paramétrique par incréments paramétriques constants), et en utilisant également un nouveau procédé adaptatif supérieur aux procédés de subdivision adaptative de l'art antérieur, dans lesquels on divisait de façon récursive l'objet jusqu'à ce que les éléments résultants deviennent plus petits qu'un pixel. La présente invention adapte l'incrément du paramètre différentiel d'avance de manière à avancer le long de la courbe ou de la surface avec une dimension de pas (c'est-à-dire la distance entre la position du pixel précédement dessiné et la position du pixel courant sur la courbe ou la surface que l'on est en train de restituer) qui soit approximativement égale à la distance entre deux pixels adjacents (que l'on appelera ici "incrément simple" ou "incrément d'un pixel"). Cette adaptation est exécutée en transformant l'équation de la courbe en celle d'une courbe identique mais avec une paramétrisation différente, de manière à augmenter ou diminuer la dimension du pas de telle sorte que la courbe avance d'un pixel au suivant par incréments sensiblement uniformes. L'avance différentielle adaptative diffère des procédés de restitution des courbes de l'art antérieur par subdivision récursive par le fait qu'il ne nécessite pas de manipulation de circuits complexes de piles mémoires comme dans l'art antérieur, et donc qu'il est plus simple et plus efficace. En outre, la restitution de la courbe, de la surface courbe ou de l'objet que permet la présente invention est plus précise qu'elle aurait été autrement, si elle avait été restituée par le procédé d'avance différentielle ordinaire de l'art antérieur avec approximation par éléments, par segments de ligne ou par polygones plans. La présente invention pallie les obstacles et les inconvénients de l'art antérieur au moyen d'un dispositif d'avance différentielle adaptative permettant de restituer une courbe sur un organe d'affichage (tel qu'un tube cathodique) en activant des éléments d'affichage définissant la courbe. Le dispositif de la présente invention comprend des moyens pour recevoir une pluralité de points de données représentatifs des éléments d'affichage qui définissent les images, et des moyens pour restituer de façon incrémentale la courbe par pas sensiblement uniformes d'un simple pixel. Les moyens pour restituer de façon incrémentale l'image par pas sensiblement uniformes d'un simple pixel comprennent des circuits formant unités d'avance différentielle adaptative X, Y, Z et W pour calculer les valeurs x, y, z et w pour un point ayant des coordonnées homogènes. Le circuit d'avance différentielle adaptative W est relié à un circuit 1/w qui produit la valeur 1/w inverse de la coordonnée homogène w. La valeur de sortie du circuit 1/w est multipliée par les coordonnées x, y et z pour donner les cubiques rationnelles x/w, y/w, y/w et z/w. Les circuits d'avance différentielle adaptative sont également reliés à un circuit de filtrage des pixels qui, en combinaison avec les circuits d'avance différentielle adaptative, met en oeuvre la technique d'avance différentielle adaptative de la présente invention en reparamétrisant les fonctions cubiques x, y, z et w de manière à générer une courbe par incréments sensiblement uniformes ayant la dimension d'un pixel. Le circuit de filtrage des pixels de la présente invention compare la position du pixel courant à la position du pixel précédent calculée par les circuits d'avance différentielle adaptative et, si la position x, y du pixel courant des moyens d'affichage se trouve à plus d'un incrément de pixel de la position x,y du pixel précédemment définie, il donne l'ordre aux circuits d'avance différentielle adaptative X, Y, Z et W de réduire la taille du pas de la courbe que l'on est en train de restituer. De la même façon, si les incréments x et y calculés de la courbe que l'on est en train de restituer sont inférieurs à une fraction prédéterminée (par exemple 0,5 pixel), le circuit de filtrage des pixels donne l'ordre aux circuits d'avance différentielle adaptative X, Y, Z et W d'augmenter la taille du pas de la courbe que l'on est en train de restituer. Lorsque l'on restitue des vecteurs, le circuit d'avance différentielle adaptative de la présente invention met en oeuvre l'algorithme de Bresenham en utilisant une grande part des composants de circuit déjà utilisés par le procédé d'avance différentielle adaptative. La présente invention propose également des moyens pour définir des régions de cadrage sur un afficheur à tube cathodique, des moyens permettant l'imagerie cartographique sur des surfaces courbes et sur des courbes, et des moyens pour ombrer et pour tronquer des surfaces courbes. D'autres caractéristiques et avantages apparaîtront à la lecture de la description ci-dessous, faite en référence aux dessins annexés sur lesquels: - la figure 1 illustre un diagramme général par blocs de la présente invention, - la figure 2 es un diagramme par blocs du circuit 1/w de la figure 1, - la figure 3 est un diagramme éclaté par blocs du circuit d'avance différentielle adaptative X de la figure 1, - la figure 4 illustre une partie du circuit représenté à la figure 3 utilisé pour restituer des vecteurs, - la figure 5 est un organigramme illustrant une séquence d'opérations du circuit de la figure 4, - les figures 6 et 6a illustrent un aspect de la présente invention concernant l'activation de pixels sur un afficheur, et - la figure 7 est une vue éclatée du circuit de filtrage des pixels de la figure 1. La présente invention décrit des procédés et des dispositifs pouvant être utilisés en particulier dans un système informatique servant à l'affichage graphique d'images. Bien que la présente invention soit décrite en référence à des circuits, des schémas par blocs, des signaux, des algorithmes, etc. particuliers, l'homme du métier comprendra que de tels détails ne sont indiqués que pour permettre une meilleure compréhension de la présente invention. Il sera donc clair, pour l'homme de l'art, que la présente invention peut être mise en oeuvre sans ces détails spécifiques. Inversement, on a représenté sous forme de schémas par blocs des circuits bien connus de manière à ne pas alourdir inutilement la description de la présente invention. Sur la figure 1, on a représenté un schéma général par blocs de la présente invention. Pour définir des images sur un afficheur à tube cathodique ou sur un autre organe d'affichage, il est nécessaire de manipuler des données à grande vitesse afin de sélectionner les pixels d'un afficheur à tube cathodique qui définissent la courbe, la surface courbe, le vecteur ou l'image que l'on souhaite afficher. Il est bien connu dans la technique que ia position de chaque point à afficher sur un tube cathodique est souvent représentée par des valeurs numériques mémorisées dans une mémoire et correspondant à des coordonnées homogènes x, y, z et w. Les coefficients des équations décrivant les courbes à restituer par le circuit de la figure 1 sont calculées et délivrées par une unité centrale de traitement 9 et sont transmis aux circuits d'avance différentielle adaptative W, X, Y et Z référencés respectivement 10, 12, 14 et 16, qui, en réponse, délivrent respectivement en sortie les coordonnées x, y, w et z pour chaque pixel à dessiner sur l'afficheur. La coordonnée w délivrée en sortie par le circuit d'avance différentielle adaptative W 10 est relié au circuit 1/w 18 qui, à son tour, délivre en sortie la valeur courante de 1/w. Les coordonnées x, y et z sont divisées par la coordonnée homogène w (c'est-à-dire multipliées par la valeur courante 1/w afin d'obtenir le rapport de deux fonctions cubiques), par le circuit 1/w 18 et par les trois multiplieurs 20, 22 et 24. Plus précisément, le circuit d'avance différentielle adaptative X 12 délivre en sortie la coordonnée X courante à un multiplieur 20, o elle est multipliée par la valeur correspondante 1/w délivrée par le circuit 1/w 18, ce qui permet de délivrer une valeur x/w courante au circuit de filtrage des pixels 30. De façon semblable, on délivre y/w et z/w au circuit de filtrage des pixels 30, respectivement par les circuits d'avance différentielle adaptative W, Y et Z 10, 14 et 16, le circuit 1/w 18 et les multiplieurs 22 et 24. De cette manière, les coordonnées x, y et z des fonctions cubiques rationnelles sont délivrées en entrée au circuit de filtrage des pixels 30 et utilisées pour sélectionner les pixels définissant les images des fonctions cubiques rationnelles sur un tube cathodique. Le circuit de filtrage des pixels 30 de la figure 1 compare les coordonnées de pixels x, y et z courantes, qui lui sont appliquées par les multiplieurs 20, 22 et 24, aux coordonnées de pixel x, y et z qui avaient été appliquées au circuit de filtrage des pixels 30 un cycle d'horloge auparavant, et donne l'ordre aux circuits d'avance différentielle adaptative W, X, Y et Z de "s'ajuster en plus grand" (c'est-à-dire de faire avancer la courbe ou la surface courbe par incréments plus grands) en multipliant le paramètre t par deux ou de "s'ajuster en plus petit" (c'est-à-dire de faire avancer la courbe ou la surface courbe par incréments plus faibles) en divisant le paramètre t par deux, ou bien de "faire un pas en avant" jusqu'au pixel suivant, de sorte que les coordonnées x, y et z délivrées en sortie par le circuit de filtrage des pixels 30 avancent sensiblement par incrément d'un pixel sur la courbe que l'on affiche sur le tube cathodique. La technique d'ajustement sera décrite plus en détail ultérieurement. Le circuit de filtrage des pixels 30 détecte également et remplace les "coudes" (dans le cas o une portion de courbe a, par exemple, les coordonnées (xo,yo), (xo,yl) et (xl,yi) (voir figure 6), on la remplace par une portion de courbe ayant les coordonnées (xo,yo) et (xi,yl) (voir figure 6a)). On effectue ceci pour améliorer l'aspect de la courbe restituée en éliminant le pixel se trouvant sur l'angle (c'est-à-dire le pixel (x0,yl) représenté sur la figure 6). Le circuit de filtrage des pixels 30 est relié, par ses sorties 33, 35 et 37, à un tampon de trame (non représenté) qui, à son tour, est relié à un afficheur à tube cathodique (également non représenté) ou tout autre organe afficheur approprié, de façon à définir des images en activant ou en inscrivant une valeur de couleur à l'endroit des pixels définis par les coordonnées de pixel délivrées par le circuit de filtrage des pixels 30 sur ses sorties 33, 35 et 37. La sortie de longueur d'arc 31 du circuit de filtrage des pixels 30 est reliée à un circuit "illustrateur" (non représentée) qui "illustre" les pixels en fonction de la valeur de longueur d'arc délivrée en sortie par le circuit de filtrage des pixels 30 sur sa sortie 31. La valeur de longueur d'arc est utilisée pour dessiner des lignes et des surfaces avec un certaine texture (en trait interrompu, en pointillés, etc.). Le dessin de lignes et de surface ayant une certaine texture ne constitue cependant pas une partie essentielle de la présente invention, et il ne sera pas nécessaire d'en donner une description plus détaillée. Sur la figure 2, on a représenté une vue éclatée du circuit 1/w 18 de la figure 1. Le circuit 1/w 18 de la figure 1 est un perfectionnement par rapport au circuit de l'art antérieur permettant d'obtenir l'inverse de w, du fait que le circuit 1/w 18 de la présente invention permet d'obtenir plus rapidement l'inverse de w, avec une charge de calcul moins lourde et un temps.de latence plus faible que dans le cas des circuits comparables de l'art antérieur. Les circuits 1/w de l'art antérieur utilisent typiquement un algorithme d'itération de Newton utilisant une simple table de correspondance pour l'approximation initiale de l'inverse de w. Ces procédés de l'art antérieur nécessitent un multiplieur important et ont besoin de plusieurs cycles d'horloge pour donner un résultat. A l'opposé, la présente invention n'a besoin que d'un seul cycle d'horloge pour le calcul d'itération, ce qui diminue de façon importante le temps de latence par rapport aux procédés de l'art antérieur (pour une description plus complète des procédés de l'art antérieur permettant la division par inversion du diviseur, on se référera à Computer Arithmetic de Kai Wang, pages 259 à 264, publié chez John Wiley & Sons, à New York, NY en 1979. Pour obtenir les résultats meilleurs que l'on vient d'indiquer, la présente invention utilise une approximation en série de Taylor tronquée utilisant deux tables de correspondance 76 et 78 de petite taille (c'est-à-dire que, dans le mode de réalisation préféré, la table 76 possède 8 K rubriques et une sortie sur 20 bits, tandis que la table 78 possède une sortie sur 8 bits), ainsi que des circuits de calcul réduits pour la mise en oeuvre de ces calculs afin d'obtenir une approximation de l/w sans recourir aux calculs coûteux et lents dont on avait-besoin dans l'art antérieur. Comme cela est bien connu dans la technique, on utilise l'approximation en série de Taylor pour obtenir l'inverse de la coordonnée homogène w. L'approximation en série de Taylor donne: l/w = (l/wo) [1 - d/wo + (d/wo) 2 - (d/wo)3 + (d/wo)4 - (d/wo)5...] o wo représente une quantité prédéterminée des bits de poids le plus fort de la valeur w et d représente une quantité prédéterminée des bits de poids le plus faible de la valeur w. On a trouvé que, en tronquant l'approximation en série de Taylor énoncée plus haut de manière à ne conserver que les deux premiers termes de celleci (c'est à dire l/wo - d(1/wo)2), on peut restituer une valeur 1/w qui est suffisamment précise lorsque l'on souhaite obtenir les fonctions cubiques rationnelles x/w, y/w et z/w pour une utilisation dans la restitution d'images. Dans le mode de réalisation préféré de la présente invention, la valeur w délivrée en sortie par le circuit d'avance différentielle adaptative W 10 comporte 21 bits. Les treize bits de poids le plus fort (appelés ici "wo") de cette valeur sur 21 bits sont appliqués aux tables de correspondance 76 et 78. La table de correspondance 78 délivre au registre 80 l'inverse l/wo de la valeur sur treize bits qui lui a été appliquée en entrée,. De la même façon, la table de correspondance 78 délivre en sortie au registre 82 une valeur (l/wo)2 correspondant aux treize bits de poids le plus fort qui lui ont été appliqués. Les huit bits de poids le plus faible de la valeur W sur 21 bits sont appliqués à un registre à retard 84 à huit bits, qui a simplement pour effet de retarder les huit bits de poids le plus faible pendant une durée suffisante pour permettre la délivrance de (l/wo)2 par le registre 82, de manière que le multiplieur 87 puisse multiplier les huit bits de poids le plus faible (appelés ici "d") par le contenu du registre 82, de manière que le multiplieur 87 délivre d(1/wo)2 au soustracteur 89, o d(1/wo)2 est soustrait de l/wo de manière à donner dans le registre 90 la valeur 1/wo - d(1/wC)2. Comme on l'a indiqué, 1/wo - d(1/wo)2 = 1/w. Le registre 90, à son tour, délivre en sortie aux multiplieurs 20, 22 et 24 la valeur l/w, comme décrit précédement à propos de la figure 1. Les retards 13, 11 et 15 sont prévus de manière à être sûr que les coordonnées x, y et z délivrées, respectivement, par les circuits d'avance différentielle adaptative X, Y et Z 12, 14 et 16 arrivent aux multiplieurs 20, 22 et 24 pratiquement en même temps que la valeur correspondante calculée 1/w délivrée en sortie du registre 90. Le multiplieur 87 est un multiplieur huit bits par huit bits. (1/wo)2 et d sont des termes sur huit bits et sont donc transmis au soustracteur 89 et donc au registre 90 en un seul cycle d'horloge. On a constaté que, dans l'approximation de 1/w précitée, l'erreur est supérieure lorsque wo est faible et d est important (en supposant que w est toujours positif). Plus précisément, sur l'intervalle de valeurs de w comprises entre 0,25 et 1,0, l'erreur est supérieure lorsque w vaut 0,25 et lorsque d vaut sa valeur maximale. On peut réduire l'erreur que l'on a rencontrée dans le calcul d'une approximation de 1/w en mémorisant certaines valeurs qui sont décrites par les équations suivantes dans les tables de correspondance 76 et 78. Ces valeurs sont les suivantes: - pour la table de correspondance 76: l/wo [0,5/(w0+dmax) + 0,5/wo - [wo(wo+dmax)]2 (-1/2)]; et - pour la table de correspondance 78: (1/(w0+dmax) - l/wo) / [(wo+dmax) - wo = - 1/wo (w0+dmax) o dmax est la différence entre une valeur de wo et la valeur supérieure suivante de wo. En outre, comme il n'est pas souhaitable de calculer 1/w pour des valeurs de w o les deux bits de poids le plus fort sont '00', on n'utilise pas une partie de la capacité mémoire de chaque table de correspondance. De la même façon, en pratique, on a constaté que l'erreur sera supérieure lorsque les deux bits de poids le plus fort sont '01'. Lorsque le bit de poids le plus fort de w vaut '1', on utilise la première méthode décrite pour obtenir une approximation de 1/w. Inversement, lorsque les deux bits de poids le plus fort de w sont '01', l'adresse que l'on envoie aux deux tables de correspondance est la concaténation du bit de poids le plus fort de w et du troisième au quatorzième bits de poids le plus fort de w. Dans le dernier cas, on utilise pour d les sept bits de poids le plus faible de w. Cette technique diminue de moitié l'intervalle couvert par une rubrique de la table de correspondance lorsque les deux bits de poids le plus fort de w valent '01'. On notera que, du fait que l'on réduit la taille maximale de d, on réduit également l'erreur d'approximation. De la description qui précède, on comprendra que, en utilisant les deux tables de correspondance 76 et 78 qui fournissent, respectivement, 1/wo et (1/wo)2 et en calculant ces valeurs pour obtenir 1/w de la manière décrite précédemment, la présente invention évite les calculs produisant des temps de latence longs, qui étaient précédemment nécessaires dans les systèmes de l'art antérieur que l'on a évoqués plus haut, augmentant ainsi la vitesse à laquelle on obtient 1/w. Dans le mode de réalisation préféré du circuit 1/w, le circuit 18 produit une valeur 1/w qui possède 20 bits significatifs, mais on notera que l'on peut utiliser un nombre plus élevé ou plus faible de bits dès lors que les valeurs mémorisées dans les tables de correspondance employées sont ajustées en conséquence. Sur la figure 3, on a représenté une vue éclatée du circuit d'avance différentielle adaptative X 12 de la figure 1. Les circuits d'avance différentielle adaptative Y, Z et W 14, 16 et 10 ont une circuiterie identique à celle du circuit d'avance différentielle adaptative X 12 de sorte que, si l'on décrit complètement le circuit d'avance différentielle adaptative X 12, on connaîtra complètement la structure des circuits et le fonctionnement des circuits d'avance différentielle adaptative Y, Z et W 10, 14 et 16. Chaque circuit d'avance différentielle adaptative calcule une fonction cubique paramétrique f(t) représenté par: (1) f(t) = aB3(t) + bB2(t) + cBl(t) + dBo(t). Pour chaque coordonnée x, y, z et w, la fonction cubique paramétrique f est: x(t) = axB3 + bxB2 + cxBi + dxBo y(t) = ayB3 + byB2 + cyBi + dyB0 z(t) = azB3 + bzB2 + czBi + dzBo w(t) = awB3 + bwB2 + cwBi + dwBo Les fonctions B3(t), B2(t), Bi(t) et Bo(t) ci-dessus sont des fonctions basées sur une avance différentielle, qui diffèrent l'une de l'autre lorsque t varie de 0 à 1 le long d'une courbe. La dimension dt du pas pour t est automatiquement ajustée de - sorte que la courbe soit incrémentée par pas d'un pixel environ, comme on l'expliquera plus bas. Les quatre fonctions B3, B2, B1 et Bo basées sur l'avance différentielle adaptative sont données par: (2) B3(t) = [t3-3t2+ 2t] / 6 (3) B2(t) = [t2-t] / 2 (4) Bl(t) = t (5) Bo(t) = 1 Les fonctions cubiques x(t), y(t), z(t) et w(t) ci-dessus sont calculées séparement par chaque circuit d'avance différentielle adaptative. Les quatre coefficients a, b, c et d qui décrivent une courbe cubique sont chargés par l'unité centrale de traitement 9, lors de l'initialisation, dans les quatre registres de coefficient 34, 50, 62 et 72 de chaque circuit d'avance différentielle adaptative. A chaque cycle d'horloge, le paramètre t augmente de dt et les quatre coefficients sont mis à jour à des valeurs a', b', c' et d', tandis que les quatre circuits d'avance différentielle adaptative 10, 12, 14 et 16 produisent sur l'afficheur à tube cathodique les coordonnées qui correspondent à un pixel particulier. Si les coordonnées x, y courantes calculées par les circuits d'avance différentielle adaptative X et Y 12 et 14 définissent sur l'afficheur à tube cathodique une position de pixel qui se trouve éloignée du pixel précédemment défini de plus d'un incrément de pixel simple, le circuit de filtrage des pixels 30 donne alors l'ordre à chaque circuit d'avance différentielle adaptative de diviser dt par deux (ajustement en plus petit), diminuant ainsi les incréments x, y de sorte que, à chaque cycle d'horloge, chaque circuit d'avance différentielle adaptative délivre en sortie des coordonnées qui définissent des pixels le long de la courbe avec des incréments ayant sensiblement la valeur d'un pixel. De façon semblable, si le pas d'adresse x, y se trouve un incrément de moins d'un demi-pixel du pixel précédemment défini, on double alors dt (ajustement au plus grand) pour augmenter la variation des coordonnées x, y de sorte que l'on incrémente à nouveau sensiblement un pas d'un pixel à chaque cycle d'horloge. Pour réduire de moitié dt, on transforme les fonctions cubiques x(t), y(t), z(t), et w(t) de la manière suivante: x' (t) = x(t/2) = ax'B3 + bx'B2 + Cx'Bi + dx'Bo y' (t) = y(t/2) = ay'B3 + by'B2 + cy'Bi + dy'Bo z' (t) = z(t/2) = az'B3 + bz'B2 + cz'B1 + dz'BO w' (t) = w(t/2) = aw'B3 + bw'B2 + cw'B1 + dw'Bo Les coefficients du jeu de fonctions cubiques transformées sont donnés par: a' = a/8 b' = b/4 - a/8 c' = c/2 - b/8 + a/16 d' = d Pour doubler dt, on transforme les fonctions cubiques de coordonnées en x' (t) = x(2t) y' (t) = y(2t) z'(t) = z(2t) w' (t) = w(2t) Dans le cas o l'on double dt, la présente invention utilise la transformation de coefficients suivantes: a' = 8a b' = 4b+4a c' = 2c+b d' = d Si la dimension courante du pas qu'utilisent les circuits d'avance différentielle adaptative est correcte (c'est-à-dire si elle vaut sensiblement un incrément d'un pixel), les circuits d'avance différentielle adaptative produisent alors des coordonnées correspondant à un nouveau pixel et font un pas en avant jusqu'à ce pixel, en calculant la transformation suivante: x'(t) = x(t+1) y' (t) = y(t+l) z'(t) = z(t+l) w' (t) = w(t+1) La transformation des coefficients correspondante pour un incrément d'un pixel est la suivante: a' = a b' = b+a c' = c+b d' = d Si l'on revient à la figure 3, pour effectuer les transformations précitées (ajustement en plus grand, ajustement en plus petit ou pas en avant), le circuit de filtrage des pixels 30 envoie des signaux de commande aux multiplexeurs 32, 44, 46, 54, 56 et 70 afin de sélectionner une entrée appropriée dans les additionneurs/soustracteurs respectifs 45, 58 et 66. Ces multiplexeurs sélectionnent pour les coefficient a', b', c' et d' les valeurs transformées appropriées. Comme indiqué, les valeurs a, b, c et d sont chargées initialement par l'unité centrale de traitement 9 dans les registres 34, 50, 62 et 72. Les nouvelles valeurs de coefficient correspondant à la position souhaitée du pixel sont mises à jour et chargées dans les registres 34, 50, 62 et 72 à chaque cycle d'horloge, calculant ainsi de façon incrémentale la fonction paramétrique x(t) = axB3 + bxB2 + cxBl + dxBo. Si les coordonnées x, y et w délivrées en sortie par les circuits d'avance différentielle adaptative 12, 10 et 14 correspondent à une position de pixel se trouvant à plus d'un incrément d'un pixel du pixel précédemment défini, on sélectionne pour les coefficients a'; b', c' et d' les valeurs a' = a/8, b' = b/4-a/8, c' = c/2-b/8+a/16 et d' = d. L'entrée 8a du multiplexeur 32 est câblée avec un décalage à gauche de trois bits pour donner la valeur 8a utilisable dans les équations précédemment données. De la même façon, l'entrée a/8 est décalée à droite de trois bits pour donner la valeur a/8. En général, la division ou la multiplication par une puissance entière de deux est réalisée par un décalage câblé à droite ou à gauche. Lescoefficients pour une opération d'ajustement en plus petit sont obtenus en deux cycles d'horloge de la manière suivante: au premier cycle d'horloge, le circuit de filtrage des pixels 30 applique sur le bus 51 des signaux de commande qui font en sorte que le multiplexeur 32 sélectionne A/8, le multiplexeur 4 sélectionne A/8, le multiplexeur 46 sélectionne B/4, le multiplexeur 56 sélectionne 0 et le multiplexeur 54 sélectionne C/2. A la fin de ce cycle d'horloge, on a A' = A/8, B' = B/4- A/8 et C' = C/2. Au cours du second cycle, le circuit de filtrage des pixels 30 applique sur le bus 51 des signaux de commande qui font en sorte que le multiplexeur 32 sélectionne a, le multiplexeur 56 sélectionne B/2, et le multiplexeur 54 sélectionne c. A la fin de ce cycle d'horloge, le résultat des opérations des deux cycles d'horloge est A' = A/8, B' = B/4-A/8 et C' = C/2-(B/4-A/8)/2. Les additionneurs/soustracteurs 45 et 58, ainsi que l'additionneur 66, sont commandés par le circuit de filtrage des pixels 30 de manière à exécuter les opérations d'addition ou de soustraction nécessaires aux transformations précitées. De la même façon, comme décrit précédemment, lorsqu'un incrément de pixel calculé par le circuit d'avance différentielle adaptative X 12 est inférieur à la moitié d'un pas de pixel, les coefficients a, b, c et d sont transformés en: a' = 8a, b' = 4b+4a, c' = 2c+b et d' = d. Pour exécuter qes transformations, on applique depuis le circuit de filtrage des pixels 30 des signaux de commande appropriés aux multiplexeurs 32, 44, 46, 54, 56 et 70, de manière à faire - passer, lors de la commande d'horloge, les valeurs 8a, 4a, 4b et 2c dans les registres correspondants reliés aux additionneurs/soustracteurs 45, 58 et 66. Au contraire, si le circuit d'avance différentielle adaptative calcule un incrément x compris entre 0,5' et 1 et un incrément y compris entre 0,5 et 1, on sélectionne alors les coefficients a, b, c et d par les multiplexeurs 32, 44, 46, 54, 56 et 70 par des signaux de commande appropriés appliqués par le circuit de filtrage des pixels 30 de manière à mettre à jour le registre 50 à la valeur b' = b+a, le registre 62 à la valeur c' = c+b, le registre d 72 à la valeur d' = d+c, le registre 34 restant inchangé. On notera que le circuit de filtrage des pixels n'utilise que les valeurs en sortie des circuits d'avance différentielle adaptative X, Y et W pour commander l'ajustement des quatre circuits d'avance différentielle 1.6 adaptative, car les coordonnées x/w et y/w définissent suffisamment la position du pixel. De la sorte, les circuits d'avance différentielle adaptative 10, 12 et 14, en coopération avec le circuit 1/w 18, les multiplieurs 20, 22, 24 et le circuit de filtrage des pixels 30, permettent de s'assurer que les courbes restituées sont incrémentées d'une valeur d'incrément sensiblement égale à un pixel. Les mémoires tampon 48, 60 et 68 sont utilisées pour mémoriser une séquence des N dernières valeurs b, c et d, respectivement, de sorte que l'on utilise, associées au signal de commande du circuit de filtrage des pixels 30, les valeurs correctement retardées de la coordonnée b. Ceci est nécessaire du fait que le circuit de filtrage des pixels 30 prend des décisions de commande plusieurs cycles d'horloge après que le circuit d'avance différentielle adaptative ait produit les adresses de pixels. Les mémoires tampon 48, 60 et 68 mémorisent une séquence de valeurs telles que l'on utilise pour calculer b' la valeur b ayant un retard égal au nombre de cycles d'horloge entre le circuit d'avance différentielle adaptative et le circuit de filtrage des pixels. On n'a pas besoin de mémoire tampon pour le registre 14, car a ne varie pas au cours d'une opération d'avance différentielle adaptative d'un pas en avant. On va maintenant décrire un autre aspect important de la présente invention. Un problème critique qui, de façon typique, survient dans les procédés de restitution des courbes par avance différentielle de l'art antérieur est le débordement ou surcharge des registres utilisés pour mémoriser la valeur entière des valeurs de coefficient de la fonction cubique paramétrique utilisée pour calculer la courbe. Bien entendu, si un registre utilisé pour la mémorisation d'un coefficient atteint sa capacité maximale et déborde, un calcul exact de la fonction cubique paramétrique deviendra impossible. La présente invention propose un procédé et un dispositif sans équivalents pour empêcher la survenance d'un tel débordement, permettant ainsi une mise en oeuvre exacte et continue de la fonction cubique paramétrique permettant de restituer la courbe. On va donner ci-dessous une description de cet aspect de la présente invention. Dans le présent mode de réalisation, les registres 34 et 50 de la figure 3 ont une capacité de mémorisation de la valeur entière sur trois bits que, pour la commodité, on désignera respectivement par al,a2, a3 et bl,b2,b3. ai et bi sont les bits de poids le plus fort de l'entier. Le bits de poids le plus fort de la partie fractionnaire du registre 34 sera désignée par a4. Comme, lors d'un pas en avant, le registre 62 cumule le contenu du registre 50, il a, dans le mode de réalisation préféré, une capacité de mémorisation de la valeur entière supérieure à trois bits. Le bit de poids le plus fort de la valeur entière du registre 62 est désigné par ci. Les registres 34, 50 et 62 sont reliés à un circuit de commande 92 sur figure 7 (on donnera ultérieurement une description détaillée du fonctionnement du circuit de filtrage des pixels 30 et du circuit de commande 92 illustré sur la figure 7) situé à l'intérieur du circuit de filtrage des pixels 30, et délivrent en sortie à celui-ci des bits qui indiquent au circuit de commande 92 que la capacité de mémorisation de la valeur entière des registres 34, 50 et/ou 62 arrive au débordement ou pourrait y arriver au calcul suivant. On va donner ci-dessous la liste des conditions pour lesquelles les registres 34 et 50 envoient un bit (désigné ici "bit d'avertissement") qui avertit le circuit de commande 92 du circuit de filtrage des pixels 30 que le prochain ajustement en plus grand aurait pour résultat un débordement de la capacité de mémorisation de la valeur entière des registres 34 et 50. On délivre un bit d'avertissement si: ai * du bit de signe (sb) du registre 34, ou si a2 * du bit de signe du registre 34, ou si a3 * du bit de signe du registre 34, ou si a4 * du bit de signe du registre 34, ou si bi * du bit de signe du registre 50, ou si b2 * du bit de signe du registre 50, ou si b3 * du bit de signe du registre 50. Le circuit de filtrage des pixels 30 envoie, comme on l'a indiqué, des signaux de commande aux multiplexeurs 32, 44, 46, 54 et 70, qui donnent l'ordre à chaque circuit d'avance différentielle adaptative d'effectuer un ajustement en plus grand, d'effectuer un ajustement en plus petit ou de faire un pas en avant jusqu'au pixel suivant. Lorsqu'un bit d'avertissement est délivré au circuit de commande 92 du circuit de filtrage des pixels 30, le circuit de filtrage des pixels 30 donne l'ordre à chaque circuit d'avance différentielle adaptative de faire un pas en avant vers le pixel suivant (au lieu de faire un ajustement en plus grand) lorsque les calculs effectués par le circuit de filtrage des pixels 30 indiquent qu'il y a lieu de faire un ajustement en plus grand. L'ajustement en plus petit et les pas en avant ne sont pas affectés par la délivrance des bits d'avertissement. Le fait de donner l'ordre à chaque circuit d'avance différentielle adaptative de faire un pas en avant ne provoque pas le débordement des registres 34 et 50, car un pas en avant n'a pas besoin d'une multiplication par huit du terme de coefficient "a" ou d'une multiplication par quatre du terme "b". On empêche ainsi les circuits d'avance différentielle adaptative d'effectuer un ajustement en plus grand jusqu'à ce que la courbe soit achevée ou jusqu'à ce que le bit d'avertissement ne soit plus délivré. De la même façon, le bit qui informe le circuit de filtrage des pixels 30 que la capacité de mémorisation du nombre entier des registres 34, 50 et 62 va déborder au prochain ajustement en plus grand ou au prochain pas en avant (bit que l'on appelle ici "bit de débordement") est délivré chaque fois que al est différent du bit de signe de a, que bi est différent du bit de signe de b ou que ci est différent du bit de signe de c. Lorsque le bit de débordement est délivré, il donne l'ordre au circuit de commande 92 de délivrer les signaux de commande aux multiplexeurs des circuits d'avance différentielle adaptative qui donnent l'ordre à chaque circuit d'avance différentielle adaptative d'effectuer un ajustement en plus petit, que les calculs effectués par le circuit de filtrage des pixels 30 indiquent ou non un ajustement en plus grand ou un pas en avant. Un ajustement en plus petit fait disparaître le problème du débordement dans les registres 34, 50 et 62, faisant ainsi en sorte que le bit de débordement n'est plus délivré. Le bit de signe des registres 34, 50 et 62 est utilisé de manière que le bit d'avertissement et les bits de débordement soient délivrés si la partie entière du nombre qui y est mémorisé devient trop grande dans le sens positif, ou trop petite dans le sens négatif, dans sa représentation en complément à deux. L'homme de l'art comprendra que l'on pourrait utiliser, à la place des registres 34 et 50, des registres ayant une capacité de mémorisation correspondant à des valeurs de nombre entier supérieures ou inférieures sans sortir du cadre de la présente invention telle que décrite ici. On notera également, de la description qui précède, que l'on évite dans le cas présent un problème critique qui se posait dans les circuits d'avance différentielle de l'art antérieur (à savoir le débordement des unités de restitution de la courbe), au moyen des caractéristiques de la présente invention que l'on a décrites. Les fonctions que l'on a décrites du circuit d'avance différentielle adaptative concernent le traçage de courbes. La figure 4 montre un schéma simplifié du circuit de la puce du circuit d'avance différentielle adaptative X 12 (représenté figure 3), n'illustrant que les composants qui sont utilisés pour tracer des vecteurs. La figure 5 est un organigramme illustrant le fonctionnement des éléments de circuit représentés figure 4 et exécutant, comme exemple, l'opération consistant à tracer un vecteur principal x au moyen de l'algorithme de Bresenham, qui est bien connu dans la technique. Lorsque l'on commence la restitution d'un vecteur, les paramètres de l'algorithme de Bresenham dx (la variation de x), dy (la variation de y), Err (le terme d'erreur de Bresenham) Incl (un premier incrément) et Inc2 (un second incrément), paramètres qui seront expliqués ultérieurement plus en détail en référence à la figure 5, sont calculés par l'unité centrale de traitement 9. L'unité centrale de traitement 9 charge les registres 34, 38 et 50 respectivement avec Incl, Inc2 et Err. L'unité centrale de traitement 9 charge également le registre 72 avec la valeur xo de l'extrémité du vecteur et charge le registre c 62 avec la valeur zéro. On va maintenant expliquer le fonctionnement des circuits de la figure 4 lors de la restitution d'un vecteur principal x, en référence à l'organigramme de la figure 5. Un circuit comparateur 64 délivre en sortie un bit '1' chaque fois que le bit de signe des registres 50 et 62 sont les mêmes. De la sorte, le circuit 64 ne délivrera un '1' en entrée de l'additionneur 69 que lorsque les registres 50 et 62 auront le même signe. Comme on l'a indiqué, le registre 62 est chargé à zéro lors de l'initialisation, et son signe est donc toujours zéro. De la sorte, le circuit 64 va délivrer en sortie un '1' à l'additionneur 66 chaque fois que le bit de signe du registre 50 vaudra '0' (c'est-à-dire lorsque la valeur Err sera supérieure à 0). Lorsque l'on commence la restitution d'un vecteur, l'unité centrale de traitement 9 ordonne au circuit de filtrage des pixels 30 d'appliquer un signal de commande au circuit d'avance différentielle adaptative de telle sorte que le multiplexeur 44 soit commandé en fonction du bit de signe en sortie du registre 50. Lorsque le bit de signe du registre 50 vaut '0', le multiplexeur 44 transmet alors la valeur de sortie du registre 38. Lorsque le bit de signe du registre 50 vaut 1', le multiplexeur 44 sélectionne la valeur de sortie du registre 34. Si l'on se réfère maintenant à la figure 5, les paramètres de Bresenham correspondant à un vecteur s'étendant entre les coordonnées de début et de fin de courbe xo,yo et xi,yl sont initialisés par l'unité centrale de traitement 9 de la manière indiquée dans le bloc 160 de la figure 5. Le terme d'erreur (Err) est calculé par l'équation: Err = -1/2dx+dy, avec dx = xi-xo et dy = yi-yo. Au bloc 162, le pixel ayant les coordonnées courantes x et y (x est mémorisé dans le registre 72 de la figure 4 et y est mémorisé dans le registre correspondant du circuit d'avance différentielle adaptative Y 14) s'inscrit sur l'afficheur à tube cathodique. L'organigramme passe ensuite à l'étape 164 o l'on détermine si le terme Err (la valeur qui se trouve dans le registre 50) est supérieur à 26 15980 zéro. Si l'erreur est supérieure ou égale à zéro, le bit de signe du registre 50 vaut également '0', et la procédure passe alors à l'étape 168, o on met à jour Err en ajoutant Inc2 à la valeur Err précédemment calculée. Le bit de signe du registre commande le multiplexeur 44 de manière à choisir la valeur Inc2 (en entrée du multiplexeur 44, valeur mémorisée dans le registre 38) puis l'envoyer dans l'additionneur/soustracteur 45 et dans le registre 50 chaque fois que le bit de signé du registre 50 vaut '0'. Au bloc 160, on met à jour les coordonnées x et y dans les circuits d'avance différentielle adaptative X et Y en ajoutant une unité au contenu des registres 72 situés dans le circuit d'avance différentielle adaptative X 12 et du registre correspondant dans le circuit - d'avance différentielle adaptative Y 14. Comme décrit plus haut, cette addition est exécutée par l'additionneur 66, qui n'additionne la sortie du circuit 64 au contenu précédent du registre 72 que lorsque le bit de signe du registre 62 est égal au bit de signe du registre 50. Inversement, si la valeur Err est inférieure à zéro, la procédure passe alors à l'étape 166, o l'on ajuste Err pour la rendre égale à la valeur Err précédemment calculée (mémorisée dans le registre 50) plus Incl (mémorisée dans le registre 34) et on incrémente x d'une unité. (remarque: dans cet exemple de procédure, la coordonnée y n'est pas incrémentée à l'étape 166 car l'additionneur du circuit d'avance différentielle adaptative Y 14 homologue de l'additionneur 66 ajoute la valeur de sortie du circuit 64 (qui vaut zéro) au contenu du registre situé dans le circuit d'avance différentielle adaptative Y 14 homologue du registre 72. La valeur Inc2, qui est mémorisée dans le registre 38, est sélectionnée par le multiplexeur 44 et ajoutée au contenu du registre 50 par l'additionneur 45 chaque fois que la valeur de Err est supérieure ou égale à zéro. Lorsque le bit de signe des registres 50 est positif, l'additionneur 66 ajoute la valeur de sortie du circuit 64 au contenu du registre 72 et transmet celle-ci, via le multiplexeur 70, vers le registre 72. La procédure s'achève à l'étape 170 lorsque x est supérieur à xi.- Z6 15980 Compte tenu de la description qui précède, on comprendra que, lorsque l'on trace des vecteurs, les circuits d'avance différentielle adaptative permettent d'avoir un procédé sans équivalent pour mettre en oeuvre avec précision l'algorithme de Bresenham, algorithme qui est bien connu dans la technique. Il y a également lieu de noter, compte tenu de la description qui précède, qu'avec une initialisation appropriée le circuit d'avance différentielle adaptative peut également permettre de mettre en oeuvre la version généralisée bien connue de l'algorithme de Bresenham, qui calcule le pixel le plus proche d'une ligne idéale formée entre le point d'origine et le point d'extrémité, et ne produit qu'une seule position de pixel x,y pour chaque incrément unitaire de y. Ces versions généralisées de l'algorithme de Bresenham sont largement utilisées pour progresser pas à pas de manière incrémentale le long d'une côté d'un polygone en suivant l'ordre des lignes de balayage et en mettant en oeuvre les techniques vectorielles qui évitent les effets d'échantillonnage. Voir à cet égard l'article de Dan Field intitulé Incremental Linear Interpolation dans ACM Transactions on Graphics, vol. 4, n 1, de janvier 1985 ou le chapitre par Akira Fujimoto et Ko Iwata intitulé Jag free Images on a raster CRT, dans Computer Graphic Theory and Applications, sous la direction de Tosiyasu Kunii, publié chez Springer Verlag en 1983. Sur la figure 7, on a représenté une vue éclatée du circuit de filtrage des pixels 30 de la figure 1. Il est important de remarquer que, lorsque l'on trace des vecteurs, le circuit de filtrage des pixels 30 transfère le contrôle des circuits d'avance différentielle adaptative pour exécuter l'algorithme de Bresenham, comme décrit précédemment en référence à la figure 4. Dans ce cas, le circuit 1/w 18 et le circuit d'avance différentielle adaptative W 10 ne sont pas utilisés. Cependant, lorsque l'on trace des courbes, le circuit de filtrage des pixels 30 contrôle les circuits d'avance différentielle adaptative X, Y, Z et W 10, 12, 14 et 16 de la manière décrite précédemment à propos de la figure 3 afin de permettre les ajustements et les pas en avant. Les registres 102, 103, 104, 105 et 106 de la figure 7 mémorisent les valeurs de coordonnées Xn à Xn+4 qui leur sont délivrées par le circuit d'avance différentielle adaptative X 12 et le multiplexeur 20 (de la figure 1) au cours des cinq cycles d'horloge consécutifs précédents. De la même façon, les registres y 120, 121, 122, 123 et 124 mémorisent les valeurs de y yn à yn+4. De la même façon, les registres 134, 135, 136, 137 et 138 mémorisent les valeurs de z zn à Zn+4. Les registres 148, 149, 152, 154 et 158, ainsi que l'additionneur 156 et le comparateur 144, fonctionnent également en liaison avec les 10. éléments précités, comme on le décrira par la suite. Les registres 102 à 106 mémorisent, de façon séquentielle, chacune des coordonnées x qui leur est appliquée par le circuit d'avance différentielle adaptative X 12, Xn+4 étant la coordonnée calculée la plus récente. A chaque cycle d'horloge, le comparateur 94 compare la valeur Xn+ 3 du registre 105 à la valeur Xn+4 du registre 106, et le comparateur 112 compare la valeur yn+3 du registre 123 à la valeur yn+4 du registre 124. Si la valeur absolue de Xn+4-Xn+3 et la valeur absolue de yn+4-yny+3 sont toutes deux inférieures à la moitié d'un incrément de pixels simple, le contrôleur 92 envoie aux quatre circuits d'avance différentielle adaptative un signal de commande leur donnant l'ordre d'augmenter la taille du pas (ajustement en plus grand), de la manière décrite précédemment à propos des figures 1, 2 et 3. Si la valeur absolue de Xn+4Xn+3 est supérieure à 1 ou si la valeur absolue de yn+4-yn+3 est supérieure à 1, le contrôleur applique alors aux quatre circuits d'avance différentielle adaptative un signal de commande qui leur donne l'ordre de diminuer la taille du pas (ajustement en plus petit), également de la manière décrite précédemment à propos des figures 1, 2 et 3. Les valeurs Zn+4 et Zn+3 mémorisées dans les registres 138 et 137 ne sont pas utilisées pour déterminer si la dimension du pas doit ou non être ajustée en plus grand ou en plus petit, car les coordonnées x et y définissent de manière suffisante une position de pixel sur un afficheur à tube cathodique. Cependant, les registres 138 et 137 fonctionnent en tant que tampons à retard, de sorte que les valeurs Zn+2, zn+l et Zn (qui sont mémorisées, respectivement, dans les registres 136 à 134) correspondront aux valeurs de yn+2, yn+l et yn (mémorisées, respectivement, dans les registres 122, 121 et 102) et aux valeurs de Xn+2, Xn+! et Xn (mémorisées dans les registres 104, 103 et 102) A l'opposé, si la valeur absolue de Xn+4-Xn,3 et la valeur absolue de yn+4-yn+3 sont toutes deux comprises entre la moitié d'une unité de pixel et une unité de pixel, les comparateurs 94 et 112 donnent alors l'ordre au circuit de commande 92 de donner eux-mêmes l'ordre aux quatre circuits d'avance différentielle adaptative d'exécuter une opération de pas en avant de la manière décrite précédemment. Il est important de noter que les quatre circuits d'avance différentielle adaptative 10, 12, 14 et 16 de la figure 1 sont ajustés en plus grand, en plus petit ou vers l'avant de façon synchrone par le circuit de filtrage des pixels 30. On va maintenant décrire l'élimination des pixels redondants dans une image affichée. Le comparateur 96 compare la valeur xn+2 mémorisée dans le registre 104 à la valeur xn+l mémorisée dans le registre 103. Le comparateur 114 compare la valeur yn+2 dans le registre 122 à la valeur yn+l dans le registre 121. Si xn+2 = Xn+l et yn+2 = yn+1, les comparateurs 96 et 114 appliquent des signaux au circuit de commande 92 qui, à son tour, délivre en sortie un bit d'invalidation de pixel au circuit illustrateur 150, de sorte que ce circuit illustrateur 150 invalidera les modifications correspondant au pixel dont les coordonnées correspondent à xn+l et yn+l. On va maintenant décrire l'élimination des "coudes" (voir figures 6 et 6a) dans une image affichée. Le comparateur 96 compare la partie entière de la valeur xn+2 du registre 104 à la partie entière de la valeur xn du le registre 102, et le comparateur 150 compare la partie entière de la valeur yn+2 du registre 122 à la partie entière de la valeur yn du registre 120. Si la valeur absolue de xn+2-xn est égale à un et si la valeur absolue de yn+2 - yn est égale à un, les comparateurs 96 et 114 appliquent alors des signaux au circuit de commande 92 qui, à son tour, délivre en sortie un bit d'invalidation de pixel au circuit illustrateur 150, de telle sorte que ce circuit illustrateur 150 n'illustrera pas le pixel dont les coordonnées correspondent à Xn+1 et yn+l. On va maintenant décrire une région cadrée dans l'écran affiché. On a préchargé dans les registres 100, 118, 132 et 146 des valeurs respectives x minimum et x maximum, y minimum et x maximum, z minimum et z maximum, ainsi que t minimum et t maximum. Le comparateur 98 est relié au registre 103 et compare la valeur Xn+l à x maximum et à x minimum. Si Xn+l n'est pas compris entre x minimum et x maximum, le comparateur 98 applique un signal de commande au circuit de commande 92 qui, à son tour, donne l'ordre au circuit illustratuer 150 d'invalider les modifications correspondant au pixel défini par les coordonnées xn+l, yn+l, Zn+l et tn+ 1, pixel qui se trouve à l'extérieur de la fenêtre définie par les valeurs x minimum et x maximum mémorisées dans le registre 100. On procède de la même façon pour le registre y minimum et y maximum 118, le registre z. minimum et z maximum 132 et le registre t minimum et t maximum 146. Ainsi, si yn+l, qui est mémorisée dans le registre 121, est inférieure à la valeur y minimum ou supérieure à la valeur y maximum mémorisée dans le registre 118, le comparateur 116 produit un signal de commande en direction du circuit de commande 92, qui donne finalement l'ordre au circuit illustrateur 150 de ne pas illustrer le pixel (Xn+1,yn+ I,zn+1,tn+l). De la même façon, si Zn+l, qui est mémorisée dans le registre 135, est inférieure à une valeur z minimum ou supérieure à la valeur z maximum mémorisée dans le registre 132, un comparateur 130 applique un signal de commande au circuit de commande 92, qui à son tour donne l'ordre au circuit illustrateur 150 de ne pas illustrer le pixel (Xn+1,yn+1, Zn+i,tn+1). Enfin, si tn+l, qui est mémorisée dans le registre 150, est inférieure à t minimum ou supérieure à t maximum mémorisées dans le registre 146, le comparateur 144 applique un signal au circuit de commande 92, qui à son tour donne l'ordre au circuit illustrateur 150 de ne pas illustrer le pixels (xn+1,yn+1,zn+1,tn+1). Les valeurs miminales et maximales mémorisées dans les registres 100, 118, 132 et 146 sont préchargées par l'unité centrale de traitement 9 afin de définir sur l'écran d'affichage une "fenêtre" ou région de cadrage souhaitée. Une valeur précalculée dt correspondant aux paramètres a, b, c et d de la courbe à restituer (paramètres qui sont mémorisés dans les registres 34, 50, 62 et 72) est calculée par l'unité centrale de traitement 9 au moment de l'initialisation et chargée dans le registre 158. On donne à t une valeur égale à zéro au moment de l'initialisation. Comme dt représente la taille du pas de paramètre, cette valeur doit être ajustée en plus grand ou en plus petit afin de coïncider avec les ajustements des circuits d'avance différentielle adaptative X, Y, Z et W qui ont été décrits précédemment en référence aux figures 1 et 3. En conséquence, on décale dt d'un bit vers la gauche pour obtenir 2dt sur le multiplexeur 153 lorsqu'un ajustement en plus grand est nécessaire, afin de faire correspondre dt à un ajustement en plus grand dans les circuits d'avance différentielle adaptative. De la même façon, on décale dt d'un bit vers la droite afin d'avoir dt/2 sur le multiplexeur 153. On sélectionne 2dt ou bien dt/2 au moyen de signaux de commande appropriés appliqués par le circuit de commande 92 au multiplexeur 153, afin de faire correspondre dt aux ajustements effectués pour les circuits d'avance différentielle adaptative X, Y, Z et W. La valeur de dt est délivrée en sortie à l'additionneur 156, qui lui ajoute t et mémorise le résultat obtenu dans le registre 154. Le registre de sortie 154 est retardé pendant plusieurs cycles d'horloge dans le registre à retard 152 de sorte que tn+1 et tn, qui sont mémorisés respectivement dans les registres 159 et 148, coïncident dans le temps avec les valeurs xn+1 et yn+1, yn, Zn+l et zn. de sorte que la valeur tn+1 sera une valeur qui conviendra, que le comparateur 144 pourra comparer aux valeurs t minimum et t maximum. 6 15980 R E V E N D I C A T I O N S 1. Un dispositif d'avance différentielle adaptative pour la restitution d'une courbe sur un organe afficheur par activation d'éléments d'affichage définissant la courbe, dispositif caractérisé par le fait qu'il comprend: - des moyens (CPU 9, 34, 50, 62) pour recevoir une pluralité de valeurs de données représentatives desdits éléments d'affichage qui définissent la courbe, et - des moyens (CPU 9, 10, 12, 14, 16, 30) pour restituer de manière incrémentale cette courbe par pas élémentaires d'affichage sensi- blement uniformes. 2. Le dispositif de la revendication 1, dans lequel les moyens pour restituer de manière incrémentale la courbe par pas élémentaires d'affichage sensiblement uniformes comprennent en outre: - des moyens (1016) pour exécuter une fonction cubique paramétrique de la forme f = aB3(t) + bB2(t) + cBl(t) + dBO(t), o f est égal aux valeurs x, y, z ou w d'une courbe à restituer et o a, b, c et d sont des coefficients qui peuvent varier avec chaque coordonnée le long de cette courbe. 3. Le dispositif de la revendication 2, dans lequel, si lesdites valeurs de données donnent un incrément courant de la courbe supérieur à l'un desdits incréments uniformes, les moyens (10-16) pour restituer de manière incrémentale la courbe réduisent cet incrément courant d'une quantité prédéterminée. 4. Le dispositif de la revendication 3, dans lequel les moyens (10-16) pour restituer de manière incrémentale la courbe réduisent l'incrément courant en donnant aux coefficients a, b, c et d les valeurs respectives a/8, b/4-a/8, c/2-b/8+a/16 et d. L6 15980 5.Le dispositif de la revendication 2, dans lequel, si lesdites valeurs de données donnent un incrément courant de la courbe inférieur à la moitié d'un desdits incréments uniformes, les moyens (10-16) pour restituer de manière incrémentale la courbe augmentent cet incrément courant d'une quantité prédéterminée. 6. Le dispositif de la revendication 5, dans lequel les moyens (10-16) pour exécuter la fonction cubique paramétrique augmentent l'incrément courant en donnant aux coefficients a, b, c, et d les valeurs respectives 8a, 4b+4a, 2c+b et d. 7. Le dispositif de la revendication 2, dans lequel, si lesdites valeurs de données donnent un increment de la courbe qui est compris entre la moitié et une fois la valeur de pas desdits pas élémentaires d'affichage sensiblement uniformes, lesdits moyens (10-16) pour restituer de manière incrémentale la courbe avancent de l'incrément ainsi donné. 8. Le dispositif de la revendication 7, dans lequel les moyens (10-16) pour exécuter la fonction cubique paramétrique font avancer la courbe d'une fois la valeur de pas desdits pas élémentaires d'affichage sensiblement uniformes en donnant aux coefficients a, b, c et d les valeurs respectives a, b+a, c+b et d+c. 9. Le dispositif de la revendication 1, dans lequel les moyens pour restituer de manière incrémentale la courbe comprennent en outre: - une première pluralité de registres (102-106) pour mémoriser des valeurs successives xn à xn+4 de coordonnées x, - - une seconde pluralité de registres (120-123) pour mémoriser des valeurs successives yn à Yn+4 de coordonnées y, - un premier comparateur (94) pour comparer une valeur xn+ 3 à la valeur xn+4 correspondante, - un second comparateur (112) pour comparer une valeur Yn+3 à la valeur Yn+4 correspondante, - des moyens formant circuit de commande (92), reliés à la première et à la seconde pluralité de registres (102-106; 120-123) et dans lesquels, si la valeur xn.4 diffère de la valeur Xn+3 de plus d'une unité ou si la valeur Yn+4 diffère de la valeur Yn*3 de plus d'une unité, le premier et le second comparateurs (94, 112) appliquent un signal à ces moyens formant circuit de commande (92) qui, à leur tour, réduisent ledit incrément courant, et dans lesquels, si la valeur xn diffère de la valeur xn.3 de moins de 0,5 et la valeur Yn+4 diffère de la valeur n,3 de moins de 0,5, le premier et le second comparateurs (94, 112) appliquent un signal à ces moyens formant circuit de commande (92) qui, à leur tour, augmentent ledit incrément courant. 10. Le dispositif de la revendication 9, comprenant en outre - des troisième et quatrième comparateurs (96, 114) pour comparer, respectivement, à xn la partie entière de la valeur xn2 de coordonnée x et à Yn+l la partie entière de la valeur yn2 de coordonnées y de sorte que, si la valeur Xn+2 est égale à la valeur Xn+l et la valeur Yn+2 est égale à la valeur Yn+1' les moyens formant circuit de commande invalident la valeur d'élément d'affichage correspondant à ces valeurs de coordonnées Xn+l, Yn± 11. Le dispositif de la revendication 10, dans lequel les troisième et quatrième comparateurs (96, 114) comparent également la partie entière de la valeur de coordonnée xn à la partie entière de la valeur de coordonnée xn+2 et la partie entière de la valeur de coordonnée yn à la partie entière de la valeur de coordonnée Yn+2 de sorte que, si la partie entière de xn diffère de la partie entière de Xn+2 de plus d'une unité et la partie entière de y n diffère de la partie entière de Yn+2 de plus d'une unité, lesdits moyens formant circuit de commande invalident l'élément d'affichage correspondant à ces valeurs Xn+l, Yn+l 12. Le dispositif de la revendication 1, dans lequel les moyens pour incrémenter la courbe comprennent en outre - des moyens (92, 98, 100, 116, 118, 130, 132, 144, 146) pour cadrer la courbe entre des coordonnées x, y et z maximales et minimales et. pour tronquer cette courbre entre les valeurs maximales et minimales prédéterminées de ces paramètres de courbe paramétrique. 13. Le dispositif de la revendication 1, comprenant en outre: - des moyens (34, 50, 62, 92) pour empêcher le débordement desdits moyens recevant une pluralité de valeurs de données. 14. Le dispositif de la revendication 2, comprenant en outre: - des moyens (34, 50, 62, 92) pour empêcher la surcharge desdits moyens pour exécuter une fonction cubique paramétrique. 15. Un dispositif d'avance différentielle adaptative pour la restitution d'une courbe sur un organe afficheur par activation d'éléments d'affichage définissant la courbe, dispositif caractérisé par le fait qu'il comprend: - des moyens (CPU 9; 34,.50, 62) pour recevoir une pluralité de valeurs de données représentatives desdits éléments d'affichage qui définissent la courbe, et - des moyens (CPU 9; 10, 12, 14, 16) pour incrémenter cette courbe par pas élémentaires d'affichage sensiblement uniformes. 16. Le dispositif de la revendication 15, dans lequel les moyens pour incrémenter la courbe par pas élémentaires d'affichage sensiblement uniformes comprennent en outre: - des moyens (10-16) pour exécuter une fonction cubique paramétrique de la forme f = aB3(t) +bB2(t) + cBl(t) + dBO(t), o f est égal aux valeurs x, y, z ou w d'une courbe à restituer et o a, b, c et d sont des coefficients qui peuvent varier avec chaque coordonnée le long de cette courbe. 17. Le dispositif de la revendication 16, dans lequel les moyens pour incrémenter la courbe comprennent en outre - des moyens (30) pour déterminer si les valeurs de données donnent un incrément courant de la courbe supérieur à l'un desdits incréments uniformes et, dans le cas o ces valeurs de données définissent un incrément supérieur à l'un de ces incréments uniformes, les moyens pour incrémenter la courbe réduisent cet incrément courant. 18. Le dispositif de la revendication 17, dans lequel les moyens (10-16) pour exécuter la fonction cubique paramétrique et les moyens pour incrémenter la courbe réduisent l'incrément tourant en donnant aux coefficients a, b, c et d les valeurs respectives a/8, b/4-a/8, c/2-b/8+a/16 et d. 19. Le dispositif de la revendication 16, dans lequel les moyens (30) pour incrémenter la courbe déterminent si les valeurs de données donnent un incrément courant de la courbe inférieur à la moitié desdits incréments uniformes et, dans le cas o ces valeurs de données définissent un incrément courant inférieur à la moitié des pas élémentaires d'affichage, les moyens (10-16) pour définir la courbe augmentent l'incrément d'une quantité prédéterminée. 20. Le dispositif de la revendication 19, dans lequel les moyens (10-16), pour exécuter la fonction cubique paramétrique et les moyens pour incrémenter la courbe augmentent l'incrément courant en donnant aux coefficients a, b, c et D les valeurs respectives 8a, 4b+4a, 2c+b et d. 21. Le dispositif de la revendication 15, dans lequel les moyens (CPU 9; 10-16; 30) pour restituer de manière incrémentale la courbe déterminent si les valeurs de données donnent un incrément de la courbe compris entre la moitié et une fois la valeur de pas desdits pas élémentaires d'affichage et, dans le cas o ces valeurs de données donnent un incrément qui est compris entre la moitié et une fois la valeur de pas des pas élémentaires d'affichage, les moyens (10-16) pour restituer de manière incrémentale la courbe font avancer la courbe dudit incrément qui a été donné. 22. Le dispositif de la revendication 21, dans lequel les moyens (10-16) pour exécuter la fonction cubique paramétrique et les moyens pour restituer de manière incrémentale la courbe donnent aux coefficients a, b, c et d les valeurs respectives a, b+a, c+b et d+c. 23. Le dispositif de la revendication 15, dans lequel les moyens pour incrémenter la courbe comprennent en outre: - une première pluralité de registres (102-106) pour mémoriser des valeurs successives xn à xn4 de coordonnées x, - une seconde pluralité de registres (120-122) pour mémoriser des valeurs successives Yn à Yn+4 de coordonnées y, - un premier comparateur (94) pour comparer une valeur xn+3 à la valeur xn+4 correspondante, - un second comparateur (112) pour comparer une valeur yn3 à la valeur Yn+4 correspondante, - des moyens formant circuit de commnade (92), reliés à la première et à la seconde pluralité de registres et dans lesquels, si la valeur xn.4 diffère de la valeur xn+3 de plus d'une unité et si la valeur Yn+4 diffère de la valeur Yn+3 de plus d'une unité, le premier et le second comparateurs appliquent un signal à ces moyens formant circuit de commande qui, à leur tour, réduisent ledit incrément courant, et dans lesquels, si la valeur xn+4 diffère de-la valeur xn+3 de moins de 0,5 ou - n+4 n+3 la valeur yn+4 diffère de la valeur yn+3 de moins de 0,5, le premier et le second comparateurs appliquent un signal à ces moyens formant circuit de commande qui, à leur tour, augmentent ledit incrément courant. 24. Le dispositif de la revendication 16, comprenant en outre: - des troisième et quatrième comparateurs (96, 114) pour comparer, respectivement, à xn+1 la partie entière de la valeur xn+2 de coordonnée x et à Yn+I la partie entière de la valeur Yn+2 de coordonnée y.de sorte que, si la valeur xn+2 est égale à la valeur xn,1 et yn+2 est égale à yn+ I' les moyens formant circuit de commande invalident la valeur d'élément d'affichage correspondant à ces valeurs Xn+l' Yn+1' 25. Le dispositif de la revendication 17, dans lequel les troisième et quatrière comparateurs (96, 114) comparent également la partie entière de la valeur xn à la partie entière de la valeur Xn2 et la partie entière de la valeur yn à la partie entière de la valeur Yn+2 de sorte que, si la partie entière de cette valeur xn diffère de la partie - entière de cette valeur Xn+2 de plus d'une unité et la partie entière de cette valeur yn diffère de la partie entière de cette valeur Yn+2 de plus d'une unité, lesdits moyens formant circuit de commande déclenchent l'invalidation de l'élément d'affichage correspondant à ces valeurs x 1' n+' Yn+l' 26. Le dispositif de la revendication 15, dans lequel les moyens pour incrémenter la courbe comprennent en outre: - des moyens (92, 98, 100, 116, 118, 130, 132, 144, 146) pour cadrer la courbe entre des coordonnées x, y et z maximales et minimales et pour tronquer cette courbe entre les valeurs maximales et minimales prédéterminées de ces paramètres de courbe paramétrique. 27. Un procédé de restitution d'une courbe sur un organe afficheur par restitution avec avance adaptative de cette courbe au moyen d'une activation sélective d'éléments d'affichage définissant la courbe, procédé caractérisé en ce qu'il comprend les étapes consistant à: - appliquer une pluralité de valeurs de données représentatives desdits éléments d'affichage qui définissent la courbe à un dispositif d'avance différentielle adaptative (10-16), - traiter les valeurs de données dans le dispositif d'avance différentielle adaptative (10-16) pour obtenir une restitution de manière incré- mentale de cette courbe, par pas élémentaires d'affichage sensiblement uniformes, et 2 6 1 5 9 8 0 - appliquer les valeurs traitées dans le dispositif d'avance différentielle adaptative (10-16) et correspondant à un pas élémentaire d'affichage sensiblement uniforme, à l'organe afficheur. 28. Le procédé de la revendication 27, dans lequel ladite étape consistant à traiter les valeurs de données dans le dispositif d'avance différentielle adaptative (10-16) pour obtenir une restitution de manière incrémentale de la courbe par pas élémentaires d'affichage sensiblement uniformes comprend en outre les étapes consistant à: - exécuter une fonction cubique paramétrique (10-16) de la forme f = aB3(t) + bB2(t) + cBl(t) + dBO(t), o f est égal aux valeurs x, y, z ou w d'une courbe à restituer et o a, b, c et d sont des coefficients, - contrôler de signaux définissant la valeur a, b, c, d de chaque coefficient pour chaque coordonnée le long de cette courbe, en fonction du traitement requis. 29. Le procédé de la revendication 28, comprenant les étapes consistant à: - comparer l'incrément courant des valeurs de données de la courbe à l'un desdits incréments uniformes, et - activer des moyens (10-16) aptes à réduire cet incrément courant d'une quantité prédéterminée, si le résultat de la comparaison indique que lesdites valeurs de données donnent un incrément courant de.la courbe supérieur à l'un desdits incréments uniformes. 30. Le procédé de la revendication 29, dans lequel l'étape, d'activation des moyens (10-16) aptes à réduire l'incrément courant d'une quantité prédéterminée consiste à commander des moyens (34, 50, 62, 72) aptes à attribuer les valeurs respectives a/8, b/4-aa/8, c/2-b/8+a/16 et d, aux coefficients a, b, c et d. 31. Le procédé de la revendication 27 comprenant les étapes consistant à comparer (30) l'incrément courant des valeurs de données de la courbe à la moitié d'un desdits incréments uniformes, et activer des moyens (10-16) aptes à augmenter l'incrément courant d'une quantité prédéterminée, si le résultat de la comparaison indique que lesdites valeurs de données donnent un increment courant de la courbe inférieur à la moitié d'un desdits incréments uniformes. 32. Le procédé de la revendication 31, dans lequel les moyens (10-16) pour exécuter la fonction cubique paramétrique et les moyens pour incrémenter la courbe augmentent l'incrément courant en donnant aux coefficients a, b, c et d les valeurs respectives 8a, 4b+4a, 2c+b et d. 33. Le procédé de la revendication 27, comprenant les étapes consistant à - comparer ('30) l'incrément courant des valeurs de données de la courbe à la moitié et à une fois la valeur de pas desdits pas élémentaires d'affichage, et - faire avancer la courbe dudit incrément qui a été donné, si le résultat de la comparaison indique que les valeurs de données donnent un incrément de la courbe compris entre la moitié et une fois la valeur de pas desdits pas élémentaires d'affichage. 34. Le procédé de la revendication 28, dans lequel ladite étape consistant à exécuter la fonction cubique paramétrique (10-16) pour faire avancer la courbe d'une fois la valeur de pas desdits pas élémentaires d'affichage sensiblement uniformes consiste à activer des moyens (34, 50, 62, 72) aptes à attribuer les valeurs respectives a, b+a, c+b et d+c aux coefficients a, b, c et d. 35. Le procédé de la revendication 27, dans lequel ladite étape consistant à restituer de manière incrémentale la courbe comprend en outre les étapes consistant à: - mémoriser des valeurs successives xn à xn+4 de coordonnéees x dans une première pluralité de registres (102-106), mémoriser des valeurs successives yn à Yn+4 de coordonnées y dans une seconde pluralité de registres (102-106), z6 15980 - comparer (94) une valeur xn3 à la valeur xn4 correspondante, - comparer (112) une valeur Yn+ 3 à la valeur Yn 4 correspondante, - déterminer si la valeur Xn+4 diffère de la valeur xn+3 de plus d'une unité ou si la valeur Yn+4 diffère de la valeur Yn+3 de plus d'une unité, le premier (94) et le second (112) comparateurs appliquant un signal à des moyens formant circuit de commande (92) qui, à leur tour, réduisent ledit incrément courant, et si Xn+4 diffère de x n3 de moins de 0,5 et yn+4 diffère de Yn+3 de moins de 0,5, le premier et le second comparateurs (94, 112) appliquent un signal à ces moyens formant circuit de commande (92) qui, à leur tour, augmentent ledit incrément courant. 36. Le procédé de la revendication 35, comprenant en outre les étapes consistant à: - comparer (96, 114) respectivement à Xn+1 la partie entière de la valeur xn+2 de coordonnée x et Yn+l la partie entière de la valeur yn+2 de coordonnée y de sorte que, si Xn+2 est égale à xn+1 et Yn+2 est égale à n' les moyens formant circuit de commande (92) invalident la valeur d'élément d'affichage correspondant à ces valeurs de coordonnée xn+l, Yn+I' 37. Le procédé de la revendication 27, comprenant en outre les étapes consistant à: - cadrer la courbe en cours de restitution entre des coordonnées x, y et z maximales et minimales en introduisant des valeurs maximales et minimales des coordonnées x, y et z dans des moyens formant registre (100, 118, 132, 146) et - tronquer cette courbe entre les valeurs maximales et minimales prédéterminées en comparant les valeurs courantes des coordonnées avec les valeurs maximales et minimales des coordonnées introduites dans les moyens formant registre, et en éliminant les valeurs courantes des coordonnées qui ne sont pas comprises entre lesdites valeurs maximales et minimales des coordonnées.