FR2565014A1 - Systeme de memoire rapide et procede de traitement de donnees pour produire une trame d'elements d'image, et segment de memoire rapide - Google Patents
Systeme de memoire rapide et procede de traitement de donnees pour produire une trame d'elements d'image, et segment de memoire rapide Download PDFInfo
- Publication number
- FR2565014A1 FR2565014A1 FR8507686A FR8507686A FR2565014A1 FR 2565014 A1 FR2565014 A1 FR 2565014A1 FR 8507686 A FR8507686 A FR 8507686A FR 8507686 A FR8507686 A FR 8507686A FR 2565014 A1 FR2565014 A1 FR 2565014A1
- Authority
- FR
- France
- Prior art keywords
- memory
- data
- pixels
- scan line
- frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000015654 memory Effects 0.000 title claims abstract description 127
- 238000003672 processing method Methods 0.000 title claims 2
- 238000000034 method Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 claims description 4
- 150000001768 cations Chemical class 0.000 claims description 3
- 230000008859 change Effects 0.000 claims description 2
- 238000013500 data storage Methods 0.000 claims 5
- 230000000903 blocking effect Effects 0.000 claims 1
- 230000005055 memory storage Effects 0.000 claims 1
- 239000004065 semiconductor Substances 0.000 claims 1
- 230000009466 transformation Effects 0.000 abstract description 5
- 230000000007 visual effect Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 13
- 230000000694 effects Effects 0.000 description 6
- 238000012800 visualization Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 239000000872 buffer Substances 0.000 description 1
- 239000007853 buffer solution Substances 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000008929 regeneration Effects 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 238000010977 unit operation Methods 0.000 description 1
- 238000007794 visualization technique Methods 0.000 description 1
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/42—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of patterns using a display memory without fixed position correspondence between the display memory contents and the display position on the screen
-
- 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
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)
- Digital Computer Display Output (AREA)
Abstract
L'INVENTION CONCERNE UN SYSTEME DE MEMOIRE RAPIDE A ARCHITECTURE PARALLELE. CE SYSTEME COMPORTE UNE UNITE 10 DE TRANSFORMATION GEOMETRIQUE QUI RECOIT DES ELEMENTS DE BASE CORRESPONDANT A UNE INFORMATION A AFFICHER, UN GENERATEUR 14 DE VISUALISATION AVEC BALAYAGE PAR TRAME, ET UN DISPOSITIF D'AFFICHAGE 16. LES DONNEES DE PIXELS CORRESPONDANT A PLUSIEURS LIGNES DE BALAYAGE SONT ENREGISTREES DANS PLUSIEURS SEGMENTS DE MEMOIRE AUXQUELS ON PEUT ACCEDER EN PARALLELE. DES BASCULES PERMETTENT UNE MANIPULATION EN CONTINU DES DONNEES ENREGISTREES DANS LES SEGMENTS DE MEMOIRE EN MEME TEMPS QUE DES DONNEES DE LIGNE DE BALAYAGE SONT EXTRAITES. DOMAINE D'APPLICATION: AFFICHAGE AVEC BALAYAGE PAR TRAME, ETC.
Description
L'invention concerne d'une manière générale les mémoires numériques, et
plus particulièrement des systèmes de mémoires rapides convenant à la commande d'un
visuel à trame et autre.
Brièvement décrit, un visuel à trame est un dispositif de sortie quelconque qui produit une image en édifiant sélectivement la couleur et/ou l'intensité de nombreux petits points (ou éléments d'image, également
appelés pixels) qui sont agencés en un réseau rectangu-
laire régulier. Un tel visuel peut comprendre des disposi-
tifs à régénération périodique te]s que le visuel à tube à rayons cathodiques ou des dispositifs d'impression sur
papier tels que les imprimantes à laser à trame xérogra-
phique.
La création d'image par ordinateur s'est éloi-
gnée des visuels calligraphiques, tels que les tubes à
rayons cathodiques à balayage cavalier et les tables traçan-
tes pour se rapprocher des visuels à trame tels que les écrans de télévision etles imprimantes matricielles par pages. Cette conversion est due à de nombreuses-.raisons
parmi lesquelles: (1) les visuels à trame coûtent beau-
coup moins cher que d'autres procédés de visualisation; (2) la plupart des visuels à trame reposent sur une mémoire
tampon de séquence et le coût d'une mémoire à semi-
conducteur a récemment décliné de façon brusque; (3) les visuels à trame peuvent remplir des surfaces de couleurs
pleines (et d'ombre), alors que les visuels télégraphi-
ques ne peuvent dessiner efficacement que des contours;
et (4) les visuels à trame peuvent afficher des carac-
tères de nombreuses formes de polices, de façon plus
naturelle et plus efficace que les visuels calligraphiques.
Un système d'affichage graphique typique pré-
sente des descriptions de haut niveau d'une image à deux
ou trois dimensions, en coordonnées universelles qui sont
les coordonnées décrivant le plus naturellement l'image.
Cette image est transformée et limitée à l'aide de pro-
cédés graphiquesbien connus en une représentation à deux dimensions sous la forme d'éléments graphiques de base
décrits dans les coordonnées de l'écran d'affichage.
Ces fonctions de transformation ont été incorporées dans un circuit intégré à très grande échelle, de conception
VLSI, comme décrit dans le brevet des Etats-Unis d'Améri-
que n A-36257. Un convertisseur ou générateur de visua-
lisation avec balayage par trame ajoute ces éléments de base transformés à l'image formée par balayage par trame,
partiellement achevée (c'est-à-dire qu'il modifie l'inten-
sité de certains des pixels de la trame ou du réseau de l'image) et il affiche ou imprime également la trame de l'image.
Malheureusement, le passage des visuels calli-
graphiques aux visuels à balayage par trame a posé de nouveaux problèmes. Dans un système à trame, il est nécessaire, non seulement de calculer les positions des éléments de base, mais également de remplir tous les éléments d'image à l'intérieur des éléments de base à l'aide des valeurs souhaitées. Actuellement, la vitesse
à laquelle des polygones peuvent être remplis e'st géné-
ralement très inférieure à la vitesse à laquelle la
position des polygones peut être calculée.
En conséquence, l'utilisation de visuels à trame pour des images produites en temps réel est limitée et coûteuse. Par exemple, si une image de 1000 par 1000 pixels doit être redessinée 30 fois par seconde, il faut généralement accéder à plus de 30 millions de pixels par seconde. Ceci pose le problème de la visualisation avec
balayage par trame.
Conformément à l'invention, il est prévu un système de mémoire rapide et de processeurs qui comprend plusieurs segments de mémoire. Chaque segment de mémoire comprend un réseau de mémoires vives et un processeur qui commande l'enregistrement, l'accès et la manipulation des données dans le réseau. Plusieurs segments de mémoire coopèrent de façon à enregistrer des données de pixel correspondant à plusieurs lignes de balayage par trame mais travaillent en réponse à un processeur de ligne de balayage partagé. Le processeur de ligne de balayage
reçoit des données transformées et limitées d'un proces-
seur de transformation graphique et de limitation et convertit chaque objet graphique qui lui est transmis en une séquence de segments de pixels horizontaux qui sont présentés aux segments de mémoire, en tant qu'ordres de la forme: ligne de balayage (Y), point de départ (Xs), point de fin (xe), configuration de remplissage de pixels et opérations de l'unité logique arithmétique. Chaque processeur de segment de mémoire réagit à cesordres de segments horizontaux en mettant à jour les segments de
mémoire en réponse auxdits ordres.
L'invention a donc pour objet un système de mémoire rapide, et notamment un système de mémoire comprenant plusieurs segments de mémoire commandés
chacun par un processeur exclusif. L'invention a égale-
ment pour objet un système de mémoire hautement associatif
qui est aisément réalisé à l'aide des techniques d'inté-
gration à très grande échelle.
L'invention sera décrite plus en détail en regard des dessins annexés à titre d'exemples nullement limitatifs et sur lesquels:
la figure 1 est un schéma fonctionnel simpli-
fié d'un système d'affichage graphique;
la figure 2 est un schéma fonctionnel simpli-
fié du générateur de visualisation avec balayage par trame de la figure 1, comprenant un système de mémoire conforme à l'invention;
la figure 3 est un schéma fonctionnel simpli-
fié d'un système de mémoire comprenant plusieurs segments de mémoire conformes à l'invention et tels qu'utilisés dans le générateur de visualisation avec balayage par trame de la figure 2;
la figure 4 est un schéma fonctionnel simpli-
fié du processeur de lignes de balayage de la figure 3;
5. la figure 5 représente un polygone à affi-
cher et illustre le fonctionnement du processeur de lignes de balayage; la figure 6 illustre l'effet de chacun des ordres de remplissage de lignes horizontales transmis par les processeurs de lignes de balayage aux segments de mémoire;
la figure 7 est un schéma fonctionnel simpli-
fié d'un segment de mémoire conforme à l'invention;
la figure 8 est un schéma fonctionnel simpli-
fié d'une unité logique arithmétique (ULA) de lignes de balayage dans les segments de mémoire de la figure 7;
les figures 9 à 11 sont des schémas fonction-
nels simplifies de variantes d'agencements de systèmes
de mémoire conformes à l'invention;-
20. la figure 12 est un schéma fonctionnel simpli-
fié d'un segment de mémoire qui permet. un nuancement doux; la figure 13 est.un schéma d'une structure arborescente de multiplicateurs convenant au segment de mémoire de la figure 12; et
la figure 14 est, un schéma d'un réseau géné-
ral d'unité logique arithmétique et de circuits associés,
conformes à l'invention.
En référence à présent aux dessins, la figure 1
est un schéma fonctionnel simplifié d'un système d'affi-
chage graphique dans lequel des éléments de base, en coordonnées universelles (par exemple un polygone ou une
ligne), sont transformés, comme indiqué en 10, en coor-
données d'écran qui sont ensuite limitées en 12, pour
la commande d'un dispositif d'affichage ou visuel.
Les fonctions des unités 10 et 12 peuvent être réalisées par une machine à géométrie comme décrit dans le brevet
n A-36257 précité. Les coordonnées, telles que transfor-
mées et limitées pour être utilisées dans le visuel, sont ensuite appliquées à un générateur de visualisation avec balayage par trame 14 qui comprend une mémoire de masse destinée à enregistrer l'image partiellement construite
sous la forme d'un réseau de pixels et des moyens desti-
nés à commander les lignes de balayage par trame dans le
dispositif d'affichage 16.
Comme décrit précédemment, le dispositif d'af-
fichage ou visuel peut comprendre une image de 1000 par 1000 pixels qui doit être redessinée 30 fois par seconde sur un tube à rayons cathodiques. Par conséquent, il faut accéder à chaque seconde à des données correspondant à
millions de pixels.
En variante, le visuel peut être une imprimante matricielleou à trame capable d'imprimer, à chaque seconde, une feuille de papier de 21,5 par 28 cm. Si la résolution est de 118 pixels par cm: dans les directions X et Y, il
faut accéder à chaque seconde à 8,4 millions de pixels.
La figure 2 est un schéma fonctionnel simpli-
fié d'un générateur de visualisation avec balayage par trame utilisant un système de mémoire rapide conforme à l'invention. Le générateur comprend un processeur 20 de lignes de balayage, plusieurs segments de mémoire qui sont commandés par le processeur 20, et un contrôleur 24 d'affichage. Le processeur 20 de lignes de balayage reçoit des éléments de base en coordonnées d'écran du
processeur 10 de transformation géométrique, et le pro-
cesseur 20 produit alors des ordres de remplissage d'une ligne horizontale RLH (Y, Xs, Xe) qu'il transmet aux segments 22 de mémoire. Les données provenant des segments de mémoire sont ensuite produites sous forme numérique pour une image de trame qui est transmise au
contrôleur 24 du visuel afin de commander ce dernier.
Le processeur de lignes de balayage convertit chaque
élément de base graphique en séquences de pixels hori-
zontaux à remplir, comme décrit plus en détail ci-après en référence aux figures 4 et 5. Les segments 22 de mémoire ont pour fonction de maintenir l'image de trame (c'est-à-dire le réseau de pixels) et de la modifier à
la réception d'ordres de remplissage d'une ligne horizon-
tale du processeur de lignes de balayage. La fonction exacte des ordres de remplissage de ligne horizontale
sera décrite ci-après en référence aux figures 4 et 6.
Le contrôleur 24 du visuel extrait l'image tramée des processeurs de trame et commande le visuel àtrame ou
l'imprimante à trame.
La figure 3 est un schéma fonctionnel simplifié d'un système de mémoire comprenant plusieurs segments de mémoire conformes à l'invention et tel qu'utilisé dans le générateur de visualisation avec balayage par trame de la figure 2. Dans cette forme de réalisation, 16 processeurs
20 de lignes de balayage commandent un réseau de 64 seg-
ments 22 de mémoire qui commandent les données de pixels pour un visuel comportant 24 lignes de balayage avec 1024 pixels par ligne de balayage. Dans cette forme de réalisation, chaque processeur de ligne de balayage
commande quatre segments de mémoire qui, ensemble, enre-
gistrent et modifient les données pour 64 lignes de 1024 pixels chacune. Chaque segment de mémoire peut comprendre une mémoire à 16K avancée en 64 lignes avec 256 bits de données par ligne. Chaque groupe de segments de mémoire travaille sous la commande de l'un des 16 processeurs 20 de lignes de balayage, ce qui permet des opérations indépendantes et en parallèle des groupes de segments de mémoire. En outre, chaque segment 22 de mémoire comprend son propre processeur de manière à pouvoir être manipulé en parallèle avec d'autres segments de mémoire commandés par le processeur partagé 20 de
lignes de balayage.
La figure 4 est un schéma fonctionnel simplifié d'une forme préférée de réalisation du processeur de ligne de balayage. Pour plus de clarté, le processeur ne traite que des caractères et des polygones monotones dans lesquels une ligne horizontale coupe au maximum
deux fois le périmètre du polygone. La figure 5 illus-
tre un tel polygone. Les sommets du polygone sont pré-
sentés au processeur en ordre Y décroissant, et chaque sommet est identifié selon qu'il fait partie du bord
gauche ou du bord droit du polygone.
En référence à la figure 4, des ordres présents sur le bus 30 sont interprétés par le décodeur 32 d'ordre qui a pour fonction de distribuer les ordres vers le
bloc fonctionnel parallèle de mémoire approprié.
Chaque bloc de fonction parallèle est composé d'un ordi-
nateur à programme mémorisé classique, ainsi qu'il est
bien connu dans la technique.
Le décodeur 32 d'ordre peut recevoir quatre types généraux d'ordres: (i) remplissage de mémoire 40 d'image tramée avec une configuration donnée qui sera utilisée pour remplir l'intérieur des polygones suivants, (ii) remplissage d'une mémoire 42 de police qui sera utilisée pour placer ensuite des caractères dans l'image formée par trame, (iii) visualisation avec balayage par trame du polygone en validant le processeur 34 de polygone, (v) visualisation avec balayage par trame d'un
caractère en validant le processeur 44 de police.
Le processeur 34 de polygone a pour fonction de visualiser par balayage par trame le polygone en
cours jusqu'à l'extrémité du bord droit ou gauche réel.
A ce moment, le processeur 34 attend le bord suivant du décodeur d'ordre. Lorsque le bord suivant est reçu, la visualisation avec balayage par trame du polygone se poursuit au moyen d'algorithmes de ligne de balayage bien connus dans la technique. Les deux processeurs 36 et 38 de bords calculent simultanément les coordonnées X de commencement et de fin de la ligne suivante de balayage à visualiser par trame, à l'aide de procédés bien connus dans la technique. La figure 5 illustre ces opérations. Après que les deux processeurs de bords ont calculé l'intersection de la ligne de balayage en cours (Y) avec les deux bords du polygone, cette information est transmise aux segments de mémoire sous la forme d'un ordre de remplissage de ligne horizontale comprenant: (i) unecoordonnéeY (c'est-à-dire la ligne de balayage) devant être modifiée, (ii) le premier pixel devant être affecté (qui a été calculé par le processeur de bord gauche 38), (iii) le dernier pixel devant être affecté (qui a été calculé par le processeur de bord droit), et (iv) la combinaison tramée à 16 bits à utiliser en combinaison répétée pour remplir le segment horizontal
choisi. L'effet de cet ordre est illustré sur la figure 6.
La combinaison de trame est choisie par le
processeur 34 de polygone à partir dé l'une des 16 combi-
naisons enregistrées dans la mémoire 30 de trame. Ces combinaisons y sont enregistrées à l'aide d'ordres transmis au processeur 20 de ligne de balayage par l'intermédiaire du bus 30 de ce processeur. Le processeur 34 de polygone choisit l'une des 16 combinaisons en
utilisant la fonction [(coordonnée Y actuelle) module 16].
Ceci a pour effet de répéter la combinaison de trame
toutes les 16 lignes de balayage.
Le processeur 44 de police a pour fonction de placer le caractère en cours dans la trame. Il extrait la combinaison de caractère de la mémoire de police et utilise le dispositif 46 de décalage de tambour pbur aligner convenablement la combinaison de caractère à mettre en place dans les segments de mémoire. Chaque caractère est placé dans la trame d'image d'un grand nombre de sections horizontales à 16 bits par l'émission
d'ordresde remplissage de ligne horizontale comme mon-
tré sur la figure 6, lesquels ordres ne modifient que 16 pixels à la fois, et à l'aide d'une combinaison de trame qui représente une des lignes de balayage du
caractère devant être visualisé avec balayage par trame.
Ainsi, chaque caractère est visualisé avec balayage par trame par l'émission d'un ordre de remplissage de ligne
horizontale pour chaque ligne de balayage que le carac-
tère occupe.
Il convient de noter que toutes les fonctions
du processeur de ligne de balayage peuvent être exécu-
tées par un ordinateur à programme enregistré classique (par exemple un microprocesseur "Motorola 68000" avec mémoire associée), programmé au moyen d'algorithmes permettant d'exécuter les opérations décrites et qui sont bien connus dans la technique. La forme préférée de réalisation décrite ci-dessus accélère simplement la fonction du processeur de ligne de balayage par la mise
en oeuvre en parallèle de plusieurs processeurs classi-
ques pour parvenir au même résultat.
La figure 7 est un schéma fonctionnel simplifié d'un segment de mémoire d'une forme de réalisation de
l'invention, composé de 6 sections principales.
La mémoire principale 50 est une mémoire vive statique ou dynamique normale. Il est souhaitable d'utiliser un réseau beaucoup plus large que long afin
de pouvoir travailler le plus possible en parallèle.
Dans cette forme de réalisation, une mémoire vive à
16K bits doit être utilisée, cette mémoire étant organi-
sée en 64 mots (c'est-à-dire rangées) de 256 bits
(c'est-à-dire colonnes) chacun.
L'unité logique et arithmétique 52 de trame (ULA) intercepte la combinaison arrivante de trame à 16 bits et exécute de simples Opérations booléennes qui permettent une représentation tramée de plusieurs
valeurs tout en formant des images d'éléments de base.
La combinaison de trame arrivante peut être interpré- tée de l'une des quatre manières suivantes: (1) elle est utilisée telle quelle; (2) elle est inversée bit par bit avant d'être utilisée; (3) elle est ignorée et tous les bits 1 sont alors utilisés, (4) elle est ignorée et tous les bits 0 sont alors utilisés. Ceci permet de former une image tramée de valeurs multiples tout en formant des images d'éléments de base. Si chacun des pixels peut prendre l'un de 8 niveaux de gris, il est possible de former une image tramée au moyen d'un mélange de deux des 8 valeurs de l'échelle des gris. Par exemple, pour
obtenir une intensité de 5,5, on peut remplir un poly-
gone d'une configuration alternée de valeurs de gris et 6. Cet effet peut être obtenu par la transmission d'ordres de remplissage de pixels au processeur de segments de mémoire tout en ordonnant que le plan des bits de poids fort utilise une combinaison de trame constituée de tous les bits 1, le plan médian utilise la combinaison de trame telle que fournie, et le plan de poids faible utilise la combinaison inversée. Ceci a pour effet de placer un 6 dans tous les emplacements o
la combinaison de trame est 1 et 5 ailleurs.
Le comparateur 54 en parallèle établit tous les bits de sortie dont la position est inférieure à la coordonnée X donnée. Ceci a pour effet de choisir les
limites gauche et droite des pixels devant être affec-
tés lors de l'exécution d'un ordre de remplissage de ligne horizontale. Ces limites sont utilisées par l'unité
logique et arithmétique 56 des lignes de balayage.
L'unité ULA 56 de ligne de balayage détermine la valeur devant être réenregistrée dans le réseau de 1 1 mémoire, en fonction des valeurs d'entrée provenant du comparateur en parallèle 54, de l'unité ULA 52 de trame (par l'intermédiaire du bus de trame) et du réseau de
mémoire 50.
Les bascules 58 d'affichage bloquent une ligne de balayage provenant d'amplificateurs différentiels 60 afin que la ligne puisse être retirée des segments de mémoire indépendamment du fonctionnement de la partie
restante des composants des segments de mémoire.
Une logique 62 commande le réseau de mémoire, le comparateur en parallèle, les unités ULA et les bascules d'affichage afin de leur faire exécuter les ordres de remplissage de ligne horizontale que cette
commande reçoit.
Pour distribuer les bits répétés de combinai-
sons de trame vers les bits correspondants des mots de mémoire, chacun des 16 bits provenant de l'unité ULA de trame est transmis à chaque seizième colonne. Ceci est réalisé au moyen d'un bus 34 de 16 bits s'étendant horizontalement au-dessus du réseau de mémoire...Si l'on souhaite placer des combinaisons qui sont alignées par rapport aux coordonnées X de début (par exemple pour des caractères à visualiser par balayage par trame), il est
nécessaire de faire tourner la combinaison de X mod 16.
Cette rotation peut être exécutée par le processeur de ligne de balayage sans accroissement de la bande passante entre le processeur de ligne de balayage et le segment de mémoire. La figure 8 est un schéma fonctionnel simplifié
de l'unité ULA 56 de ligne de balayage et on décrira ci-
après un cycle classique de fonctionnement de cette unité lors de l'exécution d'une opération de remplissage
de ligne horizontale.
En premier lieu, la coordonnée de début (incluse) (Xs) de l'étendue X (c'est-à-dire étendue d'une colonne) à affecter est présentée au comparateur en parallèle et l'inverse de son signal de sortie est bloqué dans une bascule L1. Ainsi, la bascule L1 est dans l'état vrai pour tous les emplacements (c'est-à-dire colonnes) situés le long de la ligne de balayage, qui sont supé-
rieurs ou égaux à Xs.
En second lieu, la coordonnée de fin (exclusive) (Xe) de l'étendue X est présentée au comparateur en parallèle et le signal de sortie de celui-ci est bloqué dans une bascule L2. Par conséquent, la bascule L2 est dans l'état vrai pour tous les emplacements situés le
long de la ligne de balayage, qui sont inférieurs à Xe.
Par conséquent, SEL(j) est vrai pour tous les X dans
l'intervalle (Xs, Xe).
A ce moment, le réseau de mémoire vive a récu-
péré les valeurs actuelles des pixels (IR(j)) dans la ligne de balayage alors choisie. L'unité ULA travaille sur les bits choisis comme souhaité et génère les pixels
IW(j) devant être réécrits dans la mémoire.
Pour que l'unité ULA reste aussi simple que possible, seul le groupe minimal d'opérations suivantes doit être exécuté: (i) aucune opération, effectuer (1W<j) = 1R(j), (ii) remplacer les pixels de trame dans tous les emplacements choisis de pixels, (iii) soumettre à une opération OU les pixels de trame avec tous les pixels choisis. D'autres fonctions sont possibles (par exemple toutes les opérations booléennes connues) au
prix d'un agrandissement de l'unité ULA.
Les figures 9 à 11 sont des schémas fonctionnels simplifiés de variantes de systèmes de mémoire conformes à l'invention. Sur la figure 9, chaque processeur de ligne de balayage commande deux rangées de segments de mémoire, réduisant ainsi le coût du système de mémoire, mais
réduisant également les opérations effectuées en paral-
lèle. Sur la figure 10, il est prévu un système à double tampon dans lequel un premier jeu de segoents de mémoire est affiché tandis qu'un autre jeu est commandé par les processeurs de ligne de balayage qui génèrent la trame suivante à afficher. Cet agencement permet au processeur de ligne de balayage d'être complètement utilisé. La
figure 11 représente un système de mémoire à bits multi-
ples par pixel (par exemple une échelle de gris). Pour
la commande de plans de bits multiples, il suffit d'ajou-
ter deux lignes indépendantes de commande entre chaque processeur de ligne de balayage et chaque plan de bit séparé. L'ensemble des lignes de commande peut encore être partagé entre tous les segments de mémoire dans
tous les plans de bits.
Au prix d'une certaine complication de l'archi-
tecture des segments de mémoire, il est possible d'ajou-
ter une possibilité de nuancement douce de Gouraud comme montré sur la figure 12. Chaque pixel est enregistré sous la forme d'une valeur d'intensité de K bits verticalement" le long d'une colonne du réseau de mémoire, comme montré. La sous-gamme appropriée de pixels X peut être calculée par le comparateur en parallèle, comme précédemment. Cependant, étant donné que les pixels sont enregistrés verticalement, au moins K cycles de mémoire sont nécessaires pour enregistrer des intensités dans
les pixels choisis.
Pour nuancer en douceur un polygone (opération
connue sous le nom de nuancement de Gouraud dans la tech-
nique), il est nécessaire de placer les valeurs d'inten-
sité en interpolation linéaire à chaque pixel le long d'une ligne de balayage. Il est heureusement aisé de générer une interpolation linéaire en série de bits au moyen d'une structure binaire arborescente, similaire à un multiplicateur en série tel qu'illustré sur la figure 13. Chaque noeud de la structure arborescente est constitué soit par un simple additionneur série,
25650-14
soit par une unité de retard. Lorsque le coefficient A
et la constante C sont insérés en série dans la struc-
ture arborescente (par le processeur de ligne de balayage), chaque noeud de feuille de la structure arborescente commence à générer un bit de la valeur Ax + constante, o x représente la position physique de la feuille dans la
structure arborescente telle que montrée. Si les intensi-
tés doivent être comprises avec précision dans une valeur d'intensité, A doit être représenté sous la forme d'un nombre de points fixes, avec une partie fractionnaire de dimension égale au nombre total de bits demandé pour représenter la coordonnée X maximale (appelée N) (par exemple si une intensité de 8 bits est souhaitée pour un écran d'une largeur de 1024 pixels, A doit avoir
8 bits entiers et 10 bits fractionnaires).
En conséquence, chaque ligne de balayage d'un
polygone à nuancement doux demande N + K cycles de pro-
cesseur dont seulement les K derniers enregistrent des
bits dans les pixels choisis. Cependant, pour une repré-
sentation de la totalité des K bits par pixel, on doit à présent réaliser un système comportant K fois plus de processeurs (que pour un système à un bit par-pixel) pour tenir compte des bits supplémentaires. Ceux-ci peuvent tous travailler en parallèle de sorte que la diminution effective de performance (par rapport à un système à un bit par pixel) n'est que (N + K) / K, qui
est environ 2 si N et K sont approximativement égaux.
Par conséquent, il,faut seulement deux fois plus de temps pour remplir un polygone à nuancement doux que
pour remplir un polygone à intensité constante.
Jusqu'à présent, on a décrit un système à fonction particulière, qui est adapté à la fonction particulière d'une visualisation avec balayage par trame rapide. Cependant, en généralisant légèrement l'unité ULA et le circuit associé (le trajet des données) pour le bord supérieur du réseau de mémoire, comme montré sur la figure 14, on obtient un trajet général de données de processeurs hautement parallèle, à usage général, pouvant être programmé pour l'exécution de nombreuses tâches. L'entrée vers le réseau et la sortie du réseau peuvent être commandées au moyen d'un registre à décalage ou par tout autre dispositif extérieur. En raison de sa nature à usage général, il n'est pas possible de décrire toutes les utilisations particulières dans lesquelles une telle architecture peut être placée. Il est évident
que l'une des utilisations est l'exécution d'une visuali-
sation avec balayage par trame, mais toute tâche pouvant
utiliser cette architecture peut être réalisée.
Ainsi qu'on peut le voir, la structure du pro-
cesseur est similaire à celle d'un trajet de données d'ordinateur classique. La nouveauté réside dans le fait que (i) le processeur estassocié à un grand réseau bidimensionnel de mémoire, auquel on peut accéder rangée par rangée, et (ii) le nombre de bits contenus dans le "mot" du trajet de données est très supérieur aux nombres utilisés dans la technique (256 ou plus au lieu de 16 ou 32), et (iii) en raison de ce "mot" élargi, le processeur et la mémoire sont placés physiquement à proximité l'un
de l'autre, sur un seul circuit intégré.
Cette architecture ne serait pas possible s'il n'existait le rapprochement intime du trajet de données du processeur et de la mémoire sur laquelle il travaille en raison de l'impossibilité de connecter 256 (ou plus) mots de bits entre la mémoire et les unités de calcul
lorsqu'elles sont physiquement séparées.
On a décrit un système de mémoire rapide qui est particulièrement avantageux pour la commande d'une image à trame. En utilisant plusieurs segments de mémoire
ayant chacun son propre processeur, on obtient un fonc-
tionnement en parallèle dans lequel la remise à jour et
la manipulation rapide des données sont facilitées.
Les segments de mémoire favorisent en eux-mêmes l'appli-
cation de techniques de fabrication de micro-circuits
à intégration à très grande échelle (VLSI).
Il va de soi que de nombreuses modifications peuvent être apportées au système décrit et représenté sans sortir du cadre de l'invention. Par exemple, un ordinateur classique à programme enregistré, basé sur le type AMD 2901, par exemple, peut être utilisé comme processeur de ligne de balayage. Ce processeur peut être programmé à l'aide d'algorithmes graphiques connus dans la technique pour générer les ordres nécessaires aux
segments de mémoire.
Claims (30)
1. Système de mémoire rapide pour former une trame d'éléments pixels constituant une image qui est affichée en réponse à des données de pixels, l'image étant réalisée par balayage suivant plusieurs lignes, le système de mémoire étant caractérisé en ce qu'il
comporte un bus pour la circulation de données transfor-
mées d'éléments.de base graphiques en coordonnées d'affi-
chage, plusieurs processeurs (20) de lignes de balayage connectés de façon à recevoir les données transformées
dudit bus, chaque processeur de ligne de balayage comman-
dant des données pour plusieurs lignes de balayage, et plusieurs moyens de mémorisation de données destinés à enregistrer des données pour toutes les lignes de balayage, chacun des moyens de mémorisation de données étant connecté de façon à recevoir des données de l'un des processeurs de lignes de balayage, chacun desdits moyens de mémorisation de données comprenant plusieurs segments de mémoire (22) enregistrant chacun des données correspondant à une partie limitée de chacune des lignes de balayage commandées par le processeur de ligne de balayage auquel les moyens de mémorisation de données sont connectés, de façon à permettre un enregistrement, un accès et un travail en parallèle sur les données
enregistrées.
2. Système de mémoire selon la revendication 1, caractérisé en ce que chaque segment de mémoire comprend un réseau (50) de mémoire vive représentant une partie d'une image de trame et un processeur qui, en réponse à des données correspondant à un numéro de ligne de
balayage,à un point de départ et à un point de fin pro-
venant dudit processeur de ligne de balayage, modifie
des données choisies dans ledit réseau de mémoire vive.
3. Système de mémoire selon la revendication 2, caractérisé en ce que le processeur réagit en outre à
des données de combinaison de trame provenant du proces-
seur de ligne de balayage, en enregistrant des données,
et en y accédant, dans le réseau de mémoire vive.
4. Système de mémoire selon la revendication 2, caractérisé en ce que le processeur réagit en outre à des ordres provenant du processeur de ligne de balayage en exécutant des opérations de logique booléenne sur des
parties choisies de données de trame enregistrées.
5. Système de mémoire selon la revendication 2, caractérisé en ce que le processeur réagit à des ordres comprenant la rangée du réseau de mémoire, les premier et dernier éléments d'un sous-ensemble contigu qu'une unité logique et arithmétique (56) doit modifier, la configuration de bits pour la configuration de trame, et l'opération de logique booléenne que l'unité logique et
arithmétique doit exécuter.
6. Système de mémoire selon l'une des revendi-
cations 2 et 5, caractérisé en ce que chaque segment de mémoire comprend une bascule (58) d'affichage destinée à recevoir des données des moyens à mémoire vive afin de les utiliser pour extraire l'image dudit segment de mémoire.
7. Système de mémoire selon la revendication 1, caractérisé en ce que les moyens à mémoires de données enregistrent des données de pixels sous forme de valeurs d'intensité.
8. Système de mémoire selon la revendication 7, caractérisé en ce que les moyens à mémoires de données comprennent plusieurs (K) positions d'enregistrement pour chaque valeur d'intensité de pixel (K bits), ces positions d'enregistrement étant agencées de manière qu'un bit de chacun des pixels d'une ligne de balayage
soit accessible en même temps pour tous les pixels.
9. Système de mémoire selon la revendication 8, caractérisé en ce que chaque rangée du réseau de mémoire contient l'un des grands K bits d'intensité d'une
rangée de pixels.
10. Système de mémoire selon l'une des revendi-
cations 8 et 9, caractérisé en ce qu'il comporte en outre une structure arborescente binaire pour produire des
valeurs d'intensité de pixels interpolées.
11. Système de mémoire selon la revendication 10,
caractérisé en ce que les valeurs interpolées sont calcu-
lées simultanément pour tous les pixels choisis sur une ligne de balayage, lesdites valeurs étant produites pour
tous les pixels choisis, un bit à la fois.
12. Procédé de traitement de données pour géné-
rer une image de trame à lignes multiples, caractérisé en ce qu'il consiste à enregistrer des données de pixels pour plusieurs lignes de balayage, dans des emplacements situés dans plusieurs segments de mémoire et auxquels
on peut accéder en parallèle, et, simultanément, à accé-
der, traiter et modifier plusieurs emplacements de données
de pixels pour toute ligne de balayage.
13. Procédé selon la revendication 12, caracté-
risé en ce qu'il consiste à bloquer des données de pixels provenant de plusieurs segments de mémoire pour la commande d'affichage d'une ligne de balayage, ce qui permet de manipuler les données enregistrées dans lesdits segments de mémoire pendant que les données bloquées
sont extraites indépendamment dudit segment de mémoire.
14. Procédé selon la revendication 13, caracté-
risé en ce qu'il consiste à traiter en parallèle des
données pour plusieurs lignes de balayage.
15. Procédé selon la revendication 12, caracté-
risé en ce que les données sont traitées en ordres s'éten-
dant en longueur, englobant une ligne de balayage conte-
nant les pixels à modifier (Y), un premier point à modi-
fier (Xs) et un dernier point à modifier (Xe).
16. Procédé selon la revendication 12, caractérisé
en ce que des éléments de base graphiques sont transfor-
més en ordres de remplissage de ligne horizontale trans-
mis auxdits segments de mémoire.
17. Segment de mémoire à utiliser dans une mémoire rapide à architecture parallèle, caractérisé en
ce qu'il comporte un réseau (50) de mémoire vive compre-
nant des éléments d'enregistrement disposés en rangées et colonnes, une unité logique et arithmétique (56) qui, en réponse à des signaux de commande, enregistre des données dans le réseau de mémoire, accède à ces données et travaille sur elles, et des moyens.(62) de commande destinés à diriger l'unité logique et arithmétique pour l'accès, le travail et l'enregistrement de données, un accès simultané à et un travail simultané sur tous les
éléments de mémoire d'une rangée étant possibles.
18. Segment de mémoire selon la revendication 17, caractérisé en ce que ledit segment comprend un circuit
intégré-à semi-conducteur.
19. Segment de mémoire selon la revendication 17, caractérisé en ce que les moyens de commande et l'unité logique et arithmétique réagissent à des ordres de façon à travailler sur des sous-ensembles d'une rangée de mémoires sans modifier des parties non choisies, ledit sous-ensemble pouvant être modifié d'une opération à la
suivante.
- 20. Segment dé mémoire selon la revendication 17, caractérisé en ce que l'unité logique et arithmétique réagit
en outre à des données de combinaison de trame pour accé-
der à, travailler sur et enregistrer des données dans
ledit réseau de mémoire vive.
21. Segment de mémoire selon la revendication 20, caractérisé en ce que l'unité logique et arithmétique réagit en outre à des ordres de façon.à modifier des données enregistrées en exécutant des opérations de logique booléenne sur des parties spécifiées des données accédées
et sur la combinaison de trame.
22. Segment de mémoire selon la revendication 21, caractérisé en ce qu'il comporte en outre une bascule (58) destinée à recevoir des données des moyens de mémoire vive pour permettre une manipulation continue des données enregistrées dans ledit réseau de mémoire en même temps que les données placées dans la bascule sont extraites
indépendamment dudit segment de mémoire.
23. Segment de mémoire selon la revendication 22, caractérisé en ce qu'il exécute des ordres comprenant quatre éléments: (i) la rangée du réseau de mémoire sur laquelle travaille ladite unité logique et arithmétique, (ii) les premier et dernier éléments de ladite partie de données accédées que l'unité logique et arithmétique doit modifier, (iii) la combinaison de bits de la combinaison de trame, (iv) l'opération de logique booléenne que
l'unité logique et arithmétique doit exécuter.
24. Segment de mémoire selon la revendication 23, caractérisé en ce que les moyens de commande comprennent des moyens destinés à enregistrer un certain nombre desdites combinaisons et à présenter l'une d'elles à un générateur de combinaison à chaque fois que l'un des ordres s'étendant en longueur est présenté au segment
de mémoire.
25. Segment de mémoire selon la revendication 22,
caractérisé en ce que ladite combinaison peut être modi-
fiée au moyen d'opérations connues de logique booléenne avant d'être utilisée par l'unité logique et arithmétique
pour travailler sur ladite partie de données accédées.
26. Segment de mémoire selon la revendication 17, caractérisé en ce que les moyens de mémorisation de données enregistrent des données de pixels sous forme de valeurs d'intensité.
27. Segment de mémoire selon la revendication 17, caractérisé en ce que les moyens de mémorisation de
données comprennent plusieurs (K) positions d'enregis-
trement pour chaque valeur de l'intensité de pixels (K bit), lesdites positions d'enregistrement étant agencées de manière qu'un bit de chacun des pixels d'une ligne de balayage soit accessible en même temps pour tous les bits.
28. Segment de mémoire selon la revendication 27, caractérisé en ce que chaque rangée du réseau de mémoire contient l'un des grands K bits d'intensité d'une rangée
de pixels.
29. Segment de mémoire selon l'une des revendi-
cations 27 et 28, caractérisé en ce qu'il comporte en outre une structure binaire arborescente pour produire
des valeurs d'intensité de pixels interpolées.
30. Segment de mémoire selon la revendication 29,
caractérisé en ce que les valeurs interpolées sont calcu-
lées en même temps pour tous les pixels choisis sur une ligne de balayage, lesdites valeurs étant produites pour
tous les pixels choisis, un bit. à la fois.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US06/613,605 US4648045A (en) | 1984-05-23 | 1984-05-23 | High speed memory and processor system for raster display |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| FR2565014A1 true FR2565014A1 (fr) | 1985-11-29 |
| FR2565014B1 FR2565014B1 (fr) | 1989-01-13 |
Family
ID=24457962
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| FR8507686A Expired FR2565014B1 (fr) | 1984-05-23 | 1985-05-22 | Systeme de memoire rapide et procede de traitement de donnees pour produire une trame d'elements d'image, et segment de memoire rapide |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US4648045A (fr) |
| JP (1) | JPS6158083A (fr) |
| DE (1) | DE3518416A1 (fr) |
| FR (1) | FR2565014B1 (fr) |
| GB (1) | GB2159308B (fr) |
| IT (1) | IT1183662B (fr) |
Families Citing this family (80)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6247786A (ja) * | 1985-08-27 | 1987-03-02 | Hamamatsu Photonics Kk | 近傍画像処理専用メモリ |
| US4791582A (en) * | 1985-09-27 | 1988-12-13 | Daikin Industries, Ltd. | Polygon-filling apparatus used in a scanning display unit and method of filling the same |
| US4758965A (en) * | 1985-10-09 | 1988-07-19 | International Business Machines Corporation | Polygon fill processor |
| EP0228745A3 (fr) * | 1985-12-30 | 1990-03-28 | Koninklijke Philips Electronics N.V. | Dispositif de contrôle d'affichage vidéo à balayage à trame comportant une antémémoire de mise à jour, antémémoire de mise à jour pour application dans un tel dispositif de contrôle, et terminal d'affichage comportant un tel dispositif de contrôle |
| US4839828A (en) * | 1986-01-21 | 1989-06-13 | International Business Machines Corporation | Memory read/write control system for color graphic display |
| US4967375A (en) * | 1986-03-17 | 1990-10-30 | Star Technologies, Inc. | Fast architecture for graphics processor |
| JPS62231380A (ja) * | 1986-03-31 | 1987-10-09 | Namuko:Kk | 画像合成装置 |
| US4868557A (en) * | 1986-06-04 | 1989-09-19 | Apple Computer, Inc. | Video display apparatus |
| JP2549642B2 (ja) * | 1986-12-26 | 1996-10-30 | 株式会社東芝 | 画像処理装置 |
| US5276778A (en) * | 1987-01-08 | 1994-01-04 | Ezel, Inc. | Image processing system |
| EP0280320B1 (fr) * | 1987-02-27 | 1994-12-07 | Nec Corporation | Commande d'affichage graphique équipée d'un circuit de recherche de bordure |
| US4825381A (en) * | 1987-03-31 | 1989-04-25 | Rockwell International Corporation | Moving map display |
| US4845631A (en) * | 1987-03-31 | 1989-07-04 | Rockwell International Corporation | Scrolling image memory for high speed avionics moving map display |
| GB8713819D0 (en) * | 1987-06-12 | 1987-12-16 | Smiths Industries Plc | Information processing systems |
| US4755813A (en) * | 1987-06-15 | 1988-07-05 | Xerox Corporation | Screening circuit for screening image pixels |
| US5553170A (en) * | 1987-07-09 | 1996-09-03 | Ezel, Inc. | High speed image processing system having a preparation portion and a converting portion generating a processed image based on the preparation portion |
| US5283866A (en) * | 1987-07-09 | 1994-02-01 | Ezel, Inc. | Image processing system |
| US5254979A (en) * | 1988-03-12 | 1993-10-19 | Dupont Pixel Systems Limited | Raster operations |
| US5016190A (en) * | 1988-05-05 | 1991-05-14 | Delphax Systems | Development of raster scan images from independent cells of imaged data |
| US4949280A (en) * | 1988-05-10 | 1990-08-14 | Battelle Memorial Institute | Parallel processor-based raster graphics system architecture |
| JPH02193265A (ja) * | 1989-01-23 | 1990-07-30 | Hitachi Ltd | 情報処理システム |
| US7382929B2 (en) * | 1989-05-22 | 2008-06-03 | Pixel Instruments Corporation | Spatial scan replication circuit |
| US5175862A (en) * | 1989-12-29 | 1992-12-29 | Supercomputer Systems Limited Partnership | Method and apparatus for a special purpose arithmetic boolean unit |
| SE464265B (sv) * | 1990-01-10 | 1991-03-25 | Stefan Blixt | Grafikprocessor |
| GB2243519B (en) * | 1990-04-11 | 1994-03-23 | Afe Displays Ltd | Image display system |
| US5237655A (en) * | 1990-07-05 | 1993-08-17 | Eastman Kodak Company | Raster image processor for all points addressable printer |
| US5293480A (en) * | 1990-08-06 | 1994-03-08 | At&T Bell Laboratories | High resolution graphics system architecture |
| DE69117112T2 (de) * | 1990-08-08 | 1996-06-27 | Peerless Group | Verfahren und Vorrichtung zur Bildwiedergabe |
| US5509115A (en) * | 1990-08-08 | 1996-04-16 | Peerless Systems Corporation | Method and apparatus for displaying a page with graphics information on a continuous synchronous raster output device |
| US5396586A (en) * | 1990-09-12 | 1995-03-07 | Texas Instruments Incorporated | Apparatus and method for filling regions bounded by conic curves |
| US5321805A (en) * | 1991-02-25 | 1994-06-14 | Westinghouse Electric Corp. | Raster graphics engine for producing graphics on a display |
| ATE164463T1 (de) * | 1991-07-08 | 1998-04-15 | Seiko Epson Corp | Single-chip seitendrucker-steuerschaltung |
| US5493687A (en) | 1991-07-08 | 1996-02-20 | Seiko Epson Corporation | RISC microprocessor architecture implementing multiple typed register sets |
| US5539911A (en) * | 1991-07-08 | 1996-07-23 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution |
| WO1993011500A1 (fr) * | 1991-11-27 | 1993-06-10 | Seiko Epson Corporation | Unite de modification de pixels |
| US5274760A (en) * | 1991-12-24 | 1993-12-28 | International Business Machines Corporation | Extendable multiple image-buffer for graphics systems |
| US5357606A (en) * | 1992-02-25 | 1994-10-18 | Apple Computer, Inc. | Row interleaved frame buffer |
| WO1993020505A2 (fr) * | 1992-03-31 | 1993-10-14 | Seiko Epson Corporation | Planification d'instructions pour ordinateurs superscalaires a jeu d'instructions reduit |
| DE69308548T2 (de) * | 1992-05-01 | 1997-06-12 | Seiko Epson Corp | Vorrichtung und verfahren zum befehlsabschluss in einem superskalaren prozessor. |
| EP0569758A3 (fr) * | 1992-05-15 | 1995-03-15 | Eastman Kodak Co | Procédé et appareil pour créer et mémoriser des caractères tridimensionnels et pour leur composition tridimensionnelle. |
| US5337160A (en) * | 1992-07-01 | 1994-08-09 | Hewlett-Packard | Error diffusion processor and method for converting a grey scale pixel image to a binary value pixel image |
| US5325485A (en) * | 1992-10-30 | 1994-06-28 | International Business Machines Corporation | Method and apparatus for displaying primitives processed by a parallel processor system in a sequential order |
| US5388206A (en) * | 1992-11-13 | 1995-02-07 | The University Of North Carolina | Architecture and apparatus for image generation |
| EP0849665B1 (fr) | 1992-12-31 | 2001-10-04 | Seiko Epson Corporation | Système et procédé pour changer la désignation de registres |
| US5628021A (en) * | 1992-12-31 | 1997-05-06 | Seiko Epson Corporation | System and method for assigning tags to control instruction processing in a superscalar processor |
| CA2201679A1 (fr) * | 1996-04-15 | 1997-10-15 | Raju C. Bopardikar | Stockage de donnees video |
| US5982395A (en) * | 1997-12-31 | 1999-11-09 | Cognex Corporation | Method and apparatus for parallel addressing of an image processing memory |
| US6106172A (en) * | 1998-02-24 | 2000-08-22 | Eastman Kodak Company | Method and printer utilizing a single microprocessor to modulate a printhead and implement printing functions |
| US6073151A (en) * | 1998-06-29 | 2000-06-06 | Motorola, Inc. | Bit-serial linear interpolator with sliced output |
| US6360134B1 (en) * | 1998-07-20 | 2002-03-19 | Photronics, Inc. | Method for creating and improved image on a photomask by negatively and positively overscanning the boundaries of an image pattern at inside corner locations |
| US6803885B1 (en) | 1999-06-21 | 2004-10-12 | Silicon Display Incorporated | Method and system for displaying information using a transportable display chip |
| US6961141B2 (en) * | 2000-02-25 | 2005-11-01 | Eastman Kodak Company | Method and electronic apparatus for formatting and serving inkjet image data |
| US6509978B1 (en) | 2000-02-25 | 2003-01-21 | Eastman Kodak Company | Method and apparatus for formatting bitmapped image data |
| US7012601B2 (en) | 2000-09-07 | 2006-03-14 | Actuality Systems, Inc. | Line drawing for a volumetric display |
| JP2004508779A (ja) | 2000-09-07 | 2004-03-18 | アクチュアリティー システムズ, インク. | 立体3次元表示システム |
| US7715031B2 (en) * | 2002-06-14 | 2010-05-11 | Kyocera Mita Corporation | Method and apparatus for generating an image for output to a raster device |
| US20040196483A1 (en) * | 2003-04-07 | 2004-10-07 | Jacobsen Dana A. | Line based parallel rendering |
| US8860722B2 (en) * | 2004-05-14 | 2014-10-14 | Nvidia Corporation | Early Z scoreboard tracking system and method |
| US8687010B1 (en) | 2004-05-14 | 2014-04-01 | Nvidia Corporation | Arbitrary size texture palettes for use in graphics systems |
| US7280112B1 (en) | 2004-05-14 | 2007-10-09 | Nvidia Corporation | Arithmetic logic unit temporary registers |
| US7710427B1 (en) * | 2004-05-14 | 2010-05-04 | Nvidia Corporation | Arithmetic logic unit and method for processing data in a graphics pipeline |
| US8743142B1 (en) | 2004-05-14 | 2014-06-03 | Nvidia Corporation | Unified data fetch graphics processing system and method |
| US8736628B1 (en) | 2004-05-14 | 2014-05-27 | Nvidia Corporation | Single thread graphics processing system and method |
| US8711155B2 (en) * | 2004-05-14 | 2014-04-29 | Nvidia Corporation | Early kill removal graphics processing system and method |
| US8736620B2 (en) * | 2004-05-14 | 2014-05-27 | Nvidia Corporation | Kill bit graphics processing system and method |
| US8537168B1 (en) | 2006-11-02 | 2013-09-17 | Nvidia Corporation | Method and system for deferred coverage mask generation in a raster stage |
| JP5099406B2 (ja) * | 2006-11-14 | 2012-12-19 | ソニー株式会社 | 信号処理回路および方法 |
| US8775777B2 (en) * | 2007-08-15 | 2014-07-08 | Nvidia Corporation | Techniques for sourcing immediate values from a VLIW |
| US8736624B1 (en) | 2007-08-15 | 2014-05-27 | Nvidia Corporation | Conditional execution flag in graphics applications |
| US8314803B2 (en) | 2007-08-15 | 2012-11-20 | Nvidia Corporation | Buffering deserialized pixel data in a graphics processor unit pipeline |
| US8599208B2 (en) * | 2007-08-15 | 2013-12-03 | Nvidia Corporation | Shared readable and writeable global values in a graphics processor unit pipeline |
| US8521800B1 (en) | 2007-08-15 | 2013-08-27 | Nvidia Corporation | Interconnected arithmetic logic units |
| US9183607B1 (en) | 2007-08-15 | 2015-11-10 | Nvidia Corporation | Scoreboard cache coherence in a graphics pipeline |
| US20090046105A1 (en) * | 2007-08-15 | 2009-02-19 | Bergland Tyson J | Conditional execute bit in a graphics processor unit pipeline |
| US9411595B2 (en) | 2012-05-31 | 2016-08-09 | Nvidia Corporation | Multi-threaded transactional memory coherence |
| US9824009B2 (en) | 2012-12-21 | 2017-11-21 | Nvidia Corporation | Information coherency maintenance systems and methods |
| US10102142B2 (en) | 2012-12-26 | 2018-10-16 | Nvidia Corporation | Virtual address based memory reordering |
| US9317251B2 (en) | 2012-12-31 | 2016-04-19 | Nvidia Corporation | Efficient correction of normalizer shift amount errors in fused multiply add operations |
| KR20140142863A (ko) * | 2013-06-05 | 2014-12-15 | 한국전자통신연구원 | 그래픽 편집기 제공 장치 및 그 방법 |
| US9569385B2 (en) | 2013-09-09 | 2017-02-14 | Nvidia Corporation | Memory transaction ordering |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0025748A1 (fr) * | 1979-09-12 | 1981-03-25 | Etablissement Public de Diffusion dit "Télédiffusion de France" | Dispositif de transmission numérique et affichage de graphismes et/ou de caractères sur un écran |
| EP0095618A2 (fr) * | 1982-05-31 | 1983-12-07 | Kabushiki Kaisha Toshiba | Système de mémoire |
Family Cites Families (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4197590A (en) * | 1976-01-19 | 1980-04-08 | Nugraphics, Inc. | Method for dynamically viewing image elements stored in a random access memory array |
| US4092728A (en) * | 1976-11-29 | 1978-05-30 | Rca Corporation | Parallel access memory system |
| JPS5438724A (en) * | 1977-09-02 | 1979-03-23 | Hitachi Ltd | Display unit |
| GB2043972B (en) * | 1979-01-26 | 1983-09-01 | Thomas A L | Display processors |
| JPS55127656A (en) * | 1979-03-26 | 1980-10-02 | Agency Of Ind Science & Technol | Picture memory unit |
| US4418343A (en) * | 1981-02-19 | 1983-11-29 | Honeywell Information Systems Inc. | CRT Refresh memory system |
| JPS57165891A (en) * | 1981-04-06 | 1982-10-13 | Matsushita Electric Industrial Co Ltd | Screen display unit |
| US4521805A (en) * | 1981-04-24 | 1985-06-04 | Canon Kabushiki Kaisha | Printing apparatus or system |
| NL8300872A (nl) * | 1983-03-10 | 1984-10-01 | Philips Nv | Multiprocessor-rekenmachinesysteem voor het tot een gekleurde afbeelding verwerken van in een hierarchische datastruktuur gedefinieerde objekt-elementen. |
| JPS58157255A (ja) * | 1982-03-13 | 1983-09-19 | Dainippon Screen Mfg Co Ltd | 画像走査記録方法 |
| GB2122783B (en) * | 1982-06-08 | 1985-08-07 | Nat Res Dev | Apparatus and method for processing data arrays |
| US4562435A (en) * | 1982-09-29 | 1985-12-31 | Texas Instruments Incorporated | Video display system using serial/parallel access memories |
| JPH0778825B2 (ja) * | 1983-02-09 | 1995-08-23 | 株式会社日立製作所 | 画像処理プロセツサ |
| US4727474A (en) * | 1983-02-18 | 1988-02-23 | Loral Corporation | Staging memory for massively parallel processor |
| GB2141847B (en) * | 1983-05-06 | 1986-10-15 | Seiko Instr & Electronics | Matrix multiplication apparatus for graphic display |
| US4967343A (en) * | 1983-05-18 | 1990-10-30 | International Business Machines Corp. | Pipelined parallel vector processor including parallel configured element processors for processing vector elements in parallel fashion |
| US4615013A (en) * | 1983-08-02 | 1986-09-30 | The Singer Company | Method and apparatus for texture generation |
-
1984
- 1984-05-23 US US06/613,605 patent/US4648045A/en not_active Expired - Fee Related
-
1985
- 1985-05-21 GB GB08512809A patent/GB2159308B/en not_active Expired
- 1985-05-22 DE DE19853518416 patent/DE3518416A1/de not_active Withdrawn
- 1985-05-22 FR FR8507686A patent/FR2565014B1/fr not_active Expired
- 1985-05-23 IT IT20853/85A patent/IT1183662B/it active
- 1985-05-23 JP JP60111292A patent/JPS6158083A/ja active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0025748A1 (fr) * | 1979-09-12 | 1981-03-25 | Etablissement Public de Diffusion dit "Télédiffusion de France" | Dispositif de transmission numérique et affichage de graphismes et/ou de caractères sur un écran |
| EP0095618A2 (fr) * | 1982-05-31 | 1983-12-07 | Kabushiki Kaisha Toshiba | Système de mémoire |
Non-Patent Citations (1)
| Title |
|---|
| IBM TECHNICAL DISCLOSURE BULLETIN, vol. 22, no. 3, août 1979, pages 1301,1302, IBM Corp., New York, US; D.F. BANTZ et al.: "Graphic transformations of digital video images using microprocessors" * |
Also Published As
| Publication number | Publication date |
|---|---|
| GB2159308A (en) | 1985-11-27 |
| IT1183662B (it) | 1987-10-22 |
| IT8520853A0 (it) | 1985-05-23 |
| FR2565014B1 (fr) | 1989-01-13 |
| DE3518416A1 (de) | 1985-11-28 |
| GB2159308B (en) | 1988-07-20 |
| US4648045A (en) | 1987-03-03 |
| JPS6158083A (ja) | 1986-03-25 |
| GB8512809D0 (en) | 1985-06-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| FR2565014A1 (fr) | Systeme de memoire rapide et procede de traitement de donnees pour produire une trame d'elements d'image, et segment de memoire rapide | |
| EP0171120B1 (fr) | Procédé et dispositif pour créer et modifier une image synthetique | |
| FR2599873A1 (fr) | Systeme d'affichage video | |
| FR2583183A1 (fr) | Procede et appareil de calcul rapide de fractals | |
| FR2534400A1 (fr) | Procedes et appareil d'affichage graphique | |
| FR2690770A1 (fr) | Système et procédé de visualisation pour jeux vidéo. | |
| US20130120388A1 (en) | Time-Based Degradation of Images Using a GPU | |
| EP1527599A2 (fr) | Procede et systeme permettant a un utilisateur de melanger en temps reel des images de synthese avec des images video | |
| FR2638264A1 (fr) | Procede pour minimiser la degradation visuelle de caracteres numerises, notamment lors de leur affichage sur un ecran | |
| FR2964236A1 (fr) | Dispositif et procede de generation d'images multifenetres a priorite variable | |
| FR2644263A1 (fr) | Procede et dispositif d'acquisition et de stockage numerique de cartes geographiques en couleurs et de restitution de ces cartes | |
| US5287442A (en) | Serpentine rendering of antialiased vectors in a computer graphics system | |
| EP0222638B1 (fr) | Dispositif d'affichage graphique | |
| EP3821611A2 (fr) | Procede de visualisation d'elements graphiques issus d'un flux video composite encode | |
| FR2735259A1 (fr) | Systeme de graphiques d'ordinateur a marquage de profondeur par pixel | |
| FR2950182A1 (fr) | Procede de traitement d'image | |
| EP2297705A1 (fr) | Procede de composition temps reel d'une video | |
| FR2588398A1 (fr) | Systeme de traitement d'images | |
| US7825923B2 (en) | Full screen anti-aliasing with dynamic filters | |
| EP0472463B1 (fr) | Procédé de présentation d'images sur un écran matriciel et système pour la mise en oeuvre du procédé | |
| Tschumperlé et al. | G'MIC: An Open-Source Self-Extending Framework for Image Processing | |
| EP0161176A1 (fr) | Dispositif pour l'obtention de tracés continus sur l'écran d'une console de visualisation commandée par un processeur graphique | |
| EP0145046B1 (fr) | Procédé pour engendrer des objets dans une image vidéo | |
| JPH10247241A (ja) | 畳み込み走査ラインレンダリング | |
| FR2637706A1 (fr) | Dispositif d'effacement rapide de l'ecran d'affichage d'un ordinateur, notamment pour la creation d'images animees |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| ST | Notification of lapse |