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 PDF

Info

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
Application number
FR8507686A
Other languages
English (en)
Other versions
FR2565014B1 (fr
Inventor
Stefan G Demetrescu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Leland Stanford Junior University
Original Assignee
Leland Stanford Junior University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Leland Stanford Junior University filed Critical Leland Stanford Junior University
Publication of FR2565014A1 publication Critical patent/FR2565014A1/fr
Application granted granted Critical
Publication of FR2565014B1 publication Critical patent/FR2565014B1/fr
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/42Control 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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory

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)

REVENDICATIONS
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.
FR8507686A 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 Expired FR2565014B1 (fr)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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&#39;elements d&#39;image, et segment de memoire rapide
EP0171120B1 (fr) Procédé et dispositif pour créer et modifier une image synthetique
FR2599873A1 (fr) Systeme d&#39;affichage video
FR2583183A1 (fr) Procede et appareil de calcul rapide de fractals
FR2534400A1 (fr) Procedes et appareil d&#39;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&#39;images multifenetres a priorite variable
FR2644263A1 (fr) Procede et dispositif d&#39;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&#39;affichage graphique
EP3821611A2 (fr) Procede de visualisation d&#39;elements graphiques issus d&#39;un flux video composite encode
FR2735259A1 (fr) Systeme de graphiques d&#39;ordinateur a marquage de profondeur par pixel
FR2950182A1 (fr) Procede de traitement d&#39;image
EP2297705A1 (fr) Procede de composition temps reel d&#39;une video
FR2588398A1 (fr) Systeme de traitement d&#39;images
US7825923B2 (en) Full screen anti-aliasing with dynamic filters
EP0472463B1 (fr) Procédé de présentation d&#39;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&#39;obtention de tracés continus sur l&#39;écran d&#39;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&#39;effacement rapide de l&#39;ecran d&#39;affichage d&#39;un ordinateur, notamment pour la creation d&#39;images animees

Legal Events

Date Code Title Description
ST Notification of lapse