FR2565382A1 - Appareil de reorganisation de donnees - Google Patents
Appareil de reorganisation de donnees Download PDFInfo
- Publication number
- FR2565382A1 FR2565382A1 FR8508271A FR8508271A FR2565382A1 FR 2565382 A1 FR2565382 A1 FR 2565382A1 FR 8508271 A FR8508271 A FR 8508271A FR 8508271 A FR8508271 A FR 8508271A FR 2565382 A1 FR2565382 A1 FR 2565382A1
- Authority
- FR
- France
- Prior art keywords
- bits
- buffer
- read
- address
- data
- 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
- 230000008521 reorganization Effects 0.000 title claims abstract description 15
- 239000000872 buffer Substances 0.000 claims abstract description 83
- 230000015654 memory Effects 0.000 claims description 22
- 230000006870 function Effects 0.000 claims 1
- 230000001131 transforming effect Effects 0.000 claims 1
- 239000011159 matrix material Substances 0.000 description 17
- 238000010200 validation analysis Methods 0.000 description 5
- 238000000034 method Methods 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 241000702625 Mink enteritis virus Species 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 239000012464 large buffer Substances 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
- G06F7/78—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor
- G06F7/785—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using a RAM
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G1/00—Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data
- G09G1/06—Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows
- G09G1/14—Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows the beam tracing a pattern independent of the information to be displayed, this latter determining the parts of the pattern rendered respectively visible and invisible
- G09G1/16—Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows the beam tracing a pattern independent of the information to be displayed, this latter determining the parts of the pattern rendered respectively visible and invisible the pattern of rectangular co-ordinates extending over the whole area of the screen, i.e. television type raster
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Image Input (AREA)
Abstract
L'APPAREIL DE REORGANISATION DE DONNEES COMPREND UN ENSEMBLE A DEUX TAMPONS 20, 21 DANS CHACUN DESQUELS LES DONNEES SONT ECRITES PAR RANGEES ET SONT LUES PAR COLONNES. LES SIGNAUX D'ENTREE ET D'ENTREE DES TAMPONS SONT MULTIPLEXES PAR DIVISION DU TEMPS, CE QUI DIMINUE LA LARGEUR NECESSAIRE POUR CHAQUE TAMPON PAR LE PRODUIT DES FACTEURS DE MULTIPLEXAGE D'ENTREE ET DE SORTIE. IL EST POSSIBLE D'UTILISER L'APPAREIL EN RECEVANT LES DONNEES DANS L'ORDRE DES SOUS-IMAGES ET EN LES REORGANISANT DANS L'ORDRE DES LIGNES DE BALAYAGE EN VUE D'UNE VISUALISATION.
Description
La présente invention concerne un appareil de réorganisa-
tion de données.
L'invention se rapporte tout particulièrement, mais non exclusivement, à la réorganisation de données d'images. Lors du traitement de données d'images, il est souvent commode de diviser chaque image complète en un certain nombre de sous-images d'une taille convenant mieux au traitement. Toutefois, pour afficher les données, il est nécessaire de délivrer les données sous forme
d'une succession de lignes de balayage. Ceci implique une réorga-
nisation des données, puisque chaque sous-image contient des parties d'un certain nombre de lignes de balayage différentes et, inversement, chaque ligne se répartit entre un certain nombre de
sous-images différentes.
Cette opération de réorganisation des données, permettant de passer de l'ordre de la sous-image à l'ordre de la ligne de balayage, est quelquefois désignée comme étant une opération de "prise de tournant", puisque, comme on le verra, elle se ramène à écrire les données dans un espace d'adressage tridimensionnel sous forme d'un premier ensemble de plans parallèles, puis à les lire dans l'espace d'adressage sous forme d'un deuxième ensemble de
plans parallèles faisant un angle droit avec le premier ensemble.
Cette opération de "prise de tournant" peut être réalisée à l'aide d'une mémoire tampon ayant une largeur égale au produit des dimensions des mots de données d'entrée et de sortie. (Par largeur d'une mémoire, on entend le nombre de positions de bit
auxquelles on peut accéder en parallèle pour la lecture ou l'écri-
ture.) Par exemple, si les données d'entrée et de sortie sont toutes deux sous forme de mots de 32 bits, alors le tampon de "prise de tournant" aura une largeur égale à 32 x 32 = 1024 (1 K) positions de bit. Ces I K positions de bit sont organisées sous forme d'un réseau 32 x 32. Les mots de données d'entrée s'écrivent dans les rangées du réseau, et les mots de données de sortie se lisent dans les colonnes, ce qui réalise l'opération voulue de "prise de tournant". Toutefois, ce procédé de "prise de tournant" nécessite une mémoire tampon très large, ce qui implique un grand nombre de
composants de mémorisation. Par exemple, si l'on utilise des compo-
sants MEV larges de 4 bits, il faut au total 256 semblables compo-
sants pour reproduire une mémoire large de I K bits.
Le but de l'invention est de résoudre ce problème de façon à réduire le nombre voulu des composants de mémorisation.
Selon l'invention, il est proposé un appareil de réorga-
nisation de données comprenant: (a) une mémoire tampon ayant une largeur égale à p.q positions de bit, ces positions étant Logiquement disposées en rangées et en colonnes à raison de D bits par rangée et a bits par colonne, (b) un moyen de multiplexage servant à recevoir une succession de mots de données d'entrée ayant chacun n.p bits et à les transformer en une succession de groupes de p bits à n fois la fréquence d'horloge des mots d'entrée, (c) un moyen d'entrée servant à écrire chaque groupe de p bits dans une rangée sélectionnée de positions de bit de la mémoire tampon, (d) un moyen de sortie servant à lire une succession de groupes de g bits dans des colonnes sélectionnées de positions de bit de la mémoire tampon, et (e) un moyen de multiplexage servant à assembler les groupes de g bits lus dans La mémoire tampon en mots de m.q bits à 1/m fois la fréquence d'horloge des groupes de bits,
o E, g, g et m sont tous des entiers supérieurs à 1.
On peut voir que l'appareil selon l'invention manipule des mots d'entrée et de sortie ayant respectivement n.p et m.q bits,
en utilisant une mémoire tampon d'une largeur de p.q bits seulement.
En comparaison, La technique de base de "prise de tournant" ci-dessus
décrite demanderait une mémoire tampon d'une largeur de n.p.m.q.
En d'autre termes, l'invention réduit la Largeur voulue pour la mémoire tampon d'un facteur n.m, entraînant ainsi une économie
correspondante du nombre des composants.
On réalise cette économie en accroissant la fréquence d'horloge à laquelle le tampon fonctionne relativement aux fréquences d'horloge d'entrée et de sortie: le tampon doit fonctionner n fois plus vite que les données d'entrée Lors de L'écriture dans Le tampon, et m fois plus vite que les données de sortie lors de La Lecture. Toutefois, ceci est un compromis favorable, puisque La vitesse du tampon n'augmente que Linéairement, c'est-à-dire n fois (ou bien m fois), tandis que La Largeur du tampon diminue comme
te produit n.m.
Par exemple, dans un mode de réalisation particulier de l'invention qui va être décrit ci-après, l'appareil manipule des mots de données d'entrée de sortie de 32 bits en utilisant une mémoire tampon d'une largeur de 64 bits; c'est-à-dire que p = q = 8 et n = m = 4. Dans ce cas, la largeur de la mémoire tampon
diminue d'un facteur 16, par comparaison à la technique de base ci-
dessus décrite, tandis que La vitesse du tampon augmente d'un
facteur 4.
La description suivante, conçue à titre d'illustration de
l'invention, vise à donner une meilleure compréhension de ses caractéristiques et avantages; elle s'appuie sur les dessins annexés, parmi lesquels: la figure 1 est un schéma de principe d'un appareil de
traitement de données d'images, incorporant une unité de réorgani-
sation de données selon L'invention; les figures 2, 3 et 4 montrent l'unité de réorganisation de données de manière détaillée; la figure 5 est un schéma simplifié montrant l'espace d'adressage logique de l'unité de réorganisation de données; et la figure 6 illustre une variante d'une partie de l'unité
de réorganisation.
Sur la figure 1, est représenté un appareil de traitement de données d'images. L'appareil comporte un processeur matriciel 10, constitué de 1024 éléments de traitement (PE) connectésensemble
en rangées et en colonnes de façon à former une matrice 32 x 32.
Tous les éléments de traitement peuvent fonctionner en parallèle, sous commande d'un unique courant de signaux de commande émanant d'une unité de commande commune (non représenté). Chaque élément de traitement contient une unité arithmétique et logique à un seul bit et présente une capacité de mémorisation de 16 K x I bit. La capacité de mémorisation du processeur matriciel constitue une mémoire tridimensionnelle comportant 16 K plans adressables un à un, chaque plan étant constitué d'une matrice de 32 x-32 bits, à raison d'un dans chaque éLément de traitement PE. Tout plan selectionné peut être lu, via un bus 11 à 32 bits. - Les détails du processeur matriciel 10 n'appartiennent pas à l'invention et ne seront donc pas décrits. Le processeur matriciel peut être par exemple identique à celui décrit dans le brevet
des Etats-Unis d'Amérique n 3 979 728.
Les données d'entrée du processeur matriciel 10 peuvent être délivrées à un dispositif d'entrée vidéo 12, par exemple une caméra, et les données de sortie du processeur matriciel peuvent
être délivrées à un dispositif de visualisation vidéo 13.
Les dispositifs d'entrée et de sortie vidéo manipulent
les données d'imagessous forme d'une série d'images complètesvidéo.
Chaque image complète est constituée de 1024 lignes de balayage horizontale, chaque ligne contenant 1024 éléments d'image. Chaque élément d'image peut être codé sous forme d'un bit unique (pour des images en noir et blanc) ou de plusieurs bits (pour des images en dégradé de gris ou en couleur). Pour simplifier, on ne considérera ici que le cas du noir et blanc; on notera que l'invention peut également s'appliquer au traitement des dégradés de gris et des couleurs. - Pour le traitement, chaque image compLète est divisée en plusieurs sous-images, chacune d'elles étant constituée d'une matrice de 32 x 32 éléments d'image. Chacune de ces sous-images peut donc être transposée directement sur le réseau 32 x 32 des éléments de
traitement PE à raison d'un élément d'images par élément de traite-
ment. Des sous-images successives sont emmagasinées dans des plans de mémorisation successifs du processeur matriciel, ce qui lui permet
de travailler sur une partie quelconque de l'image en cas de besoin.
Des données d'entrée allant du dispositif d'entrée vidéo 12 au processeur matriciel 10 et des données de sortie allant du processeur au dispositif de visualisation vidéo 13 passent dans une unité 14 de réorganisation de données. Celle-ci réorganise les données de la manière qui sera décrite ci-après de façon à permettre leur transformation entre un format de lignes de. balayage nécessité par Les dispositifs vidéo et un format de sous-images nécessité
par Le processeur matriciel.
Unité de réorganisation de données.
Sur la figure 2, est représentée de manière détaillée
l'unité 14 de réorganisation, de données.
L'unité comprend deux mémoires tampon 20 et 21 qui sont utilisées alternativement pour la lecture et l'écriture de manière qu'il existe un agencement à double tampon. Les tampons sont commandés par un signal de sélection SEL si bien que, lorsque SEL = 1, le tampon 20 est sélectionné pour l'écriture et Le tampon 21 pour la lecture et, Lorsque SEL = 0, le tampon 20 est utilisé pour la lecture
et le tampon 21 pour l'écriture.
Chacun des tampons 20 et 21 est constitué de 16 composants de mémoire vive (MEV) 22. Chaque MEV 22 contient 512 positions
adressables une à une et comporte 4 positions de bit, c'est-à-dire-
que chaque emplacement contient quatre bits qui peuvent être écrits ou lus en parallèle. En d'autres termes, chaque MEV a une largeur de quatre bits de sorte que chaque tampon 20, 21 a une largeur totale de 16 x 4 = 64 positions de bit. Ces 64 positions de bits sont logiquement organisées de la manière représentée sous forme d'une matrice carrée ayant huit rangées et huit colonnes. Toutes les MEV du tampon 20 sont adressées en parallèle au moyen d'une adresse à neuf bits AO-A8 qui sélectionne l'un des 512 emplacements dans chaque MEV. De la même façon, le tampon 21 est adressé par une
adresse de neuf bits A'0-A'8.
L'unité 14 de réorganisation de données reçoit des mots de données d'entrée sur un trajet 23 d'une largeur de 32 bits, de la part du processeur matriciel 10 ou de celle du dispositif d'entrée vidéo 12. Ces mots sont ramenés par multiplexage à un trajet 24 d'une largeur de 8 bits, au moyen d'un commutateur de multiplexage 25. Le trajet 24 porte donc un courant de bytes de 8 bits avec une fréquence d'horloge quatre fois plus élevée que celle des mots de données d'entrée. Ce trajet est connecté en
parallèLe aux deux tampons 20 et 21.
Le tampon 20 possède un décodeur 26 qui est validé lorsque SEL = 1, c'està-dire lorsque ce tampon a été sélectionné pour l'écriture. De la même façon, le tampon 21 possède un décodeur 27 qui est validé lorsque SEL = O. Le décodeur en cours de validation 26 ou 27 décode trois bits de commande WO, W1, W2 de manière à produire un signal de validation d'écriture qui sélectionne une rangée de positions de bit dans le tampon associé (par exemple la rangée indiquée par X...X sur La figure 2. Ceci amène l'écriture dans la rangée choisie du byte de données d'entrée se trouvant
sur le trajet 24.
On se reporte maintenant à la figure 3, o l'on voit comment La lecture des tampons 20 et 21 est commandée par trois bits SO, S1 et S2. Le bit S2 est décodé en même temps que le signal de sélection SEL dans un décodeur 30 de façon à produire l'un de quatre signaux de validation de sortie OE1 à OE4 suivants: SEL S2 signal de sortie o O OE1
O 1 OE2
1 0OE3
1 1 OE4
Les signaux OE1 et OE2 sont appliqués aux bornes de validation de sortie des deux colonnes de MEV du tampon 20,et les signaux OE3 et OE4 sont appliqués aux bornes de validation de sortie des deux colonnes de MEV du tampon 21. Les signaux de sortie de données des MEV sont appliqués à huit commutateurs 31 du type 4: 1, qui sont commandés par les bits SO et S1. Ces commutateurs
sélectionnent une position de bit dans chaque MEV.
Ainsi, on peut voir que le signal SEL sélectionne l'un des tampons 20 et 21 pour la lecture, S2 sélectionne une colonne de MEV à l'intérieur de ce tampon, et SO et S1 sélectionnent une colonne de positions de bit (telle que représeneé par X...X sur la figure 3) dans la colonne de MEV sélectionnée. Ces bits sont lus
sur un trajet de sortie 32 de 8 bits.
Le trajet 32 est connecté en parallèle sur les entrées de
données de quatre registres 33 de 8 bits. Ces registres sont eux-
mêmes cadencés par des signaux venant d'un décodeur 34 de façon à assembler chaque groupe de quatre bytes successifsen un mot de 32 bits. En d'autres termes, Les registres 33 démultiplexent les données, en les faisant passer d'une série de bytes de 8 bits en
mots de 32 bits au quart de la fréquence d'horloge des bytes.
Le signal de sortie des registres 33 est délivré au dispositif d'affichage video 13 ou bien au processeur matriciel 10. On se reporte maintenant à la figure 4, sur laquelle on voit que les tampons 20 et 21 sont commandés par deux compteurs 40 et 41 de 12 bits. Les bits de chaque compteur sont numérotés de
O à 11, o le bit O est le bit le moins significatif.
Les bits 2, 3, 4, 5, 6, 0,1, 10, 11 du compteur 40 fournissent une adresse d'écriture WAO-WA8, tandis que-les bits 7, 8, 9 fournissent les signaux de commande WO, W1, W2. De la même façon, les bits 2, 3, 4, 5, 6, 10, 11, O, 1 du compteur 41 fournissent une adresse de lecture RAO-RA8, tandis que les bits
7, 8, 9 fournissent les signaux de commande SO, S1, S2.
Les adresses de lecture et d'écriture sont appliquées aux entrées d'un circuit de commutation 42, lequel est commandé par le signal SEL. Lorsque SEL = 1, le circuit de commutation prend la position telle que représentée, de sorte que l'adresse AO-A8 du tampon 20 est délivrée par l'adresse d'écriture WAO-WA8, tandis que l'adresse A'O-A'8 du tampon 21 est délivrée par l'adresse de lecture RAO-RA8. Lorsque SEL = O, le circuit 42 est commuté de
façon à inverser ces connexions.
Les bits WA5, WA6 assurent également la commande du commutateur de multiplexage 25 (figure 2) et les bits RA7, RA8 assurent la commande des registres de démultiplexage 33 par
l'intermédiaire du décodeur 34 (figure 3).
Le compteur 40 est incrémenté par un signal d'horloge C.IN ayant une fréquence égale à quatre fois la fréquence des mots de données d'entrée. De la même façon, le compteur 41 est incrémenté par un signal d'horloge C. OUT d'une fréquence quadruple de la
fréquence des mots de données de sortie voulue.
Lorsque le compteur 40 atteint sa valeur de comptage maximale (qui est entièrement constituée de "1"), il s'arrête et
produit un signal PLEIN qui indique que le tampon en cours d'utili-
sation pour l'écriture est alors plein. De la même façon, lorsque le compteur 41 atteint sa valeur de comptage maximale, il s'arrête et produit un signal VIDE qui indique que le tampon qui est en cours d'utilisation pour la lecture est maintenant vide. Lorsque ces deux signaux sont vrais, une porte ET 43 est validée, et ceci commute un circuit bistable 44 dans sa position opposée de façon à complémenter la valeur de SEL. Ceci inverse le rôle des deux tampons, de sorte que Le tampon sur Lequel il vient d'être écrit
est alors sélectionné pour la Lecture, et inversement.
La porte ET 43 produit également un signal CHARGE qui provoque le chargement dans les bits 7 à 11 des compteurs 40 et 41 respectifs de valeurs pré-établies se trouvant dans deux registres et 46 à cinq bits, les bits restantsO à 6 des compteurs 40 et 41 étant repositionnés sur 0. Ces valeurs prépositionnées permettent à l'unité de réorganisation de manipuler des mots de tailles différentes si cela est nécessaire. Pour manipuler des mots d'entrée de sortie de 32 bits, les deux valeurs préétablies sont 0; pour des tailles de mots plus petites, elles sont fixées à des valeurs
non nulles.
Fonctionnement On peut voir que chaque tampon 20, 21 contient un total
de 32 K bits (c'est-à-dire 16 MEV possédant chacune 512 x 4 bits).
Les bits sont considérés comme étant logiquement disposés suivant
la forme d'un cube 32 x 32 x 32, comme indiqué sur la figure 5.
(Cette figure se rapporte au tampon 20; le tampon 21 est identique, mais il possède les bits d'adressage A'O-A'8 au lieu de AO-A8.) - Comme représenté, la dimension suivant x de cet espace d'adressage est adressée par les bits SO, S1, S2, A5, A6, o les bits A5, A6 désignent l'une de quatre couches verticales et les bits SO, Sl, S2 désignent un plan vertical de bits à l'intérieur de cette couche. La dimension suivant y est adressée par les bits AO-A4. La dimension z est adressée par les bits WO, W1, W2, A7, A8, o les bits A7, A8 désignent l'une de quatre couches horizontales et les bits WO, Wl, W2 désignent un plan de bits horizontal à
l'intérieur de cette couche.
Lors de l'écriture de données dans le tampon 20, chaque
byte est écrit horizontalement dans cet espace d'adressage, parallèle-
ment à L'axe x, en un emplacement désigné par AO-A8 et WO-W2. Comme on peut Le voir sur la figure 4, Lors de l'écriture dans le tampon 20, les bits A5, A6viennent de l'extrémité la moins significative du compteur 40, les bits AO-A4 viennent du milieu, et Les bits WO, W1, W2, A7, A8 de l'extrémité la plus significative. Les bits A5, A6 sont incrémentés à chaque byte, de sorte que les bytes successifs sont écrits dans des emplacements de byte successifs suivant la direction de l'axe x. Un mot de 32bits complet est donc écrit suivant une rangée parallèle à l'axe x. Les bits AO-A4 sont incrémentés pour chaque mot, de sorte que des mots successifs sont écrits dans des rangées successives suivant la direction de l'axe
y. Un plan 32 x 32 complet de données est donc construit parallèle-
ment au plan x-y. Les plans de données successifs sont écrits dans la direction de l'axe z, lorsque les bits WO, W1, W2, A7, A8 sont
incrémentés.
Lors de la lecture dans le tampon 20, chaque byte est écrit verticalement, parallèLement à l'axe z, en un emplacement désigné par les bits AO-A8 et S0-S2. Comme on peut le voir sur la figure 4, lors de la lecture dans le tampon, les bits A7, A8 sont tirés de L'extrémité la moins significative du compteur 41, les bits AO-A4 du milieu, et les bits SO, S1, S2, A5, 46 de l'extrémité la plus significative. Ainsi, les bits A7, A8 sont incrémentés pour chaque byte, si bien que des bytes successifs sont lus dans des emplacements de byte successifs suivant la direction de l'axe
z. Un mot de 32 bits complet est donc Lu dans une colonne parallèle-
ment à l'axe z. Les bits AO-A4 sont incrémentés pour chaque mot, si bien que des mots successifs sont lus dans des colonnes successives suivant la direction de l'axe y. De cette manière, un plan complet de données parallèLes au plan y-z est lu. Des plans de données successifs suivant La direction de l'axe x sont lus lorsque les
bits SO, S1, S2, A5 et A6 sont incrémentés.
En résumé, les données sont écrites dans le tampon suivant une succession de plans parallèles au plan x-y, puis sont lues comme une succession de plans parallèLes au plan y-z (c'est-à-dire à angle droit des premiers plans). Ceci permet au tampon de faire fonction de tampon de "prise de tournant" servant à la réorganisation
des données.
Dans Le système présenté sur la figure 1, des données du processeur matriciel 10 sont reçues par le tampon suivant un ordre de sous-images, et des sous-images successives sont donc écrites dans Le tampon en des plans x-y successifs. Lorsque Le tampon est plein, il contient une rangée compLète de sous-images, constituées de 32 lignes de balayage complètes. Les données sont ensuite lues dans des plans y-z successifs. Chacun de ces plans
contient les 1024 bits qui constituent une ligne de balayage unique.
Ainsi, les données de sortie sont dans l'ordre correct pour être délivrées au dispositif de visualisation 13. Le fonctionnement du tampon est identique Lorsque Les données passent entre Le dispositif
d'entrée vidéo 13 et Le processeur matriciel 10.
Générateur de séquences variables.
L'ensemble ci-dessus décrit peut être modifié par remplace-
ment des compteurs 40 et 41 et du commutateur 42 par deux générateurs de séquences d'adressage variables, à raison d'un pour chaque tampon. La figure 6 montre le générateur associé au tampon 20; celui du tampon 21 est identique, mais il est commandé par l'inverse du signal SEL et il produit-Les bits d'adressage A'0-A'8 au lieu des
bits AO-A8.
Le générateur de séquences variables comprend une mémoire morte programmable (MEMP) 60 et deux compteurs 61 et 62 qui produisent deux valeurs de comptage de 5 bits A et B. La MEMP possède 512 emplacements adressables un à un, qui comportent chacun 6 bits, produisant 6 signaux de sortie X, D, C, AE, BE et F. Les bits C et D produisent deux valeurs de comptage d'un seul bit qui peuvent être combinées pour faire fonction de valeur de comptage de deux bits. Le bit X fait fonction de report pour la valeur de comptage de deux bits. Les bits AE et BE sont appliqués aux entrées de validation EN des compteurs 61 et 62 de façon que, à chaque fois que l'un de ces bits est vrai, la valeur de comptage correspondante A ou B soit incrémentée lors du battement d'horloge suivant. Le bit F produit un signal de sortie FIN indiquant la fin de la séquence d'adressage. Un générateur de séquences reçoit, d'un registre 63, une adresse de début de prépositionnement de 12 bits. Celle-ci commande la Longueur de la séquence d'adressage produite, de la même manière que Les registres 45 et 46 de la figure 4. Le générateur reçoit également un numéro de séquence de cinq bits, soit SEQ,
qui sélectionne une séquence particulière.
La MEMP 60 est adressée par une adresse de 9 bits. Les deux premiers bits C', D' de cette adresse sont délivrés par un commutateur bidirectionnel 64 commandé par le bit X. Lorsque
X = O, le commutateur est dans la position indiquée et, par consé-
quent, sélectionne les bits C, D. Lorsque X = 1, le commutateur est positionné dans la position opposée et sélectionne donc deux bits de prépositionnement venant du registre 63. Les deux bits d'adressage suivants sont fournis par des signaux de report AC, AB venant des compteurs 61, 62. Les cinq bits d'adressage restants
sont délivrés par le numéro de séquence SEQ.
Les signaux de report AC, BC sont également fournis aux bornes de charge LD des compteurs 61, 62 respectifs de sorte que, à chaque fois que l'un de ces compteurs déborde, il est rechargé
au moyen de bits de prépositionnement venant du registre 63.
On peut voir que le générateur de séquences produit deux valeurs de comptage A, B de cinq bits et deux valeurs de comptage C et D à un seul bit. En programmant de manière appropriée la MEMP , ces quatre valeurs de comptage peuvent être assemblées de diverses manières différentes pour former une unique valeur de comptage de 12 bits. Par exemple, il peut être souhaitable d'assembler les valeurs de comptage dans l'ordre A, D, C, B, o A fournit les cinq bits les moins significatives de la valeur de comptage des
12 bits et B fournit les 5 bits les plus significatifs.
On peut obtenir cette séquence de comptage en programmant les 16 premiers emplacements de la MEMP 60 de la manière indiquée
sur le tableau I ci-dessous.
Tableau I
signaux d'entrée signaux de sortie
AC BC C' D' AE BE C D X F
O O O 0 1 0 0 0 0 0
0 0 0 1 1 0 0 1 0 0
Tableau I (suite) signaux d'entrée signaux de sortie
0 0 1 0 1 0 1 0 0 0
0 0 1 1 1 0 1 1 0 0
5. 0 10 0 1 0 0 0 0 O'
0 1 0 I 1 0 0 1 0 0
O 1 1 0 - 1 0 1 0 0 0
0 1 1 I 1 0 1 1 0 0
1 0 0 0 I 0 0 1 0 0
1 0 01 1 0 1 0 0 0
1 0 1 0 1 0 1 1 0 0
1 0 1 1 1 1 0 0 1 0
1 1 0 0 1 0 0 1 O' 0
I I 0 1 1 0 1 0 0 0
I 1 1 0 10 1 I 0 0
1 I I 1 1 I 0 0 1 1
On peut voir que le signal de sortie AE est toujours égal à 1. Ainsi, le compteur 61 est toujours validé de façon que La valeur de comptage A soit incrémentée à chaque battement d'horloge. Ceci est nécessaire, puisque La valeur de comptage A représente les bits
les moins significatifs de La séquence de comptage.
- Lorsque La valeur de comptage A déborde, AC est vrai et on peut voir sur le tableau I que ceci amène la valeur de D à s'inverser, c'est-à-dire que chaque emplacement ayant AC = 1 possède une valeur D qui est égale au complément de D'. De la même façon,
si AC et D' sont tous deux vrais, alors la valeur de C s'inverse.
L'effet de ceci est d'amener les deux bits C, D à progresser dans la séquence de comptage 00, 01, 10, 11, c'est-à-dire que Les bits C, D fournissent une valeur de comptage de deux bits commandée par le report de la valeur de comptage A. Lorsque AC, C' et D' sont tous vrais, le signal de sortie BE est produit, et ceci amène l'incrémentation de la valeur de comptage B. De plus, le signal X est produit, ce qui amène les signaux
C', D' à être sélectionnés à partir des signaux d'entrée prépo-
sitionnés, au lieu que ce soit à partir de C et D. Ceci amène la
valeur de comptage C, D à être réinitialisée sur la valeur prépo-
sitionnée indiquée.
Lorsque AC, 8C, C' et D' sont tous vrais, le signal de
sortie F est produit, ce qui indique la fin de la séquence.
En se reportant de nouveau à la figure 6, on voit également la manière dont les bits d'adressage AO-A8 du tampon 20 sont extraits du signal de sortie du générateur de séquence. Les bits d'adressage AO-A4 sont obtenus à partir du compteur 62. Les bits d'adressage A5, A6 et A7, A8 sont sélectionnés par les commutateurs 65, 66, qui sont tous deux commandés par le signal SEL. Lorsque SEL = 1, les commutateurs sont positionnés dans la position représentée, de sorte que A5 et A6 sont fournis par C et D, et A7, A8 sont
fournis par les deux bits les moins significatifs du compteur 61.
Lorsque SEL = O, les commutateurs 65, 66 sont placés dans la position opposée, de sorte que A5, A6 proviennent alors du compteur 61 et
que A7, A8 sont fournis par C et D. Les trois bits les plus signifi-
catifs du compteur 61 fournissent les bits WO, W1, W2 et SO, S1, S2.
On comprendra que de nombreuses autres modifications au système décrit cidessus peuvent être apportées sans sortir du domaine de l'invention. Par exemple, les tampons 20 et 21 peuvent être organisés en réseaux 16 x 4 pour les positions des bits, au lieu que ce soit en réseaux 8 x 8. Ceci autoriserait des vitesses de transfert de données plus élevées pour entrer dans les tampons
(ou bien pour en sortir) que dans le sens opposé.
Bien entendu, l'homme de l'art sera en mesure d'imaginer,
à partir de l'appareil dont la description vient d'être donnée à
titre simplement illustratif et nullement limitatif, diverses variantes
et modifications ne sortant pas du cadre de l'invention.
Claims (11)
1. AppareiL de réorganisation de données, caractérisé en ce qu'il comprend: (a) une mémoire tampon (20) possédant une largeur égale à p.q positions de bit, ces positions étant Logiquement disposées en rangées et en colonnes à raison de p bits par rangée et g bits -par colonne, (b) un moyen de multiplexage (25) servant à recevoir une série de mots de données d'entrée ayant chacun n.p. bits et à les transformer en une série de groupes de D bits avec n fois la fréquence d'horloge des mots d'entrée, (c) un moyen d'entrée (26) servant à écrire chaque groupe de p bits dans une rangée sélectionnée de positions de bit de la mémoire tampon, (d) un moyen de sortie (30, 31) servant à lire une série de groupes de g bits dans des colonnes sélectionnées de positions de bit de la mémoire tampon, et (e) un moyen de démultiplexage (33, 34) servant à assembler les groupes de bits lus dans la mémoire tampon en mots de m.q bits avec 1/m fois la fréquence d'horloge des groupes de g bits, o Es 9
n et m sont tous des entiers supérieurs à 1.
2. Appareil selon la revendication 1, caractérisé en ce que la mémoire tampon comprend plusieurs composants de mémorisation (22) du type mémoire vive (MEV) ayant chacun plusieurs positions adressables, chaque emplacement contenant plusieurs bits auxquels il peut être accédé en parallèle, o le produit du nombre de composants
MEV par le nombre de bits dans chaque position de MEV vaut p.q.
3. Appareil selon la revendication 2, caractérisé en ce que tous les composants MEV (22) du tampon sont adressés en parallèle de façon à sélectionner un emplacement correspondant dans
chaque composant MEV.
4. Appareil selon la revendication 3, caractérisé en ce
qu'il comporte un moyen (40) servant à produire une adresse d'écri-
ture, un moyen (41) servant à produire une adresse de lecture, et un moyen de commutation (42) servant à appliquer sélectivement l'adresse d'écriture ou l'adresse de lecture aux composants MEV
du tampon.
5. Appareil selon la revendication 4, caractérisé en ce que ledit moyen de multiplexage (25) est commandé par une partie
prédéterminée de ladite adresse d'écriture.
6. Appareil selon la revendication 4 ou 5, caractérisé en ce que ledit moyen de démultiplexage (33, 34) est commandé par une
partie prédéterminée de ladite adresse de lecture.
7. Appareil selon l'une quelconque des revendications 4 à
6, caractérisé en ce que le moyen (41) servant à produire l'adresse d'écriture comprend un premier compteur, dont des bits prédéterminés (WAOWA8) produisent ladite adresse d'écriture, et dont des bits supplémentaires (WO-W2) produisent un signal de commande servant à sélectionner la rangée de positions de bit dans laquelle le
groupe de p bits doit être écrit.
8. Appareil selon la revendication 7, caractérisé en ce que le moyen (41) servant à produire l'adresse de lecture comprend un deuxième compteur, dont des bits prédéterminés (RAO-RA8) fournissent ladite adresse de lecture et des bits supplémentaires (S0-S2) fournissent un signal de commande servant à sélectionner La colonne de positions de bit dans laquelle le groupe de q bits
doit être lu.
9. Appareil selon l'une quelconque des revendications 1 à 8,
caractérisé en ce qu'il comporte une deuxième mémoire tampon (21) qui fonctionne en relation avec la mémoire tampon (20) mentionnée en premier de façon à constituer un montage à double tampon dans lequel des données sont écrites dans le premier tampon tandis
qu'elles sont lues dans le deuxième tampon, et inversement.
10. Appareil selon les revendications 9 et 4, caractérisé
en ce que ledit moyen de commutation (42) a pour fonction d'appli-
quer l'adresse d'écriture à l'une ou l'autre des mémoires tampon
et à appliquer l'adresse de lecture à l'autre mémoire tampon.
11. Appareil selon la revendication 10, caractérisé en ce qu'il comporte un moyen (43, 44) servant à faire fonctionner Le moyen de commutation de manière à inverser L'appLication des adresses de lecture et d'écriture aux mémoires tampon lorsqu'il est détecté qu'un nombre prédéterminé de groupes p bits a été écrit dans la mémoire tampon en cours d'adressage par l'adresse d'écriture et qu'un nombre prédéterminé de groupes de q bits a
été lu dans l'autre mémoire tampon.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB848414109A GB8414109D0 (en) | 1984-06-02 | 1984-06-02 | Data reorganisation apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2565382A1 true FR2565382A1 (fr) | 1985-12-06 |
FR2565382B1 FR2565382B1 (fr) | 1991-06-21 |
Family
ID=10561847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR858508271A Expired - Fee Related FR2565382B1 (fr) | 1984-06-02 | 1985-05-31 | Appareil de reorganisation de donnees |
Country Status (4)
Country | Link |
---|---|
US (1) | US4852065A (fr) |
DE (1) | DE3519338A1 (fr) |
FR (1) | FR2565382B1 (fr) |
GB (1) | GB8414109D0 (fr) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5056005A (en) * | 1988-04-18 | 1991-10-08 | Matsushita Electric Industrial Co., Ltd. | Data buffer device using first-in first-out memory and data buffer array device |
CN1018869B (zh) * | 1990-03-09 | 1992-10-28 | 倍斯方股份有限公司 | 字型图像资料格式转换装置 |
US5412611A (en) * | 1992-03-17 | 1995-05-02 | Fujitsu, Limited | FIFO memory device capable of writing contiguous data into rows |
US5461680A (en) * | 1993-07-23 | 1995-10-24 | Escom Ag | Method and apparatus for converting image data between bit-plane and multi-bit pixel data formats |
US6173388B1 (en) | 1998-04-09 | 2001-01-09 | Teranex Inc. | Directly accessing local memories of array processors for improved real-time corner turning processing |
US20020093508A1 (en) * | 2001-01-18 | 2002-07-18 | Lightsurf Technologies, Inc. | Orthogonal memory for digital imaging devices |
GB0405283D0 (en) * | 2004-03-09 | 2004-04-21 | Aspex Technology Ltd | Multi-port memory for flexible and space efficient corner turning networks in associative processors |
CN1319276C (zh) * | 2005-04-19 | 2007-05-30 | 展讯通信(上海)有限公司 | 一种减小在线图像压缩数据缓冲区大小的缓冲区读写方法 |
KR20080049727A (ko) * | 2005-09-05 | 2008-06-04 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 별도의 직렬 모듈을 지닌 프로세서 어레이 |
WO2008129900A1 (fr) * | 2007-04-12 | 2008-10-30 | Nec Corporation | Appareil de traitement de données de type processeur vectoriel |
US9892767B2 (en) | 2016-02-12 | 2018-02-13 | Micron Technology, Inc. | Data gathering in memory |
US9899070B2 (en) * | 2016-02-19 | 2018-02-20 | Micron Technology, Inc. | Modified decode for corner turn |
US9659605B1 (en) | 2016-04-20 | 2017-05-23 | Micron Technology, Inc. | Apparatuses and methods for performing corner turn operations using sensing circuitry |
US10153008B2 (en) | 2016-04-20 | 2018-12-11 | Micron Technology, Inc. | Apparatuses and methods for performing corner turn operations using sensing circuitry |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3995253A (en) * | 1975-03-03 | 1976-11-30 | International Business Machines Corporation | Method and apparatus for accessing horizontal sequences, vertical sequences, and rectangular subarrays from an array stored in a modified word organized random access memory system |
US4320466A (en) * | 1979-10-26 | 1982-03-16 | Texas Instruments Incorporated | Address sequence mechanism for reordering data continuously over some interval using a single memory structure |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4207687A (en) * | 1977-05-09 | 1980-06-17 | The Singer Company | Simulator complex data transmission method and system |
US4393444A (en) * | 1980-11-06 | 1983-07-12 | Rca Corporation | Memory addressing circuit for converting sequential input data to interleaved output data sequence using multiple memories |
US4484265A (en) * | 1981-11-06 | 1984-11-20 | Westinghouse Electric Corp. | Corner turn memory address generator |
JPS59104791A (ja) * | 1982-12-04 | 1984-06-16 | Fujitsu Ltd | 半導体記憶装置 |
US4646270A (en) * | 1983-09-15 | 1987-02-24 | Motorola, Inc. | Video graphic dynamic RAM |
US4642797A (en) * | 1983-11-10 | 1987-02-10 | Monolithic Memories, Inc. | High speed first-in-first-out memory |
EP0179605B1 (fr) * | 1984-10-17 | 1992-08-19 | Fujitsu Limited | Dispositif de mémoire semi-conductrice avec un circuit d'entrée et de sortie séquentielle d'informations |
-
1984
- 1984-06-02 GB GB848414109A patent/GB8414109D0/en active Pending
-
1985
- 1985-05-22 US US06/736,866 patent/US4852065A/en not_active Expired - Fee Related
- 1985-05-30 DE DE19853519338 patent/DE3519338A1/de not_active Withdrawn
- 1985-05-31 FR FR858508271A patent/FR2565382B1/fr not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3995253A (en) * | 1975-03-03 | 1976-11-30 | International Business Machines Corporation | Method and apparatus for accessing horizontal sequences, vertical sequences, and rectangular subarrays from an array stored in a modified word organized random access memory system |
US4320466A (en) * | 1979-10-26 | 1982-03-16 | Texas Instruments Incorporated | Address sequence mechanism for reordering data continuously over some interval using a single memory structure |
Also Published As
Publication number | Publication date |
---|---|
GB8414109D0 (en) | 1984-07-04 |
DE3519338A1 (de) | 1985-12-05 |
US4852065A (en) | 1989-07-25 |
FR2565382B1 (fr) | 1991-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR2565382A1 (fr) | Appareil de reorganisation de donnees | |
EP0876065B1 (fr) | Dispositif vidéo autostéréoscopique | |
FR2480545A1 (fr) | Dispositif et procede pour imprimer un deplacement angulaire a une image de television | |
FR2499289A1 (fr) | Dispositif permettant d'acceder simultanement a plusieurs emplacements d'une memoire | |
FR2511789A1 (fr) | Systeme de tamponnage de ligne pour l'affichage d'images multiples dans un jeu video | |
FR2554256A1 (fr) | Appareil et procede de regeneration d'un tampon de trames fonctionnant a grande vitesse | |
FR2626693A1 (fr) | Dispositif et procede a memoire tampon, notamment pour la transposition matricielle ligne-colonne de sequences de donnees | |
FR2587521A1 (fr) | Appareil de traitement de signaux destine a effectuer des operations a resolutions multiples en temps reel | |
FR2705008A1 (fr) | Dispositif et système vidéo autostéréoscopique. | |
FR2599873A1 (fr) | Systeme d'affichage video | |
EP0298002B1 (fr) | Mémoire de transposition pour circuit de traitement de données | |
EP0575220A1 (fr) | Caméra d'observation multistandard et système de surveillance utilisant une telle caméra | |
FR2554948A1 (fr) | Procedes et appareils de codage et d'affectation d'emplacements de memoire pour affichage d'images traitees numeriquement | |
EP0086677B1 (fr) | Dispositif de saisie et de restitution en temps réel d'une image formée de trames successives de lignes de balayage | |
FR2554952A1 (fr) | Procede et systeme d'adressage pour memoire dynamique | |
EP0306403B1 (fr) | Dispositif de visualisation à écran plat avec affichage sous commande de l'opérateur | |
EP0440301A1 (fr) | Procédé de stockage en mémoire pour le traitement d'images, et dispositif pour la mise en oeuvre du procédé | |
FR2476952A1 (fr) | Generateur de signaux de base et de signaux de test de television et systeme comportant un tel dispositif | |
FR2558979A1 (fr) | Procede d'adressage au moyen de registres a decalage formes de memoires statiques d'un imageur matriciel | |
EP0183610B1 (fr) | Mémoire vive et circuit d'interpolation linéaire en comportant application | |
FR2678462A1 (fr) | Dispositif temps reel de presentation d'images de type television sur un ecran de visualisation. | |
EP0472463B1 (fr) | Procédé de présentation d'images sur un écran matriciel et système pour la mise en oeuvre du procédé | |
EP0236177B1 (fr) | Procédé d'optimisation de la mémorisation de signaux vidéos dans un transformateur numérique d'images, et transformateur numérique d'images mettant en oeuvre un tel procédé | |
FR2563024A1 (fr) | Dispositif pour modifier l'aspect des points d'une image sur un ecran d'une console de visualisation d'images graphiques | |
EP3423978A1 (fr) | Procede de d'affichage d'une animation lors de la phase de demarrage d'un dispositif electronique et dispositif electronique associe |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TP | Transmission of property | ||
ST | Notification of lapse |