FR2641100A1 - - Google Patents

Download PDF

Info

Publication number
FR2641100A1
FR2641100A1 FR9002311A FR9002311A FR2641100A1 FR 2641100 A1 FR2641100 A1 FR 2641100A1 FR 9002311 A FR9002311 A FR 9002311A FR 9002311 A FR9002311 A FR 9002311A FR 2641100 A1 FR2641100 A1 FR 2641100A1
Authority
FR
France
Prior art keywords
data
signal
processor
processing
memory
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
FR9002311A
Other languages
English (en)
Other versions
FR2641100B1 (fr
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.)
Sony Corp
Original Assignee
Sony Corp
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
Priority claimed from JP25452885A external-priority patent/JPS62114044A/ja
Priority claimed from JP60259539A external-priority patent/JP2610817B2/ja
Application filed by Sony Corp filed Critical Sony Corp
Publication of FR2641100A1 publication Critical patent/FR2641100A1/fr
Application granted granted Critical
Publication of FR2641100B1 publication Critical patent/FR2641100B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Abstract

L'invention concerne les installations de traitement de données. Elle se rapporte plus précisément à une installation de traitement d'images destinée à assurer un traitement par utilisation de données de pixels entourant un pixel déterminé, une pluralité de processeurs P1, P2,... P20 étant prévue pour effectuer le traitement, et chaque donnée de pixel étant appliquée simultanément aux processeurs qui ont besoin de cette donnée parmi ladite pluralité de processeurs.

Description

