Brevet FR2565382A1 — publié le 19851206

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. 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.