[go: up one dir, main page]

FR2565382A1 - Appareil de reorganisation de donnees - Google Patents

Appareil de reorganisation de donnees Download PDF

Info

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
Application number
FR8508271A
Other languages
English (en)
Other versions
FR2565382B1 (fr
Inventor
Eric Baddiley
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.)
Fujitsu Services Ltd
Original Assignee
Fujitsu Services Ltd
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 Fujitsu Services Ltd filed Critical Fujitsu Services Ltd
Publication of FR2565382A1 publication Critical patent/FR2565382A1/fr
Application granted granted Critical
Publication of FR2565382B1 publication Critical patent/FR2565382B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/78Arrangements 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/785Arrangements 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G1/00Control 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/06Control 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/14Control 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/16Control 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
    • 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

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)

REVENDICATIONS
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.
FR858508271A 1984-06-02 1985-05-31 Appareil de reorganisation de donnees Expired - Fee Related FR2565382B1 (fr)

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)

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

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

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

Patent Citations (2)

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