La présente invention concerne une installation de
traitement de données.
On a déjà proposé une installation de traitement de données, par exemple une installation de traitement d'images vidéo (Journal of the Institute of Electronics and Communica-
tion Engineers of Japan, 85/4, vol. J 68-D, n 4).
On a proposé, comme exemple d'une telle installa-
tion, un système de traitement d'images qui comporte un pro-
cesseur de données d'images et un processeur de traitement
d'une adresse des données d'images (document JP-A-58-215813).
La réalisation d'une installation de traitement d'images à grande vitesse nécessite une grande vitesse pour les opérations arithmétiques, la configuration des opérations étant propre au traitement d'images; en outre, l'accès à une grande quantité de données arrangées suivant une structure bidimensionnelle et le transfert de ces données doivent être
réalisés à grande vitesse.
On a déjà proposé une installation travaillant en parallèle et une installation travaillant avec recouvrement
pour l'obtention d'opérations à grande vitesse.
Dans un système travaillant en parallèle, de nom-
breux processeurs élémentaires travaillent en parallèle afin
qu'ils assurent un traitement à grande vitesse.
Bien que ce système permette un fonctionnement à très grande vitesse, le logiciel commandant le traitement est soumis à une forte charge, si bien que le fait que les possibilités potentielles des circuits ne puissent pas être
suffisamment utilisées pose un problème.
D'autre part, le système travaillant avec recouvre-
ment met en oeuvre une structure matérielle simple et une commande simple du traitement, si bien que l'opération à grande
vitesse peut être réalisée d'une manière relativement facile.
Cependant, comme la vitesse de traitement est pratiquement proportionnelle à la vitesse de commutation des transistors,
le fonctionnement à très grande vitesse est limité. Le trai-
tement est limité par la structure de recouvrement et pose un problème car la souplesse d'utilisation du système est réduite. La vitesse du transfert des données dans un système travaillant en parallèle est déterminée par le procédé de
combinaison des processeurs élémentaires et de la mémoire.
Le procédé de combinaison peut être du type à mémoire partagée ou du type en réseau. Comme le traitement des images nécessite la gestion d'une grande quantité de données, le procédé de combinaison du type à mémoire partagée est adopté dans de
nombreux systèmes. Dans le système à recouvrement, le trai-
tement et le transfert sont mélangés si bien que la vitesse
de chaque étage de traitement à recouvrement doit être aug-
merntée. Le système de traitement d'images à grande vitesse
permet divers traitements d'images et le contenu du traite-
ment comprend non seulement un simple traitement linéaire,
mais aussi un traitement non linéaire, par exemple un traite-
ment avec branchement conditionnel; en conséquence, il faut
un système souple.
Cependant, un tel système ne suffit pas pour la combinaison organique de plusieurs processeurs destinés à
assurer un traitement à grande vitesse et des calculs élaborés.
La présente invention a donc pour objet une instal-
lation de traitement de données dans laquelle plusieurs pro-
cesseurs sont combinés organiquement afin qu'ils assurent
un traitement à grande vitesse et des calculs élaborés.
D'autres caractéristiques et avantages de l'inven-
tion seront mieux compris à la lecture de la description qui
va suivre, faite en référence aux dessins annexés sur lesquels: la figure 1 est un diagramme synoptique représentant
l'ensemble de la configuration d'une installation de traite-
ment d'images à laquelle s'applique un mode de réalisation d'installation de traitement de données selon l'invention; la figure 2 est un ordinogramme du fonctionnement de circuits de l'installation de traitement de la figure 1;
la figure 3 est un diagramme synoptique d'un exem-
ple de section d'entrée-sortie de l'installation de la figure 1; les figures 4 et 5 sont un diagramme synoptique et un diagramme des temps respectivement d'une partie du circuit de la section d'entrée-sortie de la figure 3; la figure 6 est -un diagramme synoptique d'un mode de réalisation des circuits de l'installation de traitement de données de la figure 1; la figure 7 est un diagramme synoptique d'un mode de réalisation d'une partie importante des circuits de la figure 6; la figure 8 est un diagramme synoptique d'un mode de réalisation des circuits de l'installation de traitement de données de la figure 1; la figure 9 est un diagramme synoptique d'un mode de réalisation de section arithmétique principale représenté sur la figure 8; la figure 10 est un diagramme synoptique d'un. mode
de réalisation de section de commande et d'une section arith-
métique auxiliaire de la figure 8; la figure 11 est un schéma d'un mode de réalisation de circuit générateur de signaux de mode de la figure 10; la figure 12 est un diagramme synoptique d'un mode
de réalisation de circuits générateurs d'adresse de l'ins-
tallation de traitement de données de la figure 1; la figure 13 est un schéma illustrant la mise en oeuvre du circuit de la figure 12; la figure 14 est un diagramme synoptique illustrant un mode de réalisation des circuits de l'installation de traitement de données de la figure 1; la figure 15 est un diagramme synoptique d'un mode de réalisation d'une section d'un circuit générateur de la figure 14; la figure 16 est un diagramme synoptique d'un mode
de réalisation de configuration utilisé dans le cas o l'ins-
tallation de traitement de données de la figure 1 est appli-
quée au calcul d'une adresse tridimensionnelle; la figure 17 est un schéma illustrant un exemple de traitement tridimensionnel; les figures 18A, 18B et 18C sont des ordinogrammes
illustrant le traitement tridimensionnel dans la configura-
tion de la figure 16; les figures 19 et 20 sont des schémas illustrant un traitement d'extraction de profils constituant un exemple dans lequel un traitement de voisinage est réalisé *dans l'installation de traitement d'images de la figure 1; la figure 21 est un diagramme synoptique d'un mode de réalisation de circuit d'entrée de chaque processeur destiné à l'exécution du traitement de voisinage représenté sur les figures 19 et 20; les figures 22 et 23 sont des schémas illustrant un exemple de procédé destiné à assurer un traitement d'images dans l'installation de traitement d'images de la figure 1; la figure 24 est un schéma illustrant un exemple de parties principales d'une installation destinée à'assurer le traitement d'images comme décrit en référence aux figures 22 et 23;
la figure 25 est un diagramme synoptique d'un exem-
ple de registre d'entrée placé dans chaque processeur de l'installation destiné à assurer le traitement d'images des figures 22 et 23; la figure 26 est un schéma représentant un procédé de division dans le cas o un traitement par division est réalisé sur un écran au cours du traitement deimage des ficures 22 et 23; la figure 27 est un diagramme synoptique illustrant la configuration de l'installation de traitement de données de la figure 1 au point de vue conceptuel; et la figure 28 est un tableau illustrant le contenu
de la mémoire dans la configuration de la figure 27.
On se réfère maintenant aux dessins annexés pour
la description d'un mode de réalisation de l'invention
dans le cas d'une installation de traitement d'images vidéo.
L'exemple d'installation de traitement d'images vidéo de la figure 1 a pour rôle le traitement de données à grande vitesse et comporte une section 1 d'entrée-sortie, une section 2 de mémoire comprenant une mémoire d'image d'entrée 2A et une mémoire d'image de sortie 2B, une section 3 de traitement de données comprenant un processeur 3A invariant en position destiné à calculer essentiellement une valeur de pel (élément d'image) et un processeur 3B variant en position destiné à assurer la commande de la circulation des données, par exemple la commande d'adressage, et à effectuer la synchronisation, et un processeur 4 jouant
le rôle de l'organe de commande de l'ensemble de l'installa-
tion et destiné à commander l'exécution du traitement, sa terminaison et l'échange des programmes. Un ordinateur hôte 5 est connecté au processeur 4 et est destiné à commander
l'ensemble de l'installation de traitement d'images vidéo.
La section d'entrée-sortie 1 a une configuration telle que, par exemple, un signal vidéo provenant d'une caméra vidéo 6 ou d'un magnétoscope, subit une conversion
analogique-numérique afin qu'elle forme des données numéri-
ques d'image qui sont alors écrites dans la mémoire d'image d'entrée 2A; en outre, des données traitées d'image sont lues dans la mémoire d'image de sortie 2B et sont remises
sous forme d'un signal vidéo analogique par conversion numé-
rique-analogique, ce signal étant d'abord enregistré par
exemple dans un magnétoscope 7 ou étant transmis à un récep-
teur 8 d'image tel qu'un moniteur, si bien qu'une image
vidéo peut être contrôlée.
En outre, des signaux, différents des signaux numé-
riques et destinés à commander depuis l'extérieur la mémoire
2, par exemple un signal d'horloge, un signal de mode domi-
nant, un signal d'adresse et un signal de commande d'écriture,
sont transmis par la section d'entrée-sortie 1.
Dans ce cas, les signaux qui peuvent être transmis dans la section 1 ou extraits de celle-ci sont des signaux du système NTSC ou du système R/G/B. Le système de codage
des signaux est spécifié par le processeur de commande 4.
En outre, un "pel" est un élément de données comprenant
huit bits par exemple et représentant un élément dJimage.
Une opération de lecture ou d'écriture dans la mémoire d'image 2 est réalisée dans un groupe d'une image, c'est-à-dire par une unité de trame ou d'image. A cet effet, les mémoires 2A d'entrée et 2B de sortie comportent chacune plusieurs nappes de mémoire ayant chacune une capacité d'une trame ou image des données. Par exemple, douze nappes de mémoire d'image 768 x 512 octets sont utilisées. Dans ce cas, l'utilisation de ces douze nappes de mémoire d'image n'est pas fixée, c'est-à-dire que les douzes nappes peuvent être affectées arbitrairement comme mémoire d'image d'entrée 2A ou de sortie 2B en fonction de la nature du traitement ou de l'image voulue comme résultat du traitement. En outre, les nappes de mémoire sont destinées à être utilisées par
paires et, lorsqu'une nappe d'une paire est à l'état d'écri-
ture, l'autre nappe peut être utilisée pour une opération de lecture, si bien que la section d'entrée-sortie 1 peut assurer un traitement parallèle comprenant un traitement externe réalisé par l'intermédiaire de la mémoire 2 et un traitement interne réalisé par l'intermédiaire de la
mémoire 2 à l'aide des processeurs 3A et 3B.
Dans ce cas, le signal de mode dominant destiné à déterminer si les nappes de la mémoire d'image 2 sont
commandées par la section d'entrée-sortie 1 ou par le proces-
seur 3B est créé à partir de la section d'entrée-sortie
1 et est transmis à la mémoire d'image 2.
En outre, l'adresse des données numériques à trai-
ter, le signal de commande d'écriture, le signal de mode de lecture et le signal de sélection de données destiné à la commande interne de la mémoire 2 sont transmis par le processeur 3B à la mémoire 2, et les données conservées à l'adresse sont alors transférées au processeur 3A afin
qu'elles y soient traitées.
De plus, les données traitées dans le processeur 3A sont transmises à la mémoire d'image 2, et une adresse
et d'autres informations sont alors transmises par le pro-
cesseur 3B à la mémoire 2. En conséquence, les données
numériques ainsi traitées sont écrites dans la mémoire 2.
En outre, une adresse et d'autres informations
sont aussi transmises par la mémoire 2 à la section d'entrée-
sortie 1 et provoquent la transmission à la section d'entrée-
sortie 1 des données numériques lues en conséquence, et les données numériques sont transformées ensuite en un
signal vidéo analogique prédéterminé par conversion numé-
rique-analogique et par un autre traitement afin que le signal parvienne à une borne de sortie. La section 3 de traitement de données comporte un processeur et lit les données d'image conservées dans
la mémoire d'entrée 2A en fonction du programme du proces-
seur et exécute divers types de traitements de données, et les données traitées sont alors écrites dans la mémoire
d'image de sortie 2B.
La section 3 de traitement de données est subdivi-
sée en un processeur invariant en position 3A et un proces-
seur invariant en position 3B; en conséquence, par rapport
à une section classique de traitement de données qui néces-
site un temps de traitement égal au total des temps de traitement de ces sous-sections, la section 3 de traitement de données ne nécessite que le plus grand des temps de
traitement étant donné la disponibilité de ces sous-sections.
En conséquence, dans cet exemple, le traitement peut être réalisé à grande vitesse et permet l'exécution du traitement
des données vidéo presque en temps réel.
Le processeur de la section 3 de traitement de données comporte une nappe de processeurs ou plusieurs nappes de processeurs, et le microprogramme contenu dans la mémoire de microprogramme peut être modifié lorsque
les possibilités de traitement doivent être étendues.
Le microprogramme est transmis temporairement par l'ordinateur hôte 5 au processeur de commande 4 afin qu'il soit conservé dans la mémoire à accès direct qui y est contenue et ultérieurement, par exemple à la suite d'une
demande de changement de programme provenant de l'utilisa-
teur (réglant le commutateur convenable à l'état de ferme-
ture), le microprogramme est transmis du processeur 4 de
commande a chaque processeur, avec changement du micropro-
gramme de cette manière.
Les processeurs 3A et 3B ont tous les deux une
même architecture et sont constitués de processeurs indé-
pendants comprenant chacun une section de commande, une section arithmétique, une section de mémoire et une voie d'entrée-sortie. Ces systèmes ont des structures ayant une configuration à multiprocesseur comprenant plusieurs processeurs élémentaires dans lesquels un traitement à grande vitesse est réalisé essentiellement suivant un schéma
de traitement en parallèle.
Le processeur 3A comporte par exemple 60 nappes de processeurs invariant en position et plusieurs nappes de sous-processeurs si bien que le traitement des données d'image provenant de la mémoire 2 est réalisé ou les données
d'image sont créées dans le processeur 3A.
Le processeur 3B variant en position comporte par exemple 30 nappes de processeurs destinées à commander la circulation des données internes d'image par rapport à la mémoire 2, par exemple afin que les données d'image obtenues à partir de la mémoire 2 puissent être affectées
et récupérées dans le processeur 3A.
Ainsi, le processeur 3B crée des données d'adresse et un sianal de commande transmis à la mémoire 2 et les transmet à celle-ci, et le processeur 3B crée le signal de commande d'entrée-sortie du processeur 3A et d'autres
signaux de commande et les transmet au processeur 3A.
Le traitement des données d'image concerne non seulement le cas dans lequel les données d'une image de la mémoire d'image d'entrée 2A sont traitées et les données sont écrites dans la mémoire d'image de sortie 2B, mais
aussi le cas dans lequel les données conservées dans plu-
sieurs images de plusieurs nappes de mémoire sont traitées.
En outre, le nombre de bits à traiter dans les processeurs 3A et 3B est égal à 16 dans la spécification normalisée et, lors du traitement arithmétique réalisé pendant le traitement des données d'image, la vitesse de traitement peut être portée à une valeur dans laquelle
le traitement peut être réalisé dans une trame, c'est-
à-dire que le traitement en temps réel peut être réalisé
pour des données d'image d'une image. Il existe naturel-
lement un traitement qui nécessite un temps de traitement
supérieur à celui d'une image.
Dans ce cas, le traitement des données d'image par les processeurs 3A et 3B est réalisé en synchronisme avec l'image. En conséquence, le processeur 3B reçoit de la section 1 d'entrée-sortie un signal de synchronisation de début de traitement PS synchronisé sur l'image. Le signal PS est normalement à un niveau élevé et il est mis à un faible niveau lorsque la synchronisation du début de traitement est détecté. D'autre part, le processeur 3B transmet à la section 1 d'entrée-sortie un signal OK indiquant qu'un traitement a été terminé. Ce signal OK
est transmis par le processeur principal parmi les proces-
seurs faisant partie du processeur 3B lorsque le traitement est terminé, le processeur commandant la synchronisation
de l'installation de traitement.
Ainsi, dans une étape 101 de l'ordinogramme de
la figure 2, relatif à un exemple de dispositif de transmis-
sion d'un signal OK par le processeur, le processeur prin-
cipal du processeur 3B détecte par logiciel le fait que le signal de synchronisation de début de traitement PS transmis par la section d'entrée-sortie 1 est mis à un faible niveau. Lors de la détection de cette condition selon laquelle le signal PS est mis à un faible niveau, le processeur commence à fonctionner et transmet un signal de synchronisation TS à l'aide d'un programme transmis aux autres processeurs, y compris le processeur 3A, et il transmet alors une adresse à la mémoire d'image 2, lit des données d'image dans cette mémoire 2, et effectue un traitement dans le processeur 3A (pas 102). Lorsque le traitement est terminé, le signal OK est transmis et le traitement est terminé (pas 103) afin que le signal suivant de synchronisation de début de traitement PS (pas 101)
soit attendu.
Le signal PS est créé par la section d'entrée-
sortie 1 de la manière suivante.
La section d'entrée-sortie 1 a la configuration
représentée sur la figure 3, dans un exemple.
Ainsi, le circuit 11 destiné à créer un signal d'horloge transmet un tel signal qui est verrouillé par exemple sur la phase de la sous-porteuse du signal vidéo d'entrée. Le circuit 12 d'interface effectue une division du signal d'horloge provenant du circuit 11 et introduit un retard dans certains des signaux résultants, et les signaux obtenus sont alors transmis aux sections convenables de la section d'entrée-sortie 1, de la mémoire d'entrée
ZA et de la mémoire de sortie 2B.
Dans le convertisseur analogique-numérique 13, le signal vidéo d'entrée est transformé à l'aide d'un signal
d'horloge d'échantillonnage (par exemple à 14,32 MHz) prove-
nant du circuit d'interface 12, en données numériques d'images dans lesquelles 8 bits sont créés pour chaque échantillonnage. Le circuit d'entrée 14 reçoit des données numériques d'image provenant du convertisseur analogique-numérique 13 et les données sont transférées à. la mémoire d'entrée
2A afin qu'elles y soient écrites.
Dans ce cas, un signal spécifiant le système de codage des signaux (système NTSC ou R/G/B) est transmis
par le processeur 4 de commande au circuit 14 d'entrée.
Dans le cas du signal NTSC, deux nappes de la mémoire d'i-
mages (ou plus de deux nappes) sont affectées comme mémoire d'image d'entrée et les données sont écrites en alternance dans la mémoire. D'autre part, dans le cas du système de codage R/G/B, 6 nappes de mémoire, parmi les douze, sont affectées comme mémoire d'image d'entrée et les données sont écrites en alternance dans les deux nappes de mémoire d'images pour chaque couleur primaire. Les données sont lues dans la mémoire d'images dans laquelle l'opération
d'écriture n'est pas exécutée.
Comme décrit précédemment, les données d'image conservées dans la mémoire sont séparées de la section 1 1 d'entrée-sortie 1 et la circulation des données est alors
commandée par le processeur 3B.
Dans ce cas, ce circuit d'entrée 14 transmet à
la mémoire d'image d'entrée 2A uniquement le signal effec-
tif d'image dont le signal de synchronisation et la partie formant le signal de salve ont été retirés et le signal obtenu est écrit dans les éléments de trame en fonction
du signal d'horloge transmis par le circuit 12 d'interface.
En outre, dans le circuit 14 d'entrée, la phase du signal de salve du signal vidéo et la phase du signal
d'horloge sont comparées et le signal de sortie de compa-
raison est transmis sous forme d'un signal de réglage de phase au circuit 11 générateur d'horloge. Le signal d'horloge du circuit 11 est soumis à une opération de verrouillage
de phase par rapport à la sous-porteuse du signal vidéo.
En outre, dans le circuit 14 d'entrée, un signal d'extraction du signal de salve, un signal valide-invalide indiquant si le signal de synchronisation et la partie de signal de salve sont comprises ou non dans le signal de trame, un signal FL de début d'image indiquant la première ligne de chaque image, un signal indiquant la suppression verticale de chaque tramé, et un signal vidéo d'identification sont créés avec un signal indiquant le début de la ligne, et y sont utilisés; en outre, ces signaux sont transmis au circuit 15 de sortie décrit dans la suite
pour y être traités.
Le circuit 15 de sortie reçoit les données vidéo
traitées lues dans la mémoire de sortie 2B, image par image.
Dans les données ainsi lues, le signal de synchro-
nisation ne comprend pas le signal de salve; en conséquence,
le circuit 15 de sortie comporte une mémoire passive des-
tinée à créer un signal de synchronisation, un signal de salve et un signal de suppression verticale. Dans le système de codage NTSC, les données provenant de la mémoire d'image
de sortie de B sont transmises au convertisseur numérique-
analogique avec le signal de synchronisation, le signai de trame et le signal de suppression verticale (après
réarrangement le cas échéant).
En outre, dans le cas des signaux représentant
les trois couleurs primaires, un signal externe de synchroni-
sation est aussi nécessaire, et ce signal de synchronisation est aussi régénéré par ce circuit de sortie 15 et est trans-
mis au circuit tel que le moniteur.
En outre, le circuit 15 de sortie crée un signal de commande de la mémoire d'image 2. Plus précisément, un signal de mode dominant destiné à indiquer si la mémoire
d'image 2 est en mode de commande par la section d'entrée-
sortie 1 ou par le processeur 3B est créé et est transmis à la mémoire 2. Parmi les nappes de mémoire d'image de la mémoire 2, seule une mémoire à laquelle des données d'entrée sont transmises ou à partir de laquelle des données de sortie sont lues, selon le signal de mode dominant, est placée
sous la commande de la section d'entrée-sortie 1. La synchro-
nisation de la commutation du signal de mode dominant est
déterminée en fonction du signal OK.
Le circuit 15 de sortie crée en outre un signal d'adresse de la mémoire d'image 2 et un signal de validation
d'écriture destiné à commander une opération de lecture-
écriture, et les signaux sont transmis à la mémoire sous la commande de la section d'entrée-sortie 1 associée à la mémoire d'image 2. La mémoire commandée par le processeur 3A reçoit l'adresse et les autres signaux de commande du
processeur 3B.
De plus, le circuit 15 de sortie crée un signal PS de synchronisation de début de traitement à partir du signal FL de début d'image indiquant la première ligne de chaque image provenant du circuit 14 d'entrée et le signal
de fin de traitement OK provenant du processeur 3B.
Ainsi, dans un exemple de dispositif générateur du signal PS tel que représenté sur la figure 4, le signal FL de début d'image est à un faible niveau pour une période d'un signal d'horloge au point initial de chaque image (figure 5A). Le signal FL de début d'image est retardé d'une période d'horloge dans le circuit 17 à retard et est alors transmis à la borne d'effacement du basculeur D 18. D'autre
part, à la fin du traitement, la borne d'horloge du bascu-
leur 18 reçoit un signal OK provenant du processeur 3B afin qu'il soit mis à un niveau élevé pendant une période n'horloge (figure 5B). En outre, l'entrée D du basculeur 18 est toujours
à un niveau élevé.
En conséquence, jusqu'à réception du signal OK, ce basculeur 18 est vidé par le signal FL de début d'image et en conséquence son signal DP de la %ortie Q (figure C) reste à un niveau élevé. Lorsque le signal OK est reçu, le signal de sortie
DF de ce basculeur 18 est mis à un faible niveau.
Le signal DF de sortie est transmis à la porte OU 19. Cette dernière reçoit à son tour un signal FL de
début d'image. Le signal de sortie de la porte OU 19 consti-
tue le signal PS (figure 5D), et lorsque le signal FL de début d'image est reçu alors que le signal DF de sortie est à un faible niveau, le signal PS de sortie est mis à un faible niveau pendant une période au cours de laquelle le signal FL est à un faible niveau. Ce n'est que lorsque le signal OK est obtenu que le signal PS de synchronisation de début de traitement, synchronisé sur l'image, peut être atteint. Lors de l'exécution d'un traitement en temps réel, le signal OK est obtenu à chaque fin d'image dans tous les cas et en conséquence le signal PS devient identique
au signal FL de début d'image.
D'autre part, lorsque le temps de traitement est supérieur à celui d'une image, le signal PS diffère de la période d'image et peut être obtenu d'abord uniquement
dans l'image suivant un signal de sortie OK.
Dans le cas de cet exemple, les trois modes suivants peuvent être sélectionnés pour le traitement des données
d'image.
1) Un traitement est réalisé une fois pour N images.
Le traitement en temps réel est exécuté pour N = 1.
2 6 4 1100
2) L'image suivant le moment auquel le traitement précédent est terminé est automatiquement décalé afin
qu'elle soit traitée.
3) L'image suivant le moment indiqué par l'utili-
sateur, par exemple à l'aide d'un bouton poussoir, est
décalée pour être traitée.
Bien que, dans le cas décrit précédemment, la tota-
lité du traitement des données soit réalisée automatiquement sans qu'il nécessite l'intervention humaine, l'image suivant le moment auquel le traitement précédent est terminé, est décalée automatiquement afin qu'elle soit traitée, il est aussi possible que l'utilisateur puisse traiter les données voulues d'image par mise à disposition d'un commutateur manuel à cet effet; lorsque l'utilisateur spécifie une image à traiter, le signalPS doit être transmis pour l'image spécifiée, c'est- à-dire que le signal PS n'est
obtenu qu'au début de l'image spécifiée.
Selon l'invention, comme le signal de synchronisa-
tion de début de traitement est créé après réception d'un signal indiquant la fin de traitement de données, provenant de la section de traitement de données, il n'existe pas d'incohérence telle que le signal de début du traitement
suivant est créé avant la fin du traitement précédent.
De plus, la synchronisation du début de traitement
n'a pas à être déterminée avec une marge de temps de trai-
tement et en conséquence un traitement efficace des données
peut être réalisé.
Le traitement des données d'image est réalisé comme
décrit précédemment.
Dans la section 3 de traitement de données, un processeur d'image assurant un traitement par ordinateur est utilisé. Dans ce cas, le procédé de traitement des
données d'image à grande vitesse met en oeuvre la carac-
téristique des données d'image qui sont disposées régulière-
ment suivant un arrangement bidimensionnel comprenant l'arrangement de plusieurs processeurs élémentaires ayant tous la même configuration et le fonctionnement simultané
des processeurs.
Dans une installation dans laquelle plusieurs sous-
systèmes travaillent en coordination les uns avec les autres afin qu'ils exécutent un traitement, la synchronisation doit être commandée convenablement afin qu'elle indique le début de traitement et la dérivation du traitement de
chaque processeur.
Dans ce cas, en plus du cas dans lequel les proces-
* seurs peuvent être commandés avec une synchronisation don-
nant exactement le même fonctionnement, il existe des cas
dans lesquels il faut une synchronisation différente, c'est-
à-dire que chaque processeur doit être lancé avec une légère différence de temps. Il est courant d'utiliser, pour le réglage de la synchronisation, une commande indépendante de synchronisation assurant la transmission indépendante
d'un signal de synchronisation d'opérations à chaque sous-
système à la place de la commande de la synchronisation
par un système de commande de synchronisation.
Cependant, dans le cas o chaque sous-système est commandé indépendamment, il faut un même nombre de lignes de commande de synchronisation et de sous-systèmes, si bien qu'une difficulté apparaît étant donné que la taille
du système 100 de commande de synchronisation devient impor-
tante. Selon la présente invention et comme représenté sur la figure 6, cette difficulté est supprimée par partage
du signal de synchronisation entre les divers sous-systèmes.
Dans la configuration de la figure 4 qui représente la section de commande de synchronisation, un processeur
30 de commande de synchronisation est disposé comme proces-
seur principal dans le processeur 3B décrit précédemment.
Le processeur 30 reçoit le signal de début de traitement PS provenant de la section d'entrée-sortie 1. Cette section 1 reçoit à son tour le signal de fin de traitement OK du
prccesseur 30.
Lors de la détection du fait que le signal PS de synchronisation de début de traitement est mis à un faible
niveau, le processeur 30 transmet, comme signal TS de syn-
chronisation, un signal sous forme d'une série dans le temps, ayant une largeur de 1 bit, aux autres processeurs 31, 32, 33, etc. du processeur 3B; en outre, le signal de synchronisation TS est aussi transmis aux processeurs 34, 35, 36, etc. du processeur 3A. Dans ce-cas, les soixante nappes de processeur du processeur 3A sont commandées par
groupes comprenant chacun 10 nappes de processeurs.
Les processeurs 31, 32, 33.... et 34, 35, 36,...
comportent chacun un décodeur du signal de synchronisation TS. Dans un exemple de décodeur représenté sur la figure
7, le décodeur comporte un registre 37 à décalage,.un cir-
cuit 38 de détermination d'un dessin de bits, et un compa-
rateur 39.
Le registre à décalage 37 reçoit séquentiellement le signal TS de synchronisation provenant du processeur de commande. Dans ce cas, l'horloge de décalage du
registre 37 est synchronisée sur l'horloge de synchronisa-
tion de transmission du signal TS de synchronisation ou est un signal d'horloge dont la fréquence est supérieure
à celle de l'horloge de synchronisation de.transmission.
Le signal de synchronisation TS est transmis bit par bit à la suite du signal d'horloge de synchronisation de transmission afin que le signal soit décalé dans le registre 37 d'une manière telle que, par exemple, un dessin
de cinq bits est décalé successivement, bit par bit.
Un dessin particulier de bit propre à chaque pro-
cesseur est réglé dans l'ensemble 38 de détermination de
dessin de bits correspondant.
Le comparateur 39 compare le dessin à cinq bits du signal TS de synchronisation mémorisé dans le registre
37 au dessin à cinq bits du circuit 38 de détermination.
Lorsque les dessins correspondent, le signal TP de synchro-
:isation du processeur auquel correspond le réglage du
décodeur est transmis par le comparateur 39.
On suppose maintenant que, par exemple, un dessin
de bits 110011 est contenu dans le circuit 38 de détermi-
nation, et le comparateur crée un signal TP de synchroni-
sation d'opération au moment o le dessin de bits du regis-
tre 37 qui change à chaque signal d'horloge de transmission, devient égal à 110011. En conséquence, lorsqu'un dessin de bits qui doit être déterminé dans le circuit 38 de chaque décodeur des processeurs 31, 32, 33,... et 34, 35, 36,... est affecté
à chaque processeur, le signal TP de synchronisation d'opé-
ration est créé respectivement avec la synchronisation correspondante.
Dans ce cas, le processeur 30 de commande de syn-
chronisation économise le dessin de bits de l'ensemble 38 de détermination de chaque décodeur des processeurs et execute un traitement arithmétique, par exemple afin qu'il détermine la séquence de transmission IQlll1 du signal TS de synchronisation de manière qu'un signal voulu de
synchronisation d'opérations soit transmis à chaque proces-
seur, et le signal TS de synchronisation est transmis aux processeurs si bien que la commande de synchronisation
de chaque processeur est alors réalisée.
Dans ce cas, le dessin de bits qui doit être déter-
miné par le circuit 38 peut comprendre des données dont le nombre de bits est égal ou supérieur au nombre de bits du registre 37 à décalage; en outre, le nombre de bits
peut varier pour chaque registre.
Par exemple, dans le cas o le traitement doit commencer lorsque 11011 ou et 110011 sont détectés par les processeurs 31 et 34 respectivement, lorsqu'un signal
sous forme d'une série au cours du temps Ili... 1110111...
1100111... est transmis comme signal de synchronisation, les processeurs 30 et 34 peuvent être commandés avec la synchronisation précédant [101' et avec la synchronisation
suivante |10011 respectivement.
En outre, dans le cas o le traitement doit être commencé lors de la détection de Ilo[ et 11001 pour les processeurs 32 et 33 respectivement, lorsqu'un signal série
il1...111011... est transmis comme signal de synchronisa-
tion, les processeurs 33 peuvent être commandés avec la synchronisation précédente retardée d'un cycle d'horloge
de transmission par rapport au processeur 32.
Par ailleurs, en l'absence de disposition du déco- deur comme représenté sur la figure 5, chaque processeur peut réaliser un traitement par logiciel afin qu'il détecte
le dessin de bits et donne ainsi la synchronisation de l'opé-
ration.
En outre, à part le dessin de bits décrit précédem-
ment, 1l| peut être transmis ailleurs que pendant la trans-
mission du signal de synchronisation TS et 101 peut être transmis pendant la transmission du signal de synchronisation TS si bien que chaque processeur compte la fréquence des
1li afin qu'il détermine la synchronisation de l'opération.
Dans ce cas, la fréquence peut être modifiée pour chaque processeur afin que la synchronisation particulière de
l'opération de chaque processeur soit déterminée.
Comme décrit précédemment, le signal de synchroni-
sation TS peut avoir une largeur différente d'un bit, c'est-
à-dire que la largeur peut être égale à plusieurs bits;
cependant, dans ce cas, le signal à bits parallèles compre-
nant plusieurs bits doit être utilisé comme signal de syn-
chronisation et plusieurs lignes de transmission sont donc nécessaires. Dans le cas d'un signal ayant une largeur de
1 bit, seule une ligne de transmission est nécessaire.
Comme décrit précédemment, selon l'invention, le
signal de synchronisation est partagé par plusieurs sous-
systèmes et le traitement par décodage du signal de synchro-
nisation dans chaque sous-système, c'est-à-dire l'algorithme de détection de la synchronisation de l'opération de chaque
sous-système, est modifié si bien que la synchronisa-
tion respective de traitement peut être transmise aux divers
sous-systèmes à l'aide de circuits de faibles dimensions.
Les processeurs constituant les processeurs 3A et 3B comportent chacun une section de commande ayant un
microprogramme mémorisé et destiné à transmettre une micro-
instruction, et une section arithmétique destinée à l'exécu-
tion d'une opération arithmétique en fonction de la micro-
instruction. Les données numériques d'entrée sont transmises à la section arithmétique. Une partie de l'information de la section arithmétique est transmise à la section de commande afin qu'elle reflète l'information arithmétique
vis-à-vis du programme et le résultat de l'opération arithmé-
tique est obtenu sous forme de données numériques de sortie
de la section arithmétique.
La section arithmétique du processeur comporte
un circuit multiplicateur, un circuit d'addition-soustrac-
tion, et une mémoire de facteur destinée à conserver des
facteurs ou coefficients nécessaires à l'opération arithmé-
tique, par exemple pour sin G et cos 0.
Dans le processeur décrit précédemment, en plus du calcul de valeur de signaux destiné à calculer la valeur des données de sortie à partir des données d'entrée, divers types de valeurs sont associés à des calculs autres que le calcul de la valeur des signaux, par exemple d'une adresse destinée à déterminer un facteur qui doit être lu dans la mémoire de facteur et d'un nombre d'une boucle DO qui
doit être déterminé en fonction du contenu du traitement.
Cependant, dans le cas o le calcul des divers types de valeurs autres que celles qui sont reliées au calcul de la valeur des signaux, est aussi réalisé à l'aide de la section arithmétique qui donne un calcul de la valeur
des signaux, le temps de calcul est nécessaire en particu-
lier et réduit la vitesse de traitement des données.
La figure 8 est un diagramme synoptique qui repré-
sente la configuration globale d'un exemple de processeur destiné à un traitement numérique utilisé dans le processeur de données selon la présente invention. Dans cet exemple, la microinstruction provenant de la section 100 de commande est transmise à la section arithmétique principale 300
et à la section arithmétique auxiliaire 200.
La section arithmétique principale 300 reçoit des données d'entrée qui sont alors soumises à un calcul de
2 6 4 1 1 0 0
la valeur du signal, et des données de sortie sont alors
créées et transmises.
La section arithmétique auxiliaire 200 crée les
adresses de la mémoire de facteurs et de la mémoire de don-
nées disposées dans la section arithmétique principale 300 comme décrit dans la suite et exécute un calcul destiné à donner la valeur de répétition de la boucle DO et les adresses et la valeur de répétition de la boucle DO sont transmises à la section arithmétique principale 300 et à
la section 100 de commande, respectivement.
La figure 9 est un diagramme synoptique représentant un exemple de section arithmétique principale 300 dans lequel deux systèmes d'unités de traitement de données correspondant chacune à une opération sur 8 bits sont disposés afin qu'elles assurent un traitement d'emploi universel, si bien qu'une opération sur des données à 16 bits est permise par
le système dans son ensemble.
Ainsi, les unités arithmétiques 300X et 300Y ont toutes deux exaczement la même configuration si bien que les mêmes références numériques sont attribuées aux parties
correspondantes, avec un suffixe X ou Y respectivement.
La première unité arithmétique 300X comporte un
circuit multiplicateur 311X, un circuit d'addition-soustrac-
tion 312X, une mémoire 313X de facteurs, une mémoire 314X de données, plusieurs registres 321X-328X et des circuits
tampons à trois états 331X-338X.
La section 100 de commande transmet des micro-
instructions afin que les sorties des registres 321X, 328X qui doivent être validées soient déterminées, afin que les données qui doivent être décalées soient déterminées, et afin que la commande éventuelle du circuit multiplicateur
311 soit déterminée.
Les circuits tampons à trois états 331X-338X sont
aussi commandés par les microinstructions.
Dans la première unité arithmétique 301X, les données d'entrée sont transmies au registre 321X et le registre 328X transmet des données de sortie. La mémoire 313X de facteurs contient les données de facteurs ou de coefficients telles que cos Q et sin 6. Lorsqu'un signal
d'adresses est transmis par la section arithmétique auxiliai-
re 200 par l'intermédiaire du registre 341XY à la mémoire de facteurs 313X, un facteur nécessaire au calcul d'une
valeur d'un signal est lu convenablement à cet emplacement.
La mémoire de données 314X est utilisée pour la mémorisation des données de sortie créées lorsqu'elles sont nécessaires. Lorsqu'un signal d'adresse est transmis par la section arithmétique auxiliaire 200 par l'intermédiaire
du registre 342XY vers la mémoire 314X de données, les don-
nées y sont lues de la manière convenable.
La seconde unité arithmétique 300Y a une configura-
tion analogue dans laquelle les données d'entrée sont trans-
mises au registre 321Y et le registre 328Y transmet les données de sortie. Une adresse provenant de la section arithmétique auxiliaire 200 est transmise par l'intermédiaire du registre 314XY,à la mémoire 313Y de facteurs alors qu'une adresse provenant de la section arithmétique auxiliaire 200 est transmise par l'intermédiaire du registre 342XY
à la mémoire de données 314Y.
Dans ce cas, la première unité arithmétique 300X et la seconde unité arithmétique 300Y sont réalisées de
manière qu'elles traitent des données à 16 bits, c'est-
à-dire que 32 bits de données peuvent être traités globale-
ment dans le système. Celui-ci a une configuration permettant le traitement d'emploi universel de manière que le traitement puisse être réalisé dans l'une ou l'autre des première et seconde unités arithmétiques 300X et 300Y; en outre, les signaux de sortie des circuits d'addition-soustraction 312X
et 312Y sont transmis aux registres 323Y et 323X respective-
ment alors que les signaux de sortie des registres 327X
et 327Y sont transmis au registre 324 et au circuit multipli-
cateur 311, et au registre 324X et au circuit multiplicateur 311X respectivement, si bien que l'information peut être
communiquée entre les sections arithmétiques 300X et 300Y.
De plus, les circuits ou unités d'addition-sous-
traction 312X et 312Y sont liées l'une à l'autre par une section 350 de liaison. Lorsqu'un signal prédéterminé de
sélection est transmis à la section de liaison 350, l'opéra-
tion peut être échangée entre deux modes, selon que les circuits respectifs d'addition-soustraction 312X et 312Y travaillent chacun comme un circuit d'addition-soustraction à 16 bits avec une précision simple, ou selon que deux circuits d'addition-soustraction 312X et 312Y travaillent
comme un tout sous forme d'un circuit d'addition-soustrac-
tion à 32 bits donnant une précision double.
Dans cet exemple, les circuits d'addition-sous-
traction 312X et 312Y sont constitués chacun sous forme d'un circuit d'addition-soustraction à 16 bits comprenant par exemple quatre microprocesseurs Am2901 de AMD, sous forme d'un ensemble. Le circuit d'addition-soustraction comprend par exemple une mémoire à accès direct capable de mémoriser 16 articles de données à 16 bits. Les articles de données à 16 bits sont disposés afin qu'ils soient décalés dans la direction des colonnes suivant des relations numériques, par exemple d'un facteur 1/2, d'un facteur 2, etc. Dans un système de traitement parallèle mettant en oeuvre la configuration précitée à multiprocesseur, le processeur 4 de commande assure une commande globale dans trois modes décrits dans la suite, permettant ainsi l'exécution du traitement, la terminaison du traitement
et le transfert de programme (échange) sans défaut de con-
tinuité. La figure 10 représente les relations de connexion du processeur de commande et de la section de commande de l'un des divers processeurs des processeurs 3A et 3B. Cette configuration s'applique à tous les processeurs
effectuant l'échange de programme.
Ainsi, sur ce schéma, les constituants autres que
le processeur de commande 4 constituent un exemple de confi-
guration de la section de commande du processeur.
L'organe 101 de commande à microprogramme crée
2 6 4 1100
des adresses de la mémoire de microprogrammes 111-114a
et 114b, constituées à partir de la mémoire à accès direct.
A partir de la mémoire 111 de microprogrammes, quatre bits d'instruction par exemple sont obtenus afin qu'ils assurent la sélection de l'une de plusieurs instruc- tions de l'organe 110 de commande à microprogramme et les bits d'instruction sont transmis par l'intermédiaire d'un registre 115 à une borne I d'instruction de l'organe 110
de commande.
Dans ce cas, l'organe de commande possède 16 types d'instructions. De plus, le sélecteur 116 reçoit plusieurs articles d'informations à 1 bit, et l'un de ces articles est choisi en fonction d'une information lue dans la mémoire 112 de
microprogramme. L'information à 1 bit provenant du sélec-
teur 116 est transmise sous forme d'un code'de conditions à la borne CC de l'organe 110 de commande de programme et elle est alors combinée aux bits d'instruction de manière qu'elle soit utilisée comme information pour la sélection de l'adresse suivante sous forme de données qui progressent, d'une adresse à transmettre à la borne d'entrée directe
D ou d'une autre adresse.
Une information, par exemple une adresse de destina-.
tion d'une instruction "GOTO" ou une information sur la valeur de répétition d'une boucle DO est obtenue dans la mémoire 113 de microprogramme et est alors conservée dans
un registre 117a.
Une information relative à la microinstruction
est extraite de la mémoire de microprogramme 114a et 114b.
Cette information est transmise par l'intermédiaire du registre 118 à la section arithmétique de ce processeur et la totalité ou une partie de la microinstruction est transmise à l'unité logique d'addition-soustraction 201
constituant une section arithmétique auxiliaire 200.
L'organe 110 de commande à microprogramme est réalisé de manière qu'il permette la transmission de l'un ces trois signaux de validation PL, VECT et MAP suivant le bit d'instruction. En conséquence, l'un des registres 117a-117c est mis à un état valide de fonctionnement par le bit d'instruction et l'adresse conservée dans le registre est utilisée comme signal direct d'entrée. Dans la plupart des instructions, le signal PL est validé, c'est-à-dire que le signal VECT ou le signal MAP ne peut être transmis que pour une instruction particulière. En outre, le fait que l'entrée directe doit être sélectionnée dans l'état du bit d'instruction est déterminé en fonction du code
d'état provenant du sélecteur 116.
Apres sélection d'une microinstruction, l'unité arithmétique d'additionsoustraction 201 obtient par le calcul des signaux d'adresses de la mémoire de facteurs 313X et 313Y et de la mémoire de données 314X et 314Y de la section arithmétique principale 300, et transmet les signaux obtenus d'adresses aux registres 341XY et 342XY
afin qu'ils y soient mémcrisés.
Dans l'unité arithmétique d'addition-soustraction 201, une information telle que la valeur de répétition d'une boucle DO est obtenue par le calcul et est transmise
par exemple au registre 117b qui la conserve.
Les opérations réalisées dans la section arithméti-
que auxiliaire 200 sont relativement plus simples que le calcul de la valeur du signal dans la section arithmétique
principale 300. En conséquence, dans l'exemple décrit précé-
demment, la section arithmétique auxiliaire 200 peut avoir une faible dimension sous forme d'un circuit matériel, de même que l'unité arithmétique d'addition-soustraction 201.
Comme décrit précédemment, lorsque l'unité arithmé-
tique auxiliaire 200 est présente, par exemple dans le cas o un premier calcul du total des opérations entre les coefficients KA(al), KA(a2),... KA(an) aux adresses 2 n a, a2, an de la mémoire de facteurs 313X et les données TA (a1), TA (a2)... TA (an) aux adresses respectives
ai, a2'... an de la mémoire de données 314X, c'est-à-
dire KA (a1) * TA (a1) + KA (a2) * TA (a2) +... + KA (an) * TA (an) et un calcul du total des opérations entre les coefficients KB (a1), KB (a2),... KB (an) aux adresses ai, a2,...an de la mémoire de facteur 313Y et les données TB (a1), TB(a2), 5... TB (an) aux adresses respectives ai, a2... an de la mémoire de données, c'est-à-dire KB (a1) * TB (a1) + KB (a2) * TB (a2) +... KB (an) * TB (an)
sont réalisés en même temps, le traitement peut être réali-
sé en n étapes ou en un peu plus de n étapes, par rapport aux 2n étapes nécessaires avec la technique connue, si
bLen que la vitesse de traitement peut être accrue.
Selon la présente invention, comme la section arith-
métique auxiliaire est destinée à calculer des valeurs telles que l'adresse de la mémoire de facteurs dans la section arithmétique principale exécutant le calcul de la valeur du signal, les opérations telles que le calcul de la valeur d'adresse réalisé habituellement dans la section arithmétique principale sont retirées des tâches de celle-ci si bien que la section arithmétique principale n'assure que le calcul de la valeur des signaux et la vitesse
d'exécution du traitement est ainsi accrue.
En outre, comme les opérations effectuées dans la section arithmétique auxiliaire ne nécessitent pas des circuits de grandes dimensions dans la plupart des cas nécessaires au calcul de la valeur des signaux dans la section arithmétique principale des circuits de petites dimensions seulement sont ajoutés à la section arithmétique
auxiliaire, de manière avantageuse.
Lorsqu'un traitement par adaptation est exécuté
en fonction de l'information provenant de la section arith-
métique et d'autres processeurs, le sélecteur 116 reçoit, comme informations d'entrée, l'information provenant de la section arithmétique et l'information provenant d'un autre processeur et, suivant l'information, une instruction
telle qu'un saut conditionnel, est exécutée.
Cependant, dans le cas du système de programmation
utilisé pour le traitement par adaptation décrit précédem-
ment, un traitement par adaptation même très réduit, par exemple le calcul d'une valeur absolue, a une influence sur l'écoulement des adresses du programme étant donné
le saut conditionnel ou analogue.
En outre, lorsque plusieurs courants de données circulent pour le traitement arithmétique respectif dans un processeur, un programme créé par utilisation d'un tel code de condition ne peut pas s'adapter au traitement des données associées aux courants respectifs de données, et
ceci constitue un inconvénient.
Dans l'exemple considéré, les unités de mémoire
114a et 114b sont disposées comme mémoires de microprogram-
mes destinées à transmettre des microinstructions dans le premier système de données. Les sorties des mémoires 114a et 114b sont connectées mutuellement (par câblage OU) et sont reliées par le registre 118 au premier système
de données.
L'information provenant du premier système de don-
nées est transmise comme signal de sélection de circuits paillettes CS1 à la mémoire 114a et est transmis par un
circuit 122 d'inversion à la mémoire 114b.
Dans un exemple, le contenu de la mémoire de micro-
programme 114a et 114b, dans le cas o un calcul
C = A + IBI est exécuté, est le suivant.
Adresse Contenu de la mémoire 114a Contenu de la mémoire 114b 0 transmettre données A à transmettre données A à
UAL. UAL.
1 vérifier signe de B vérifier signe de B
2 C = A +B C = A - B
Ainsi, bien que le contenu des adresses 0 et 1 de la mémoire 114a, 114b soient les mêmes, les contenus de l'adresse 2 varient avec le signe des données B. Comme le signal des données numériques est positif lorsque le bit le plus significatif est un 0 et le signal est négatif lorsque ce bit est un 1, le bit le plus significatif des
données B est transmis comme signal de sélection de pail-
lettes CS1. En conséquence, lorsque le bit le plus signi-
ficatif est un 0 indiquant le signe positif, la mémoire 114a est choisie et une opération C = A + B est réalisée dans la section arithmétique alors que lorsque le bit le plus significatif est un 1 indiquant le signe négatif, la mémoire 114b est choisie et une opération C = A - B
est exécutée dans la section arithmétique.
Comme décrit précédemment, sans changement de la circulation des adresses, c'est-à-dire de la circulation dans le programme lui-même, un traitement par adaptation
tel qu'un calcul d'une valeur absolue peut être réalisé.
Ainsi, le traitement par adapatation peut être réalisé facilement pour chaque système de données pourvu que, d'après un signal du système de données, une mémoire de programme associée à des instructions de commande du
système de données puisse être sélectionnée.
Lorsque la capacité d'adressage de la mémoire de programme est supérieure à la longueur du programme, il est possible d'utiliser deux mémoires telles que les mémoires 114a et 114b de l'exemple précédent. Ces unités de mémoire ne sont pas sélectionnées par une opération de sélection de paillettes, c'est-à-dire que deux types de contenus de programme sont écrits dans un dispositif à mémoire,
permettant la sélection de l'un de ces deux types de pro-
gramme par transmission de l'information provenant du sys-
tème de données au bit le plus significatif de l'adresse.
Selon la présente invention, comme plusieurs conte- nus de programme sont préparés et comme l'un des programmes est
sélectionné suivant l'information provenant du système
de données, le traitement par adaptation associé à l'infor-
mation provenant du système de données peut être simplement
obtenu sans changement de la circulation dans le programme.
En outre, lorsque l'instruction à 4 bits provenant du registre 115 est 100001, une instruction de saut à zéro est supposée et l'organe 110 de commande à microprogramme est mis dans un état tel qu'il transmet une adresse 0 dans
tous les cas quel que soit le code de condition.
D'autre part, le processeur de commande 4 comporte une mémoire à accès direct 41 destinée à conserver les programmes à 'transmettre à la mémoire de microprogramme
111-114a et 114b et un générateur 42 des adresses neces-
* saires. En outre, le dispositif générateur de signaux de mode 43, destiné à permettre trois modes comprenant le mode d'exécution, le mode de réarmement (arrêt) et le mode d'échange de programme, est disposé de manière qu'il crée
des signaux de mode à 1 bit MA et MB; en outre, le disposi-
tif 44 générateur de signaux d'écriture est destiné à créer un signal d'écriture de programme destiné à la mémoire de microprogramme 111-114a et 114b, en mode d'échange de programme. Le générateur de signal de mode 43 a par exemple
la configuration représentée sur la figure 11.
Ainsi, des commutateurs SWA et SWB doivent être commutés par l'opérateur. Chaque commutateur a une entrée A recevant une tension continue positive et une autre borne B à la masse. Un signal a qui doit être obtenu à l'aide du commutateur SWA est transmis à une borne d'entrée d'une porte OU 45. Un signal b obtenu à partir du commutateur SWB est transmis comme signal de mode MB et parvient à l'autre borne d'entrée de la porte OU 45 qui transmet à
son tour un signal de mode MA.
Dans ce cas, le mode est établi de la manière sui-
vante, en fonction des signaux de mode à un bit MA et MB.
Tableau I
MA = 0 MB = 0 mode d'échange de programme MA = 1 MB = 0 mode de réarmement (arrêt) MA = 1 MB = 1 mode d'exécution Ainsi, lorsque le commutateur SWB est réglé sur la borne A, le mode d'exécution est sélectionné quel que soit l'état du commutateur SWA. Lorsque le commutateur SWA est réglé sur la borne A et le commutateur SWB sur la borne B, le mode de réarmement est sélectionné. Lorsque le commutateur SWB est relié à la borne B et le commutateur
S.'A à la borne B, le mode d'échange de programme est sélec-
2641 100
tionné. Comme l'indique le tableau I qui précède, lorsque le signal MB est égal à zéro, l'exécution du programme est
interrompue et lorsque le signal MB est égal à 1, le program-
me devient exécutable. En conséquence, ce signal de mode
MB est appelé signal de réarmement (arrêt).
D'autre part, lorsque le signal MA est égal à 0, l'échange de programme est possible. Ce signal de mode MA
est donc appelé signal d'échange.
Ces deux signaux de mode MA et MB sont utilisés pour l'établissement des modes respectifs de la manière suivante. Le sélecteur 120 sélectionne des adresses destinées à la mémoire de microprogrammes 111-114a et 114b à partir des adresses provenant de l'organe I10 de commande et du processeur 4 de commande. Le signal MA est transmis comme signal de sélection à cet effet. Lorsque le signal MA est égal à 1, l'adresse provenant de l'organe 110 de commande est sélectionnée et lorsque ce signal MA est égal à 0,
l'adresse provenant du processeur 4 est sélectionnée.
En outre, le circuit porte 121 transmet le signal d'écriture WR en fonction du signal MA. Lorsque le signal
MA est à 0, la porte est ouverte et le signal WR est trans-
mis à chaque borne WE de validation d'écriture de la mémoire
111-114a et 114b de microprogramme.
Lorsqu'un zéro est transmis au signal WE de la mémoire 111-114a et 114b de microprogramme, celle-ci est
mise à l'état de validation d'écriture.
En outre, le signal MB est transmis à la borne de remise à zéro du registre 115 et lorsque ce signal MB
est égal à 0, le registre 115 est remis à 0.
Dans le processeur de commande 4, les états des signaux de mode MA et MB sont contrôlés par la section 46 de commande de chargement afin que le traitement réalisé
dans le processeur 4 soit commandé en fonction du mode.
En mode d'exécution du programme, le signal MA est égal à 1 si bien qu'une adresse provenant de l'organe de commande est obtenue à partir du sélecteur 120, et ce signal d'adresse est retardé d'un signal d'horloge par l'intermédiaire du registre 119 et le signal résultant est
transmis à la mémoire de microprogramme 111-114a et 114b.
En outre, le signal de sortie de la porte OU 121 est à 1 dans tous les cas lorsque le signal MA est à 1, et la mémoire 111-114a et 114b n'est donc pas à l'état de
validation d'écriture.
En outre, comme le signal de mode MB est égal à 1, le registre 115 n'est pas remis à 0 et les données lues dans la mémoire 111 subissent un retard d'une impulsion d'horloge dans le registre 115 et sont transmises à la borne d'instruction de l'organe 110 de commande à microprogramme
si bien qu'un programme est exécuté.
Dans ce cas, la microinstruction lue dans la mémoire 114 est retardée d'une impulsion d'horloge dans le registre
118 et est transmise à la section arithmétique.
En mode d'exécution, les registres de traitement par recouvrement sont destinés à être disposés de la manière suivante. Un registre 119 est placé entre l'organe 110 de commande et la mémoire de microprogrammes111- 114a et 114b, les registres 115 et 117a sont placés entre les côtés de sortie de la mémoire de microprogrammes 111-114a et 114b
et l'organe 110 de commande, et un registre (non représen-
té) est relié à l'entrée du sélecteur 116. Cette disposition
permet une réduction du cycle d'horloge.
Ainsi, dans le système de traitement d'images de cet exemple, le procédé de traitement en parallèle à l'aide de la configuration du type multiprocesseur est adopté
essentiellement mais le procédé de traitement avec recouvre-
ment partiel tel que décrit précédemment est aussi utilisé
en partie afin qu'un traitement à grande vitesse soit assuré.
En mode de transfert de programme, le signal de mode MB est égal à 0 et en conséquence le registre 115 est remis à zéro et 100001 est transmis à la borne d'instruction de l'organe 110 de commande; en conséquence, l'adresse transmise par cet organe 110 est maintenue à 0 ou la sortie d'adresse est fermée. Plus précisément, les adresses du programme destiné à tous les processeurs associés aux processeurs 3A et 3B sont à 0 et l'état d'arrêt de programme
est établi.
D'autre part, comme le signal de mode MA est aussi à 0, le sélecteur 120 est mis dans l'état permettant la sélection de l'adresse provenant du générateur d'adresses
42 du processeur 4 de commande.
Ainsi, en mode de transfert de programme, la mémoire de microprogramme de tous les processeurs est sous la
commande du processeur 4 de commande.
En outre, dans ce cas, le signal MA peut être trans-
mis à la borne OE de validation de sortie de l'organe 110 de commande si bien que le circuit tampon de sortie de
l'organe 110 de commande est mis hors circuit.
En outre, en fonction du programme commandant le
transfert de programme exécuté par le processeur 4 de com-
mande en mode de transfert de programme, une instruction
provenant de la section 46 de commande de chargement provo-
que la transmission par le générateur 42 d'adresse d'une adresse à la mémoire à accès direct 41, et les données de programme à transmettre à la mémoire 111-114a et 114b de microprogrammes sont lues dans la mémoire à accès direct 41. Simultanément, le signal d'écriture WR provenant du générateur 44 de signaux d'écriture est mis à 0 et le signal de mode MA est 0; en conséquence, le signal de sortie de la porte OU 121 est aussi à 0 si bien que la mémoire de microprogramme 111-114a et 114b est mise à l'état de
validation d'écriture.
En conséquence, les données de programme provenant de la mémoire à accès direct 41 sont écrites successivement
dans la mémoire de microprogramme 111-114a et 114b en fonc-
tion de l'adresse provenant du générateur 42 si bien que
le transfert de programme est assuré.
Dans cet exemple, le transfert de programme est
réalisé séquentiellement pour chaque processeur.
Ainsi, le processeur de commande 4 comporte la mémoire passive 47 dans laquelle le signal de sélection
de processeur est mémorisé. Lorsqu'un programme est trans-
féré à partir de la mémoire passive 47, le signal de sélec-
tion de processeur est lu en fonction de l'instruction provenant de la section 46 de commande de chargement. Le
signal de sélection de processeur est décodé dans le déco-
deur 48 et seul le signal de sélection SEL du processeur à sélectionner est mis à 0, les autres signaux étant mis à 1. Le signal SEL continue à être transmis à la porte OU 121 et seule la mémoire de microprogramme 111114a et 114b du processeur pour lequel le signal de sélection SEL est à 0 est mise à l'état de validation d'écriture si bien
qu'une opération de réécriture de programme est réalisée.
Lorsqu'une opération d'écriture est terminée dans une mémoire de microprogramme d'un processeur, le signal de processeur a destiné à un autre processeur est extrait de la mémoire passive 47 et le signal de sélection SEL du processeur est mis à 0; de même, le transfert du programme vers ce processeur est réalisé. Lorsque les programmes de tous les processeurs doivent être changés, l'opération décrite précédemment est répétée un nombre de fois aussi grand
que le nombre de processeurs.
Dans ce cas, lorsque plusieurs programmes doivent être transmis à chaque processeur ou lorsque plusieurs
programmes différents doivent être transmis à chaque proces-
seur, ces programmes sont écrits comme un tout dans chaque processeur. Dans chaque processeur, le programme qui doit être exécuté ensuite est spécifié par transmission d'une
adresse de début d'exécution à chaque processeur.
L'adresse de début d'exécution est extraite de la mémoire à accès direct 49 et est transmise au registre 117c de chaque processeur. Le signal de sélection SEL est transmis comme signal de verrouillage du registre 117c et, au moment o le signal de sélection passe de 0 à 1,
l'adresse de début d'exécution est verrouillée.
Le registre 117c est validé par le signal MAP pro-
venant de l'organe 110 de commande et les données verrouil-
lées sont transmises à la borne d'entrée directe D. En mode
d'exécution décrit précédemment, lorsqu'un programme com-
mence, l'adresse provenant de ce registre 117c est transmise à l'organe 110 de commande qui crée à son tour les adresses à partir de l'adresse transmise. De cette manière, un programme et l'adresse de
début d'exécution de ce programme sont transmis successi-
vement à un processeur.
L'adresse de début d'exécution pour chaque proces-
seur, conservée dans la mémoire à accès direct 49, est trans-
mise préalablement par l'ordinateur hôte 5.
Comme décrit précédemment, en mode de transfert de programme, l'organe 110 de commande à microprogramme
continue à transmettre l'adresse 0 ou est à l'état d'arrêt.
En mode de réarmement (arrêt), comme les signaux de mode MA et MB sont égaux à 1 et 0 respectivement, une
adresse provenant de l'organe 110 de commande est selection-
née par le sélecteur 120 de chaque processeur et le registre est remis à 0 par le signal MB; en conséquence, l'organe
110 de commande continue à transmettre l'adresse 0 et l'exé-
cution du programme est interrompue dans tous les processeurs.
Comme le signal MA est égal à 1, la mémoire de microprogramme 111-114a et 114b ne reçoit pas de signal
d'écriture pour une valeur égale à 0.
En mode de remise à 0, parmi plusieurs programmes écrits préalablement dans la mémoire de microprogramme de chaque processeur, une adresse de début d'un programme à exécuter est réaffectée. Ainsi, comme dans l'opération de
transfert de programme, les signaux de sélection de proces-
seurs sont transmis séquentiellement par la mémoire passive
47 et l'adresse de début d'exécution est transmise séquen-
tiellement par la mémoire passive 49 à chaque processeur,
et l'adresse de début d'exécution est verrouillée succes-
sivement dans le registre 117c de chaque processeur en fonc-
ticn du signal SEL.
En conséquence, lorsque le mode d'exécution est ensuite établi, chaque processeur exécute le programme à partir de l'adresse réaffectée de début d'exécution. Plus précisément, en. l'absence de transfert du nouveau programme,
un autre programme peut être exécuté dans chaque processeur.
Les trois modes décrits précédemment sont commandés par un programme du processeur incorporé dans le processeur
de commande 4.
Dans la configuration de la figure 1, la section 3 de traitement de données lit en vue du traitement les articles nécessaires à partir des données d'image conservées dans la mémoire d'image 2 et écrit les données traitées à nouveau dans la mémoire d'image 2. En conséquence, pour un groupe de données d'image, tel qu'une trame ou une image de données, en plus du cas dans lequel tous les articles de données sont lus pour l'exécution du travail lui-même, il peut arriver que seules les données nécessaires d'image soient lues dans plusieurs trames, dans plusieurs trames obtenues à partir d'une mémoire d'image, ou sous forme de données appartenant à plusieurs images, et les données obtenues sont soumises au traitement afin qu'une trame ou une image de données soit créée et soit alors écrite dans une mémoire de trame ou d'image. Dans ce cas, la commande
des données à l'intérieur de la mémoire d'image 2 est réali-
sée essentiellement par la section génératrice d'adresse de la mémoire d'image 2. Un processeur est utilisé comme section génératrice d'adresses, et le processeur assure
la création des adresses destinées à divers types de traite-
ment, par le calcul.
Dans un système de traitement (par exemple un sys-
tème de traitement d'image) dans lequel le but du traitement est la mémorisation temporaire, dans une mémoire, avant traitement et dans lequel l'adresse de la mémoire doit être
créée comme décrit précédemment, ces opérations sont réali-
sées habituellement à l'aide d'un processeur. Dans ce cas, la caractéristique nécessaire pour la création d'adresses varie avec le type de traitement. Plus précisément, les
adresses nécessaires au traitement sont classées essentiel-
lement en deux types de la manière suivante.
1) Une adresse qui doit être extraite régulièrement à grande vitesse, 2) une adresse qui doit être créée régulièrement
et extraite avec une grande quantité de calcul.
Cependant, dans le cas o seul l'un de ces types
d'adresse est utilisé dans un processeur générateur d'adres-
ses, la réalisation d'un système de traitement convenant
au traitement qui nécessite les deux types d'adresses pré-
sente des difficultés.
Dans ce cas, la section génératrice d'adresses du processeur 3B comporte un premier processeur 301 destiné
à créer par le calcul une adresse simple et un second proces-
seur 302 destiné à créer par le calcul une adresse compliquée
comme représenté sur la figure 12.
Ainsi, sur la figure 12, le premier processeur 301 crée une adresse simple et régulière alors.que le second processeur 302 peut exécuter une opération complexe afin qu'il crée une adresse compliquée. En outre, la référence 303 désigne un processeur de commande de création d'adresses destiné à commander le premier et le second processeur 301
et 302.
La référence 304 désigne un sélecteur parmi trois données d'adresses comprenant les données d'adresses du premier et du second processeur 301 et 302 et des données composites d'adresses obtenues par exécution d'un calcul dans le circuit arithmétique 305 sur les données d'adresses provenant du premier et du second processeur, avec formation de données d'adresses en fonction d'un signal de sélection
provenant du processeur 303 de commande de création d'adresses.
Le premier processeur 301 crée une adresse destinée à spécifier par exemple une zone rectangulaire sur un écran et peut être réalisé à l'aide de compteurs utiles à cet effet. Dans ce cas, les adresses du rectangle peuvent être
creées dans les directions horizontale et verticale.
Le second processeur 302 est par exemple un proces-
seur d'emploi universel qui fonctionne sous la commande d'un microprogramme et, en plus de l'opération linéaire, ce processeur peut réaliser une opération non linéaire
et une opération par adaptation et le programme est trans-
mis par le processeur de commande 4.
Le processeur 303 de commande de création d'adresses transmet des signaux de commande tels qu'un signal de début et des paramètres au premier processeur 301. Le second processeur 302 reçoit des signaux de commande tels qu'un signal de début de programme, alors que les paramètres et les autres informations sont transmis par le processeur
de commande 4.
En outre, le microprogramme est transmis par le processeur de commande 4 au processeur 303 de commande
de création d'adresses.
Dans le processeur 303 de commande de création d'adresses, la somme des adresses provenant du premier et du second processeur 301 et 302 est calculée, à titre
d'exemple.
Ainsi, dans le cas o des adresses sont créées afin qu'elles correspondent à une zone rectangulaire dans une partie indiquée par la région hachurée sur l'écran A de la figure 13, le second processeur 302 obtient par le calcul la position P du coin supérieur gauche de la zone rectangulaire et les données d'adresses de la position sont transmises par le second processeur 302 afin qu'elles
parviennent au circuit arithmétique 305.
D'autre part, le processeur 303 de commande de création d'adresse transmet au premier processeur 301 un
paramètre indiquant la taille de la zone rectangulaire.
Le premier processeur 301 crée alors les adresses de rec-
tangle allant du point P0 du coin supérieur gauche de
l'écran A à la partie entourée par le trait interrompu.
Lorsque la somme des adresses de rectangle et de l'adresse P1 du point initial est calculée, les adresses sont obtenues pour la zone voulue indiquée par les hachures sur la figure 13. Le sélecteur 304 sélectionne une adresse à partir du circuit arithmétique 305 en fonction du signal de sélection
provenant du processeur de commande 303.
Lorsque la création d'adressespour la zone indiquée par les hachures sur la figure 13 doit être réalisée par un processeur, un calcul nécessaire à l'obtention du point P1 et un calcul nécessaire à la création régulière des adresses de la partie rectangulaire sont nécessaires et la vitesse de traitement est réduite; cependant, comme
dans cet exemple, le second processeur 302 continue à trans-
mettre l'adresse du point P1 et le premier processeur 301 transmet régulièrement une adresse à grande vitesse si
bien qu'une addition est réalisée dans le circuit arithmé-
tique 305 et permet la création d'une adresse régulière à grande vitesse à partir de l'adresse calculée par le
second processeur 302.
En plus des adresses d'un rectangle, le premier processeur peut créer des données régulières quelconques, par exemple une adresse ayant un ordre inversé de bits nécessaire à la mise en oeuvre d'une transformation rapide de Fourier est créée par le premier processeur 301. Dans
le cas o le sélecteur 304 choisit l'une des adresses pro-
venant du premier et du second processeur 301 et 304 l'un des procédés suivants peut être adopté, d'abord un procédé dans lequel la sélection est réalisée en fonction de la vitesse de création d'adresses, et ensuite un second procédé dans lequel la sélection est réalisée en fonction de la vitesse de traitement dans le processeur 3A qui exécute le traitement arithmétique des données des éléments d'images
ou pels, et enfin un troisième procédé dans lequel la sélec-
tion est réalisée en fonction du temps total de traitement nécessaire à la création de l'adresse et au traitement
dans le processeur 3A. Dans tous les cas, lorsqu'un traite-
ment à grande vitesse est très important, le sélecteur 304 est réalisé de manière qu'il reçoive une adresse à grande vitesse. En outre, un cas peut se présenter lorsque
le système sélectionne une adresse ayant la moindre probabi-
lité d'erreur, même lorsque la vitesse de traitement est faible. Selon l'invention, comme plusieurs adresses sont soumises à une sélection et sont transmises comme adresses suivant l'utilisation et le but du traitement, les adresses
adaptées au traitement peuvent être créées efficacement.
En outre, selon l'invention, plusieurs processeurs sont disposés afin qu'ils créent plusieurs adresses et, en plus de la sélection des adresses créées à l'aide d'un
sélecteur, les adresses ainsi créées sont calculées convena-
blement par un autre circuit arithmétique et sont combinées afin qu'elles donnent une autre adresse; en conséquence, la capacité de traitement est accrue dans le système de traitement. Dans ce système, lorsque la création d'adresses
est associée à un simple changement, par exemple un change-
ment linéaire, il suffit que la configuration comprenne une section arithmétique simple et une section de commande; cependant, lorsque le processeur 3A doit assurer la création
d'une adresse compliquée, une configuration simple du proces-
seur 3B ne remplit pas suffisamment cette condition.
Selon la présente invention, cette difficulté est supprimée par association au processeur 3B d'une section 361 de traitement préalable constituant une première section de traitement, et une information telle qu'un signal de début d'image est transmise entre le processeur préalable
361 et la section d'entrée-sortie 1.
Dans le processeur préalable 361, une adresse simple telle qu'une adresse d'une zone rectangulaire, est créée d'après un microprogramme, et des signaux, tels qu'un signal de commande et un signal de synchronisation destinés à l'autre section de traitement, sont aussi créés et permettent la commande de l'ensemble du fonctionnement du processeur 3B. Les adresses de la zone rectangulaire peuvent être créées dans les directions longitudinale et verticale et
avec une séquence inversée de bits.
Le signal de commande provenant du processeur préa-
lable 361 parvient à un circuit 362 constituant la seconde section de traitement. Dans ce circuit 362 de traitement, un signal de commande d'entrée-sortie destiné au processeur 3A est créé en fonction du signal de commande provenant du processeur préalable 361 qui dépend du microprogramme,
et il est transmis au processeur 3A.
En outre, le signal de commande provenant du pro-
cesseur préalable 361 est transmis à des circuits 363A
et 363V constituant les troisièmes sections de traitement.
Deux systèmes de circuits 363A et 363B sont utilisés pour les mémoires d'image 2A et 2B; en outre, ces circuits comprennent 9 circuits Il-I9 et 01-09 respectivement comme sections à processeur qui sont équivalentes de la section
à processeur du processeur 2A. Dans les sections à proces-
seur, des adresses présentant un changement non linéaire ou un changement par adaptation sont créées en fonctiDn
des microprogrammes respectifs.
En outre, le signal de commande provenant du proces-
seur préalable 361 est transmis à la section de commande de traitement 364 qui transmet à son tour un signal de commande d'entrée-sortie de chaque processeur des circuits 363A et 363B. Les adresses provenant des processeurs des circuits 363A et 363B sont transmis aux circuits 365A et
365B. Les circuits 365A et 365B ont par exemple la configu-
ration représentée sur la figure 15. Sur celle-ci, par exemple, un signal tridimensionnel constitué à partir de 16 bits pour chacune des grandeurs X, Y et Z est transmis par le circuit 363A au registre d'entrée 367. Parmi ces bits, les adresses associées aux 19 bits des coordonnées X et Y sont transmises vers le circuit 366 décrit dans la suite. En outre, une adresse à 48 bits est transmise par le registre 367 au registre d'adresses 368 et y subit une adaptation prédéterminée de synchronisation et un autre traitement, et le signal résultant est transmis au circuit 363A ou à l'autre circuit 365B par l'intermédiaire de la première entrée du multiplexeur 369. Une adresse à 48 bits provenant du circuit 365B est transmise par le registre 370 à la seconde entrée du multiplexeur 369. En outre, l'adresse à 19 bits des coordonnées X-Y du registre 37 et les 8 bits de l'adresse de coordonnées Z sont transmis au registre 371. Les 19 bits correspondants sont transférés
comme adresses de la mémoire 372 et les 8 bits sont trans-
mis comme données de la mémoire 372. Ceci provoque la mémo-
risation de données à 8 bits associées à la coordonnée Z dans la mémoire 372 en fonction de l'adresse X-Y. En
outre, une adresse à 32 bits de la coordonnée X-Y est trans-
mise par le registre 367 au registre 373 et l'adresse à 32 bits est transmise à la troisième entrée du multiplexeur
369 avec les 8 bits lus dans la mémoire 372 et 8 bits sup-
plémentaires, par exemple comprenant 0, soit au total 48 bits transmis comme adresses. De plus, un signal de commande à 4 bits provenant du circuit 364 est transmis au registre 374 et il est utilisé pour la commande de la synchronisation du registre 368, pour la sélection des trois entrées du multiplexeur 369 et pour l'opération d'écriture dans la
mémoire 372.
En conséquence, dans les circuits 365A et 365B, les adresses provenant des - processeurs des circuits 363A et 363B sont transmises et sont en outre retransmises aux circuits 363A et 363B afin que ceux-ci assurent un traitement compliqué; en outre, une communication est réalisée avec l'autre circuit 365B, 365A afin que les adresses des côtés d'entrée et de sortie soient liées. En outre, les données d'adresses de coordonnées Z peuvent être conservées afin qu'elles correspondent à l'information tridimensionnelle
et à l'indicateur de pel.
Les adresses provenant des circuits 365A et 365B et l'adresse créée par le processeur préalable 361 sont transmises au circuit de sélection 366 qui transmet à son
tour les adresses aux multiplexeurs 366A et 366B. Ces der-
niers sont commandés par le processeur 361 afin que les
adresses provenant des circuits 365A et 365B ou du proces-
seur préalable soient obtenues ou afin qu'une adresse soit créée par addition des différentes adresses. Les adresses résultantes sont transmises aux mémoires d'image 2A et 2B. La création d'adresses estréalisée de la manière décrite précédemment. Dans ce système, comme les fonctions nécessaires pour la création des adresses et des signaux de commande sont efficacement subdivisées, les charges des sections respectives de traitement peuvent être réduites et le traitement, comprenant des opérations complexes, peut
être réalisé très simplement.
La figure 16 est un schéma représentant la connexion
du processeur 3B lors du calcul d'une adresse tridimension-
nelle, la section 300 de création d'adresses ayant une section 300Z de création d'une adresse dans la direction
Z en plus de la configuration de la figure 9.
Comme ces sections de création d'adresses 300X, 300Y et 300Z concernant les directions X, Y et Z ont toutes la même structure, les mêmes références numériques désignent des composants du circuit de la figure 9, avec le suffixe X, Y ou Z. La section de création d'adresses 300X, 300Y. et 300Z a, en plus de la configuration de la figure 9, les
registres 326X', 329X, 329X' et 330X.
Comme l'indique la figure, les sections 300X, 300Y et 300Z des trois directions sont connectées les unes aux autres si bien que, lors d'une création d'adresses dans chaque direction, les résultats des créations d'adresses dans les autres directions peuvent être utilisés de façon
convenable.
Dans le cas de cet exemple, les signaux de sortie des unités d'additionsoustraction 312X, 312Y et 312Z sont transmis à des registres de manière que l'un des signaux de sortie relative à une direction parvienne au circuit multiplicateur 311X des sections génératrices d'adresses des deux autres directions, et que les signaux de sortie des circuits d'additionsoustraction 312X, 312Y et 312Z soient conservés temporairement dans des registres puis soient transmis à des registres afin que les signaux de sortie parviennent aux circuits d'addition-soustraction des sections génératrices d'adresses concernant les deux
autres directions.
Naturellement, le procédé de connexion des sec-
ticns génératrices d'adresses 300X, 300Y et 300Z n'est
pas limité à cet exemple.
Une création d'adresses convenant à un traitement tridimensionnel peut être réaliséeà l'aide de deux circuits de section de création d'adresses ayant la configuration
décrite précédemment.
Dans cet exemple, dans le cas du processeur 3B,
lorsque l'image à transmettre est représentée par l'informa-
tion d'adresses dans les directions X et Y, l'information tridimensionnelle de position de l'objet original affiché
sous forme d'une image, c'est-à-dire l'information de profon-
deur est conservée dans la mémoire Z (non représentée).
L'information de profondeur est obtenue par calcul dans l'hypothèse o Z = Z (X, Y) et o les valeurs sont écrites préalablement par l'intermédiaire du processeur de commande
4 dans la mémoire Z, sous la commande de l'ordinateur hôte.
A titre d'exemple, on considère la description
d'un traitement dans lequel un objet est tourné dans un
espace tridimensionnel.
Par exemple, comme l'indique la figure 17, on con-
sidère un parallélépipède dans l'espace tridimensionnel qui est tourné d'un angle 6 autour d'un axe A parallèle à l'axe Y. Dans ce cas, un point arbitraire (X1, Y1, Z1) du parallélépipède est déplacé vers une position (Xi, Yi, Zi). Les valeurs de X, Y et Z peuvent être obtenues de la manière suivante: Xi =X1 + Z1 sin 0 Yi 1 (a) Zi = Z1 cos 6
En conséquence lorsque X1 et Y1 provenant de la pre-
* mière section génératrice d'adresses et Z1 provenant
de La mémoire Z sont transmis à la seconde section généra-
trice d'adresses, Xi, Yi et Zi peuvent être obtenus dans cete seconde section, c'est-à-dire qu'une figure subissant
la rotation est conservée dans la mémoire de sortie 2B.
2641 100
La figure 18A est un ordinogramme d'un programme exécuté dans la première section génératrice d'adresses, la figure 18B un ordinogramme d'un programme exécuté dans le processeur 3A, et la figure 18C un ordinogramme d'un programme exécuté dans la seconde section génératrice d'adresses. Ainsi, parmi les adresses des trois directions, à partir de la première section génératrice d'adresses, les adresses des directions X et Y sont transmises à la mémoire d'entrée de A à partir de 0, et les données d'image d'entrée destinées à un écran sont lues entièrement et sont
transmises au processeur 3A.
Les données d'image transmises au processeur 3A
parviennent à la mémoire de sortie 2B.
D'autre part, les adresses dans les directions
X et Y provenant de la première section génératrice d'adres-
ses parviennent aux entrées des sections arithmétiques et génératrices 300X et 300Y des directions X et Y respectivement de la seconde section génératrice d'adresses; de plus, les adresses parviennent à la mémoire Z qui transmet les
adresses de la direction Z dans l'hypothèse Z = Z (X,Y).
Les adresses obtenues pour la direction Z sont transmises aux entrées de la section arithmétique et génératrice d'adresses 300Z pour la direction Z. Après réception de l'information d'adresses des trois directions, la seconde section génératrice d'adresses
exécute le calcul (a) indiqué précédemment. Parmi les adres-
ses des trois directions, l'adresse (Xi, Yi) dans les deux directions Xi et Y. est utilisée pour l'écriture des données i 1
(X1, Y1) dans la mémoire de sortie 2B. En conséquence, lors-
que les données écrites dans la mémoire 2B sont lues succes-
sivement à partir d'une adresse X = 0 et Y = 0, une image tournée d'un angle g dans l'espace tridimensionnel, comme
représenté sur la figure 17, apparait sur l'écran du moni-
teur.
Dans l'exemple décrit précédemment, les adresses des mémoires d'entrée 2A et de sortie 2B sont lues et écrites
pour les deux mêmes directions et une image d'un objet obser-
vé dans une autre direction peut être facilement obtenue par changement des directions des adresses bidimensionnelles de manière que les adresses de la mémoire 2A soient lues et écrites dans les directions X et Y et que les adresses de la mémoire 2B soient manipulées dans les directions X et Z.
Selon l'invention, lorsqu'une adresse bidimension-
nelle doit être créée pour une image ayant une structure
bidimensionnelle, des données analogues à des données tridi-
mensionnelles sont traitées pour la création de l'adresse par établissement d'une relation étroite entre les articles de données dans les directions respectives, permettant un traitement efficace tel qu'un traitement tridimensionnel, destiné par exemple à faire tourner un objet dans un espace tridimensionnel.
Dans le système de traitement d'image décrit précé-
demment, il existe un traitement dit de "voisinage" dans lequel plusieurs articles de données d'image au voisinage
d'un élément d'image ou pel sont utilisés pour le traite-
ment d'un pel au cours du traitement d'une image. Une extrac-
tion de profil ou de contour est un exemple de traitement de voisinage. Les procédés de traitement utilisés pour l'extraction d'un contour comprennent un procédé mettant
en oeuvre un filtre logique, comme décrit dans la suite.
Selon ce procédé par exemple, les données de chaque pel comprenant 8 bits sont représentées sous forme binaire et les données obtenues sont soumises à une opération à l'aide d'un filtre logique 3 x 3, si bien qu'un contour d'une
image est extrait.
Dans ce procédé de traitement, les données compre-
nant 3 x 3 = 9 pels sont transformées en données binaires.
Ainsi, comme représenté sur la figure 19, la conversion binaire est réalisée sur 8 pels al-a3, bl,b3 et c1-c3, autour des données du pel b, si bien qu'on obtient respectivement
* * *
a - a3, b1, b* et c* c La somme logique des neuf pe2s est alors obtenue La somme logique des neuf pels est alors obtenue sous la forme suivante * * * A = a1Ua2 Ua3 * * * B = b Ub Ub i 2 3
* * *
C = c Uc Uc i 2 3 La valeur centrale binaire b est soustraite des valeurs des sommes logiques A, B et C sous la forme * A U B U C - b2 Le résultat de cette opération est transmis comme valeur
po r la valeur centrale b2 de neuf pels.
Le traitement est réalisé pour chaque pel sur tout
l'écran afin que l'extraction du contour soit réalisée.
Dans le procédé d'extraction de contour décrft précédemment, la somme logique des données de pel sous forme binaire comprenant un 0 ou un 1 est créée. Par exemple,
lorsque la figure d'origine est un rectangle tel que repré-
senté sur la figure 20, la région 401 indiquée sôus forme hachurée ayant à l'origine la valeur 1 dans la représentation binaire est légèrement agrandie (d'environ 1 pel) et la région originale 401 de valeur i est retirée de la région agrandie si bien qu'il reste la partie 402 indiquée par les hachures sur la figure 20. Cette région comprend les pels qui entourent la région dont la valeur est devenue égale à 1 dans l'opération d'agrandissement, si bien que
le contour est obtenu.
Les procédés de conversion binaire comprennent le procédé des carreaux P, le procédé des modes, le procédé à l'histogramme différentiel et le procédé par analyse par discrimination. La conversion binaire dans ce système est réalisée à l'aide de la valeur de seuil déterminée suivant
l'un de ces procédés.
Dans le cas o un traitement de voisinage est
réalisé, les données de 8 pets entourant un pel sont néces-
saires et en conséquence le problème de la sélection d'un procédé d'introduction des données de pel dans le processeur
se pose.
Selon l'un des procédés tel qu'illustré par la figure 21, lee circuits à retard 403 et 404 destinés chacun à retarder d'une période de balayage horizontal, sont utilisés pour l'extraction simultanée des données actuelles DA des données DL1 en avance d'une période de balayage horizontal et des données DL2 en retard. d'une période de balayage horizontal si bien que les données de trois pels destinés à être placés verticalement les uns au-dessus des autres sur l'écran sont traitées en même temps. Les données des neuf pets sont décalées par exemple dans la
section à registres disposée comme étage d'entrée du proces-
seur si bien que le traitement peut être réalisé.
Cependant, dans le cas du procédé d'introduction
de données à l'aide de circuits à retard comme décrit précé-
demment, le traitement des données est retardé du temps de retard introduit par les circuits à retard si bien que
le traitement en temps réel n'est plus possible.
En outre, lorsque le traitement en temps réel est réalisé dans ce cas, le problème suivant se pose. Ainsi, dans le cas d'un traitement de voisinage à l'aide d'un filtre logique 3 x 3 comme décrit précédemment par exemple, les données de neuf pels sont nécessaires pour l'obtention d'un signal associé à un pel. En conséquence, la vitesse de transfert de données du côté d'entrée doit être égale à neuf fois la vitesse de transfert de données du côté
de sortie.
En conséquence, le traitement en temps réel ne peut pas être réalisé par simple introduction des données
dans le processeur.
On décrit maintenant le cas dans lequel un exemple de système selon la présente invention est utilisé pour
l'extraction de contours tels que décrits précédemment.
D'abord, dans cet exemple, les données de l'écran dans son ensemble sont réparties en blocs B comprenant chacun 20 lignes horizontales comme indiqué sur la figure 22, et 20 processeurs sont disposés afin que le traitement de voisinage d'une ligne de chaque bloc B soit exécuté
par l'un des processeurs.
Dans le cas du traitement 3 x 3 décrit comme trai-
tement de voisinage, un processeur calcule le résultat d'une ligne à l'aide de données concernant les trois lignes; Comme les données d'image sont conservées temporai- rement dans la mémoire d'image, les données d'entrée du processeur destinées au traitement des données sont lues dans la mémoire d'image d'entrée; cependant, dans cet exemple, les vitesses égales de transfert de données peuvent
être obtenues à l'entrée et à la sortie par réglage conve-
nable de la séquence de lecture des pels dans la mémoire d'image d'entrée, par transfert simultané des données de
pel dans le processeur nécessitant les données et par uti-
lisation du registre disposé dans l'étage d'entrée de chaque
processeur.
La figure 23 est un diagramme représentant un bloc comprenant 20 lignes de mémoire d'image d'entrée, les lignes L. L2,..L20 correspondant aux processeurs Pi, P2...P P20 respectivement. D'autre part, les données des pels sont lues dans
la mémoire d'image d'entrée suivant la séquence, c'est-
à-dire dans la direction verticale comme indiqué par la flèche 405. Dans chaque bloc en conséquence, les 20 pels
disposés verticalement sont lus dans le bloc et sont trans-
férés consécutivement du côté du processeur.
Dans cette opération, les données du transfert sont décalées simultanément dans le registre d'entrée du
processeur qui demande les données.
Par exemple, dans le cas du traitement d'extraction de contours mettant en oeuvre un filtre logique 3 x 3 décrit précédemment, on considère un traitement du voisinage des dixièmes données d'image de chaque ligne par utilisation
des positions, de la neuvième à la onzième.
On suppose que, après transfert des données de pel d (i, 9) et d (i, 10) (i = 1, 2... 20) de la neuvième
et de la dixième position aux lignes L1-L20 vers les proces-
seurs P1-P20, les données de pel d (i, 11) des onzièmes
positions dans les lignes L1-L20 sont transférées.
1 20 Dans ce cas, comme représenté sur la figure 24, les données de pel d (1,11) de la onzième position de la ligne L1 sont transférées aux processeurs P1 et P2' les données de pel d (2, 11) de la onzième position de la ligne L sont transmises aux processeurs Pil P et P3 les données
2 12 3'
de pel d (3, 11) de la onzième position de la ligne L3 sont transmises aux processeurs P2, P3 et P4' les données de
pel (4,11) de la onzième position de la ligne L4 sont trans-
mises aux processeurs P3' P4 et P5' et ainsi de suite. De cette manière, les données sont transmises aux processeurs
P1 a P20 par l'intermédiaire des registres respectifs d'en-
trée. Les données conservées dans les registres d'entrée
des processeurs P1 - P20 sont combinées aux données du neu-
vième et du dixième pel d (i, 9) et d (i, 10) des lignes L1 à L20 afin qu'elles soient traitées comme données des neuf pels nécessaires au calcul des valeurs de sortie du
dixième pel central.
Dans ce cas, les données de six pels parmi les données de neuf pels sont aussi utilisées comme données de pel pour le calcul de la valeur de sortie des données
précédentes du neuvième pel central.
La figure 25 représente la configuration du registre d'entrée de chaque processeur. Cet exemple non seulement
s'applique à un filtre logique 3 x 3 mais encore à une con-
figuration permettant une extension qui permet par exemple le traitement de voisinage à l'aide des données pouvant
aller jusqu'à 5 x 5 = 25 pels.
Ainsi, dans ce schéma, dans les registres à décalage 411-415 qui ont des positions correspondant aux cinq lignes horizontales, des registres tampons 421-425 sont incorporés sous forme d'un premier étage. La borne d'entrée des données de pel d'entrée est alimentée en commun par les registres tampons et la synchronisation de la transmission des signaux d'horloge aux registres est commandée de manière que les données nécessaires de pel soient décalées dans les registres correspondants. Comme le cas de cet exemple concerne le traitement d'un filtre logique 3 x 3, les registres 424-425 et les
registres à décalage 414-415 ne sont pas utilisés.
Dans le cas de l'utilisation du filtre logique 3 x 3, lorsque les données de pel sont conservées dans
trois registres tampons 421-423, le système donne une opéra-
tion telle que les données de pel sont transférées simulta-
nément à partir de ces registres vers les registres à déca-
lage 411-413, pour la première, la seconde et la troisième ligne. Lorsque les données de neuf pels à utiliser dans le processeur sont conservées dans les registres à décalage 411-413, concernant la première, la seconde et la troisième ligne, les données de pel des neuf pels sont transférées
à la section arithmétique du processeur afin que le traite-
ment d'extraction de profil soit réalisé comme décrit précé-
demment. Le transfert des données des registres 411-413 à la section arithmétique du processeur est réalisé à l'aide d'instructions d'un programme de traitement conservé dans la section de commande du processeur. Le traitement associé aux données des neuf pels doit être réalisé au moment o les données des neuf pels suivants de la ligne à traiter
par le processeur sont introduites.
On décrit maintenant l'opération de décalage des données dans un registre d'entrée de chaque processeur, dans l'exemple décrit précédemment. Par exemple, les données du onzième pel d (2, 11) de la ligne L2 sont décalées dans le registre tampon 423 pour la troisième ligne du registre d'entrée du processeur Pl. dans le registre tampon 422 pour la seconde ligne du registre d'entrée du processeur P2' et dans le registre tampon 421 de la première ligne
du registre d'entrée du processeur P3' simultanément.
Ensuite, les donnéeè du onzième pel d (3, 11) de la ligne L3 sont décalées dans le registre tampon 423 à partir de la troisième ligne dans le processeur P2' dans le registre tampon 422 pour la seconde ligne dans le
processeur P3' et dans le registre tampon 421 pour la pre-
mière ligne dans le processeur P4' simultanément.
Dans ce cas, lorsque trois onzièmes données concer-
nant les lignes sont introduites dans les registres, les trois huitièmes données déjà traitées sont transférées au second étage des registres à décalage et sont évacuées, si bien qu'une opération efficace de transfert peut être réalisée. Dans le traitement décrit précédemment, chaque processeur possède naturellement une vitesse de traitement
qui permet l'exécution du traitement d'extraction de con-
tour au moment o des données contenant chacune des données de trois pels sont transférées vers l'étage suivant dans
les registres à décalage 411-413.
Bien que la procédure de formation de blocs dans un écran, la séquence de lecture des blocs et le procédé :e décalage des données dans les registres d'entrée varient avec le traitement, il faut noter que les mêmes données
sont transférées simultanément vers les processeurs néces-
sitant les données et que des vitesses égales de transfert
de données sont obtenues à l'entrée et à la sortie.
Dans l'exemple qui précède dans lequel l'écran est subdivisé en blocs, la première et la dernière ligne
des 20 lignes ne peuvent pas être convenablement traitées.
(Ceci est dû au fait que la ligne précédente manque pour la première ligne et que la ligne suivante manque pour la dernière ligne). Cependant, par exemple, dans la division par blocs, lorsqu'un recouvrement d'au moins une ligne est assuré pour tous les blocs comme représenté sur la figure 26, le nombre de lignes pour lequel le traitement
convenable est réalisé peut être réduit.
En outre, la section d'entrée des registres n'est
pas obligatoirement placée dans le processeur, c'est-à-
dare que la même opération peut être réalisée même lorsque la section des registres d'entrée constitue un étage
précédant l'entrée dans le processeur.
Selon la présente invention, au cours du traitement de voisinage par mise en oeuvre des données de voisinage entourant un pel, plusieurs processeurs sont utilisés et les données sont transférées simultanément aux processeurs qui nécessitent les données, si bien qu'une même vitesse de transfert de données peut être réalisée à l'entrée et à la sortie et le traitement peut donc être réalisé en temps réel.
Cependant, lorsqu'une mémoire de mots de 1 kilo-
octet est disposée sous forme de chaque mémoire de facteur dans un tel système, l'adresse doit être représentée par l'utilisation de dix bits et en conséquence la configuration de l'opération de création et de transmission d'adresses doit être déterminée pour 20 bits au total pour deux unités de mémoire de facteurs. En conséquence, la configuration de la section génératrice d'adresses dans la section 100 de commande devient complexe et cette section a une grande dimension; en outre, il n'est pas commode de disposer de
deux lignes pour la transmission de l'information d'adresse.
Sur la figure 9, deux registres d'entrée reçoivent un signal de sélection de données à partir de la section de commande 100, et les données sélectionnées sont transmises aux registres d'entrée des circuits multiplicateurs 311X et 311Y constituant les sections arithmétiques 300X et 300Y
respectivement. Les mémoires de facteur 313X et 313Y reçoi-
vent l'adresse lue dans la section de commande 100 et le facteur ainsi lu est transmis aux circuits multiplicateurs 311X et 311Y qui sont alors commandés à l'aide d'un signal de commande provenant de la section 100 de commande, et les résultats des opérations sont transmis aux circuits d'addition-soustraction 312X et 312Y respectivement. En outre, les données provenant des registres de sortie de ces circuits 312X et 312Y sont renvoyées à ces circuits et les circuits d'addition-soustraction sont commandés par le signal de commande provenant de la section 100 de commande afin que le résultat de l'opération, qui est écrit à son
tour dans les registres de sortie 328X et 328Y, scit transmis.
* Les données provenant des registres de sortie 328X et 328Y sont renvoyées' à la voie de sortie en fonction du signal
de commande provenant de la section 100.
Dans le cas o par exemple un filtre spatial 3 x 3 est utilisé dans ce système, les blocs fonctionnels
nécessaires sont représentés sur la figure 27. Sur ce dia-
gramme Xij indique un article de données, ai, désigne un facteur de pondération (i = 1, 2, 3; j = 1, 2, 3), et
Yij est un résultat d'opération.
Le résultat est exprimé par l'équation suivante représentant la différence
+1 +1
Yij = Z Z a2+m, 2+n Xi-m']-n m=-1 n=-l Le traitement destiné à l'exécution de cette opération dans la section décrite précédemment, est exécuté de la
manière suivante.
(Pas j) CM(A) { a11 I MPL(A) ail est lu dans la mémoire de facteur 313X et est
transmis au circuit multiplicateur 311X (MPL).
FRA{ 2i_1, j-1} MPL(A)
xi-1 j-1 est lu dans le circuit FRA et est trans-
msa l j
mis au circuit multiplicateur 311X.
CM(B) { a131 -+ MPL(B) a13 est lu dans la mémoire de facteur 313Y et est
transmis au circuit multiplicateur 311Y.
3FRA {x i+1, j+l}- MPL(B) xi+l, j+l est lu dans le registre d'entrée 321X
et est transmis au circuit multiplicateur 311Y.
(pas j + 1) CM(A) { a21 '- MPL(A) L21 FRA {x. - MPL(A) CM(B) {a23} MPL(B) FRA {xi, } - MPL(B)
MPL(A) -UAL (A)
aij Xxi1, j1 est mémorisé dans le registre de
sortie du circuit d'addition-soustraction 312X.
MPL(B) - UAL(B)
a13 X xi+l j+l est mémorisé dans le registre de sortie du circuit d'addition-soustraction 312Y. (Pas j + 2) CM(A){ a31} -MPL(A) FRA { Xi+1, j+l} + MPL(A) CM(B) { a33} + MPL(B) FRA { Xi_1, j+l} MPL(B)
MPL(A) - UAL(A) + RA
Le signal de sortie du registre de sortie du circuit d'additionsoustraction 312X et a21 Xxilj sont ajoutés 21 i-1,j et le résultat est conservé dans le registre de sortie
du circuit d'addition-soustraction 312X.
MPL(B) - UAL(B) + RB
Le signal de sortie du registre de sortie du circuit
d'addition-soustraction 312Y et a31 X xi+ + sont ajou-
tés et le résultat est conservé dans le registre de sortie
du circuit d'addition-soustraction 312Y.
(Pas j + 3) CM(A){ (a12)} MPL(A) FRA {xij_1} + MPL(A) CM(B) {a32}+ MPL(B) FRA {Xi, j+l}- MPL(B)
MPL(A) -ALU(A) + RA
MPL(B)- ALU(B) + RB
(Pas j + 4) CM(A) {a22} MPL(A) FRA {Xij} MPL(A)
1
MPL(A) + UAL(A) + RA
MPL(B) UAL(B) + RB
2 6 4 1 1 00
(Pas j + 5)
MPL(A)+ UAL(A) + RA
(Pas j + 6)
RB + UAL(A) + RA
Le contenu du registre de sortie du circuit 312Y d'addi- tionsoustraction et le contenu du registre de sortie du
circuit 312X d'addition-soustraction sont ajoutés.
(Pas j + 7) RA + voie de sortie Le filtre spatial 3 x 3 est réalisé comme décrit précédemment. Dans ce cas, les facteurs ail et a13 du pas j, les facteurs a21 et a23 du pas j + 1 et les facteurs a12
et a32 du pas j + 3 sont obtenus dans les mémoires de fac-
teurs 313X et 313Y, lorsqu'ils sont nécessaires à un moment donné. A cet effet, ces facteurs sont écrits aux adresses convenables des mémoires respectives 313X et 313Y si bien que l'adresse 0, l'adresse 1, l'adresse 2, l'adresse 3 et l'adresse 3 sont lues au pas j, j+1, j+2, j+3 et j+4 respectivement, avec extraction de ces facteurs d'une
manière analogue au procédé ordinaire.
En conséquence, dans le système décrit précédemment, même lorsque l'adresse commune de lecture est transmise par la section 100 de commande à la mémoire 313X et 313Y, les facteurs sont extraits de manière analogue de la mémoire 313X et 313Y de la même manière que dans le cas ordinaire
et permettent la création de la même adresse dans la sec-
tion 100 et la lecture des données dans chaque mémoire 313X, 313Y par l'intermédiaire d'une ligne de transmission de signaux destinée à une mémoire, par exemple travaillant
avec dix bits.
Le système décrit précédemment a une plus grande
efficacité lorsque le nombre d'unités de mémoire est accru.
Par exemple, lorsque le nombre est égal à n, le nombre de sections génératrices d'adresses ainsi que de lignes de transmission de signaux peut être réduit à 1/n fois
celui qui est nécessaire dans le système classique.
Selon l'invention, comme chaque mémoire de facteurs peut être lue à l'aide de l'adresse commune, la création
d'adresses de lecture dans la section de commande est faci-
litée; en outre, le nombre de lignes de transmission de signaux est réduit si bien que la configuration du système
peut être simplifiée.
On a décrit un cas dans lequel le système selon l'invention est utilisé pour le traitement d'un signal videéo; cependant, les signaux sont conservés dans une mémoire pour chaque période élémentaire et le traitement numérique est réalisé sur le signal pendant l'unité de temps, dans le cas du traitement numérique des signaux d'audiofréquences et d'autres signaux aussi, c'est-à-dire que l'invention s'applique au traitement de signaux d'information autres
que les signaux videéo.
Bien entendu, diverses modifications peuvent être apportées par l'homme de l'art aux installations et circuits qui viennent d'être décrits uniquement à titre d'exemples
non limitatifs sans sortir du cadre de l'invention.

Claims (1)

  1. Revendication unique
    Installation de traitement d'images destinée à assurer un traitement par utilisation de données de pixels entourant un pixel déterminé, caractérisée par le fait qu'une pluralité de processeurs (Pl, P2,... P20) est prévue pour effectuer le traitement, chaque donnée de pixel étant appliquée simultanément aux processeurs qui ont
    besoin de cette donnée parmi ladite pluralité de processeurs.
FR9002311A 1985-11-13 1990-02-23 Expired - Fee Related FR2641100B1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP25452885A JPS62114044A (ja) 1985-11-13 1985-11-13 アドレス発生装置
JP60259539A JP2610817B2 (ja) 1985-11-19 1985-11-19 アドレス生成装置

Publications (2)

Publication Number Publication Date
FR2641100A1 true FR2641100A1 (fr) 1990-06-29
FR2641100B1 FR2641100B1 (fr) 1994-09-30

Family

ID=26541714

Family Applications (2)

Application Number Title Priority Date Filing Date
FR8615761A Expired - Fee Related FR2593622B1 (fr) 1985-11-13 1986-11-13 Installation de traitement de donnees, notamment d'images, et circuits generateurs d'adresse et de traitement arithmetique
FR9002311A Expired - Fee Related FR2641100B1 (fr) 1985-11-13 1990-02-23

Family Applications Before (1)

Application Number Title Priority Date Filing Date
FR8615761A Expired - Fee Related FR2593622B1 (fr) 1985-11-13 1986-11-13 Installation de traitement de donnees, notamment d'images, et circuits generateurs d'adresse et de traitement arithmetique

Country Status (6)

Country Link
EP (1) EP0222405B1 (fr)
CA (2) CA1283738C (fr)
DE (1) DE3650069T2 (fr)
FR (2) FR2593622B1 (fr)
GB (3) GB2183067B (fr)
NL (1) NL8602885A (fr)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL8800053A (nl) * 1988-01-11 1989-08-01 Philips Nv Videoprocessorsysteem, alsmede afbeeldingssysteem en beeldopslagsysteem, voorzien van een dergelijk videoprocessorsysteem.
GB2229336B (en) * 1989-03-17 1993-09-15 Sony Corp Picture manipulation
US5237657A (en) * 1989-03-17 1993-08-17 Sony Corporation Apparatus for manipulating a picture represented by a video signal
IE920032A1 (en) * 1991-01-11 1992-07-15 Marconi Gec Ltd Parallel processing apparatus
EP1555828A1 (fr) * 2004-01-14 2005-07-20 Sony International (Europe) GmbH Procédé de prétraitement de données vidéo en blocks

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0150060A2 (fr) * 1984-01-19 1985-07-31 Hitachi, Ltd. Processeur d'image multifonctionnel

Family Cites Families (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NO119615B (fr) * 1966-02-25 1970-06-08 Ericsson Telefon Ab L M
FR2028240A1 (fr) * 1969-01-13 1970-10-09 California Computer Products
NL7110608A (fr) * 1970-10-05 1972-04-07
US4330822A (en) * 1971-09-02 1982-05-18 Burroughs Corporation Recursive system and method for binding compiled routines
FR2296221A1 (fr) * 1974-12-27 1976-07-23 Ibm France Systeme de traitement du signal
US4024510A (en) * 1975-08-28 1977-05-17 International Business Machines Corporation Function multiplexer
US4290133A (en) * 1977-10-25 1981-09-15 Digital Equipment Corporation System timing means for data processing system
GB2017987B (en) * 1978-03-29 1982-06-30 British Broadcasting Corp Method of and apparatus for processing data particularly digital audio signals
DE2963153D1 (en) * 1978-06-26 1982-08-12 Environmental Res Inst Apparatus and method for generating a transformation of a first data matrix to form a second data matrix
US4244019A (en) * 1978-06-29 1981-01-06 Amdahl Corporation Data processing system including a program-executing secondary system controlling a program-executing primary system
GB2052813B (en) * 1979-05-31 1983-03-09 Micronology Ltd Interface unit between a computer and a hardcopy output device
US4363104A (en) * 1980-09-22 1982-12-07 Hughes Aircraft Company Imaging system having multiple image copying and hierarchical busing
JPS5790650A (en) * 1980-11-28 1982-06-05 Toshiba Corp Control device for copying machine
US4510568A (en) * 1981-05-25 1985-04-09 Fanuc Ltd. Graphic processing method
US4503490A (en) * 1981-06-10 1985-03-05 At&T Bell Laboratories Distributed timing system
JPS58139241A (ja) * 1982-02-10 1983-08-18 Toshiba Corp 画像メモリアクセス方式
US4542453A (en) * 1982-02-19 1985-09-17 Texas Instruments Incorporated Program patching in microcomputer
GB2119594B (en) * 1982-03-19 1986-07-30 Quantel Ltd Video processing systems
JPS58215813A (ja) 1982-06-09 1983-12-15 Sony Corp デイジタル信号処理装置
US4530051A (en) * 1982-09-10 1985-07-16 At&T Bell Laboratories Program process execution in a distributed multiprocessor system
JPS5979349A (ja) * 1982-10-29 1984-05-08 Toshiba Corp 演算装置
DE3241189A1 (de) * 1982-11-08 1984-05-10 Siemens AG, 1000 Berlin und 8000 München Taktstromversorgung fuer ein multimikrocomputersystem in eisenbahnsicherungsanlagen
US4590556A (en) * 1983-01-17 1986-05-20 Tandy Corporation Co-processor combination
JPS59176838A (ja) * 1983-03-28 1984-10-06 Dainippon Screen Mfg Co Ltd 画像演算処理方法
GB2138182B (en) * 1983-04-14 1986-09-24 Standard Telephones Cables Ltd Digital processor
JPS59198513A (ja) * 1983-04-26 1984-11-10 Nec Corp デイジタル信号処理装置
EP0153439B1 (fr) * 1983-06-03 1993-08-04 Fondazione Pro Juventute Don Carlo Gnocchi Système modulaire expansible pour traitement en temps réel d'un affichage TV, utile en particulier pour l'acquisition de coordonnées d'objets de forme connue et méthode utilisant cedit système en radiographie.
US4514647A (en) * 1983-08-01 1985-04-30 At&T Bell Laboratories Chipset synchronization arrangement
FR2569071B1 (fr) * 1983-09-30 1988-10-14 Thomson Csf Dispositif de traitement numerique de signal
US4646075A (en) * 1983-11-03 1987-02-24 Robert Bosch Corporation System and method for a data processing pipeline
US4586038A (en) * 1983-12-12 1986-04-29 General Electric Company True-perspective texture/shading processor
US4680628A (en) * 1984-01-04 1987-07-14 Itek Corporation Realtime digital diagnostic image processing system
US4689823A (en) * 1984-01-04 1987-08-25 Itek Corporation Digital image frame processor
AU576348B2 (en) * 1984-02-29 1988-08-25 Measurex Corporation Processing information
US4751637A (en) * 1984-03-28 1988-06-14 Daisy Systems Corporation Digital computer for implementing event driven simulation algorithm
GB2161666A (en) * 1984-07-09 1986-01-15 Philips Electronic Associated Video signal processing arrangement
GB2158321B (en) * 1984-04-26 1987-08-05 Philips Electronic Associated Arrangement for rotating television pictures
JPS60231235A (ja) * 1984-04-27 1985-11-16 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション イメ−ジ処理システム
GB8419291D0 (en) * 1984-07-27 1984-08-30 Micro Consultants Ltd Image processing apparatus
DE3580552D1 (de) * 1984-08-02 1990-12-20 Telemecanique Electrique Programmierbare steuereinrichtung mit zusatzprozessor.
NO843822L (no) * 1984-09-24 1986-07-08 Olav Holberg Regnemaskinstruktur for ekstrapolasjon av boelgefelt.
GB8428443D0 (en) * 1984-11-10 1984-12-19 Int Computers Ltd Data processing
US4742443A (en) * 1985-03-28 1988-05-03 Allen-Bradley Company Programmable controller with function chart interpreter
GB2174860B (en) * 1985-05-08 1989-06-28 Sony Corp Methods of and circuits for video signal processing
DE3579924D1 (de) * 1985-05-20 1990-10-31 Howard D Shekels Superrechnersystemarchitektur.
GB2177871B (en) * 1985-07-09 1989-02-08 Sony Corp Methods of and circuits for video signal processing
JPH0632053B2 (ja) * 1985-07-17 1994-04-27 シャープ株式会社 集積回路装置
JPS6247786A (ja) * 1985-08-27 1987-03-02 Hamamatsu Photonics Kk 近傍画像処理専用メモリ
GB8521672D0 (en) * 1985-08-30 1985-10-02 Univ Southampton Data processing device
US4720780A (en) * 1985-09-17 1988-01-19 The Johns Hopkins University Memory-linked wavefront array processor
IT1182575B (it) * 1985-09-27 1987-10-05 Elsag Sistema per realizzare elaborazioni convolutive veloci su informazioni rappresentative di immagini

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0150060A2 (fr) * 1984-01-19 1985-07-31 Hitachi, Ltd. Processeur d'image multifonctionnel

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IEEE TRANSACTIONS ON COMPUTERS, vol. C-31, no. 3, mars 1982, pages 208-218; L.J. SIEGEL et al.: "Parallel processing approaches to image correlation" *
IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, vol. PAMI-7, no. 2, mars 1985, pages 216-218; R. MILLER et al.: "Geometric algorithms for digitized pictures on a mesh-connected computer" *

Also Published As

Publication number Publication date
FR2593622A1 (fr) 1987-07-31
GB2213620A (en) 1989-08-16
GB2183067B (en) 1990-04-25
EP0222405A3 (en) 1989-08-23
FR2641100B1 (fr) 1994-09-30
NL8602885A (nl) 1987-06-01
GB2213621B (en) 1990-04-25
GB2183067A (en) 1987-05-28
EP0222405B1 (fr) 1994-09-14
DE3650069T2 (de) 1995-01-19
DE3650069D1 (de) 1994-10-20
GB2213621A (en) 1989-08-16
GB2213620B (en) 1990-04-25
FR2593622B1 (fr) 1994-05-06
CA1293818C (fr) 1991-12-31
GB8906179D0 (en) 1989-05-04
CA1283738C (fr) 1991-04-30
GB8627179D0 (en) 1986-12-10
GB8906178D0 (en) 1989-05-04
EP0222405A2 (fr) 1987-05-20

Similar Documents

Publication Publication Date Title
FR2492617A1 (fr) Systeme de traitement d'images video
Klatzer et al. Learning joint demosaicing and denoising based on sequential energy minimization
EP0248729B1 (fr) Dispositifs de calcul de transformées cosinus monodimensionnelles, et dispositif de codage et dispositif de décodage d'images comportant de tels dispositifs de calcul
FR2523787A1 (fr) Procede et dispositif de traitement video pour rotation d'images
EP0112761B1 (fr) Dispositif de création sonore
FR2625347A1 (fr) Structure de reseau de neurones et circuit et arrangement de reseaux de neurones
FR2561011A1 (fr) Processeur de calcul d'une transformee discrete inverse du cosinus
FR2670923A1 (fr) Dispositif de correlation.
FR2636152A1 (fr) Processeur d'images en pipeline
FR2751772A1 (fr) Procede et dispositif fonctionnant en temps reel, pour le reperage et la localisation d'une zone en mouvement relatif dans une scene, ainsi que pour la determination de la vitesse et la direction du deplacement
FR2586838A1 (fr) Processeur d'elimination de faces cachees pour la synthese d'images a trois dimensions
Yamasaki et al. Denighting: Enhancement of nighttime images for a surveillance camera
EP0206847A1 (fr) Dispositifs de calcul de transformées cosinus, dispositif de codage et dispositif de décodage d'images comportant de tels dispositifs de calcul
CN106204660A (zh) 一种基于特征匹配的地面目标跟踪装置
FR2546017A1 (fr) Procede pour realiser une transformation geometrique sur une image video, et dispositifs mettant en oeuvre ce procede
EP1259939B1 (fr) Procede et dispositif de perception automatique
FR2586120A1 (fr) Procede et dispositif de transformation sequentielle d'image
CN107665482B (zh) 实现双重曝光的视频数据实时处理方法及装置、计算设备
EP0701214B1 (fr) Système de traitement multitâches
FR2561010A1 (fr) Processeur de calcul d'une transformee discrete du cosinus
EP0717372B1 (fr) Procédé de sélection de vecteurs de mouvement et dispositif de traitement d'images mettant en oeuvre ledit procédé
CN108288252A (zh) 图像批处理方法、装置及电子设备
FR2641100A1 (fr)
CN113505682A (zh) 活体检测方法及装置
EP0967576A1 (fr) Adressage de mémoire d'un décodeur MPEG

Legal Events

Date Code Title Description
ST Notification of lapse