PROCEDE ET DISPOSITIF D'ACQUISITION ET DE TRAITEMENT D ' IMAGES
Objet de l'invention
La présente invention est relative à un procédé électronique d'acquisition et de traitement d'images converties en signaux digitaux.
Arrière-plan technologique
L'imagerie électronique connaît un intérêt croissant depuis quelques années en poursuivant deux objectifs : d'une part, capter et afficher des images sur un récepteur destiné à l'observation ou à la surveillance et, d'autre part, capter des images et en extraire des mesures de dimensions et de forme, des reconnaissances de caractères d'écriture, des identifications de signes et d'engins divers, notamment dans le domaine militaire.
Lorsque l'image est formée, par exemple par une caméra électronique, il est indispensable de la convertir sous forme de signaux digitaux, d'acquérir ceux- ci dans une mémoire et de les traiter, c'est-à-dire de leur appliquer des opérations algorithmiques pour améliorer la qualité de 1 ' image à présenter et/ou pour extraire les informations et les grandeurs physiques qu'elle contient. Les fonctions les plus courantes font appel à des transformations par amplification, filtrage, seuillage,
addition, soustraction, transformée de Fourier, etc. Les opérations d'acquisition et de traitement s'effectuent au moyen de circuits électriques entre le (s) périphérique (s) de prise d'images et des circuits électroniques comprenant typiquement : des mémoires DRAM (Dynamic Random Access Memory) , des mémoires SRAM (Static Random Access Memory) , des organes de calcul généralement de type PC, des périphériques de visualisation et de sortie vers des calculateurs centraux qui contrôlent le processus industriel dont le dispositif de vision/mesure fait partie. Ces circuits sont reliés entre eux par des bus, c'est-à- dire par des conducteurs électriques transmettant les signaux. Ces opérations sont enclenchées, effectuées et clôturées sous le contrôle d'un logiciel mis en mémoire. La prise d'images s'effectue à l'aide de périphériques tels que caméra à une ou plusieurs rangée (s) de détecteurs (1D) , caméra matricielle ou surface tapissée de détecteurs (2D) ; les images sont de type noir et blanc ou en couleur. La cadence de scrutation des détecteurs ligne par ligne, trame par trame est définie par une norme internationale à laquelle se réfère le constructeur.
Pour de multiples usages, il est indispensable de scruter à des fréquences très élevées ou variables. Usuellement, il est possible de capter des images à très grande vitesse, par exemple à 50.000 images/seconde mais l'acquisition, la mémorisation et le traitement des signaux digitaux représentatifs de l'image, exigent des temps trop longs, incompatibles avec le suivi de processus industriels rapides. On peut citer la détection des défauts de surface de 0,1 mm sur des produits de 2 m de largeur défilant à 25 m/seconde. Pour garantir la fiabilité de la détection des défauts, il peut s'avérer nécessaire de s'assurer que le défaut détecté sur la ligne N sera présent à la même abscisse de la ligne N + 1, cette
redondance de la détection améliore la détectabilité et rend possible le dimensionnement du défaut détecté. La modification d'amplitude observée sur le signal vidéo d'une ligne à l'endroit d'un défaut est un exemple "d'événement" survenu; il est important de pouvoir programmer la ligne suivante pour vérifier si le même événement se présente à nouveau. L'intérêt d'une programmation adaptative ou dynamique à réaliser en quelques microsecondes est bien réel .
Etat de la technique
Les architectures actuelles mettant en œuvre des liaisons en série entre les organes et les périphériques effectuant les opérations d'acquisition et de traitement présentent les principaux inconvénients suivants : une grande complexité résultant de la multiplicité des bus de liaison, un manque de flexibilité de l'exploitation des organes et un manque de flexibilité de la programmation. De plus, ces architectures sont intrinsèquement liées et esclaves du PC choisi qui les accompagne. Des améliorations ont été proposées mais elles ne remédient que partiellement à ces inconvénients : elles sont fondées sur l'automatisation de la génération des signaux de commande ligne, trame, strobe, etc., à l'aide de mémoires contenant une panoplie de signaux de commande prédéterminés .
Le brevet américain US-5,526,050 décrit un dispositif et un procédé pour des acquisitions concurrentes à partir de multiples sources d'information vidéo, caractérisés par un caractère simultané des signaux et un format vidéo variable selon la source. Le dispositif est présenté sur une carte au format VME groupant la gestion des caméras, la mise en paquets des pixels qu'elles fournissent, le stockage temporaire et la communication via
un bus hôte propriétaire. Cependant, le procédé et le dispositif proposés sont particulièrement complexes et coûteux, et difficilement adaptables à la vitesse combinée des différentes caméras actuellement utilisées. La publication de Anido et al. ( 8205 Micro-
Processing and Micro -Programming, Vol. 24, n° 1-5 (1988)) décrit un processeur RISC destiné à accélérer la synthèse des images tridimensionnelles utilisées dans des simulateurs de vol. Ce dispositif est adapté à la synthèse d'images, et non à leur acquisition ni à leur traitement.
La demande japonaise JP- 08180012 décrit un dispositif d'affichage d'images installé dans un bridge CPU bus local/bus PCI d'un ordinateur. Ce dispositif est basé sur l'utilisation d'un agent CPU qui prend la maîtrise du bus afin de charger (en DMA) dans une carte graphique logée sur le bus PCI une image située en mémoire DRAM. Le CPU est dispensé de devoir lire la carte graphique puisqu'il a conservé une copie de 1 ' image dans sa propre mémoire directement accessible au chipset . Le brevet américain US-5,387,930 décrit un dispositif d'acquisition d'images électronique par digitalisation vidéo, basé sur l'analyse d'une image permettant de réagir en conséquence sur la mise au point, l'ouverture, le grain et l'offset afin d'optimiser l'extraction des propriétés photométriques des images et d'optimiser la prise de vue.
La demande de brevet européen EP-0473392 décrit un composant assurant le transfert en DMA depuis une mémoire externe (RAM, cartouche ou CD-ROM) vers la mémoire interne du CPU. Le transfert se fait par des bus propriétaires. Ce dispositif permettant une reconfiguration automatique ligne par ligne du graphisme, concerne l'affichage d'images de synthèse et ne décrit nullement leur acquisition ni leur traitement par un PC.
Buts de 1 ' invention
La présente invention a pour but de remédier intégralement aux inconvénients susmentionnés.
Eléments caractéristiques de la présente invention
La présente invention concerne un procédé d'acquisition ou de traitement des signaux dans lequel les transferts s'effectuent par rafales de signaux et sont pilotés par microcontrôleur (s) , par exemple de type RISC (Reduced Instruction Set Computer), capable(s) d'orchestrer toutes les opérations en faisant appel au maximum à leurs mémoires caches; celles-ci étant divisées en deux zones : une zone contenant les instructions immuables lorsque l'application est en cours, et une zone de données lesquelles se renouvellent continuellement par arrivée de nouvelles données et transfert des anciennes de la mémoire cache vers la mémoire DRAM. La mémoire cache est une mémoire extrêmement rapide logée dans le silicium du processeur du RISC. Pendant que des traitements de signaux d'image se produisent dans la mémoire cache à des vitesses très élevées, le microcontrôleur a la liberté d'utiliser le bus pour transférer d'autres signaux entre les composants majeurs tels que : mémoire DRAM, périphériques de prise d'images, périphériques de visualisation et de sortie, etc. Le microcontrôleur génère aussi des signaux de commande programmables destinés, d'une part, à la caméra : trame, ligne, changement d'état lors d'événements se produisant sur une ligne, et d'autre part, à l'écran de visualisation et aux organes de communication. En outre, le microcontrôleur de type RISC remplace le contrôleur qui gère habituellement la mémoire DRAM; celle-ci peut être chargée et déchargée au vol (Fly-by DMA) par rafales de signaux.
Selon une variante du procédé, les rafales de signaux sont enclenchées de manière programmable en des temps très courts, de l'ordre de quelques microsecondes, à des instants précis et sont adressées auxdits composants majeurs afin, premièrement, que la priorité soit accordée aux transferts qui ne peuvent attendre - par exemple, lorsque la mémoire de type FIFO (First In, First Out) du périphérique de prise d'images est remplie, il convient de transférer ses données vers la mémoire DRAM - et, deuxièmement, que les transferts au travers des bus soient aussi nombreux et intenses que possible.
L'invention a aussi pour objet un dispositif de mise en œuvre du procédé décrit ci -avant caractérisé en ce que l'unité de contrôle est branchée sur le bus de liaison avec les composants majeurs ou avec des macrocomposants constitués de plusieurs de ces composants majeurs, à savoir : premièrement, le périphérique de prise d'images; deuxièmement, les mémoires RAM (SRAM ou DRAM) dans lesquelles sont mémorisées lesdites images; troisièmement, une ou plusieurs unité (s) de calcul qui reçoit (reçoivent) du bus les signaux images et qui les renvoie (nt) après traitement au même bus et, quatrièmement, des périphériques de visualisation et de sortie, et en ce que ladite unité de contrôle orchestre les flux des signaux entre lesdits composants majeurs.
Selon l'invention, ladite unité de contrôle est constituée d'un ou de plusieurs microcontrôleur (s) de type RISC (Reduced Instruction Set Computer) ou encore d'un ou de plusieurs microcontrôleur (s) de type CISC (Complex Instruction Set Computer) .
Encore suivant l'invention, le bus et lesdits composants majeurs sont groupés sur une même carte électronique fonctionnant de manière indépendante par
rapport au PC, à partir de signaux fournis par un (des) capteur (s) d'images.
Encore selon l'invention, des circuits électroniques de type FIFO sont avantageusement insérés à l'entrée et à la sortie de l'unité (des unités) de calcul, ainsi qu'à la sortie du périphérique de prise d'images de manière à réguler les flux de signaux au rythme programmable imposé par ladite unité de contrôle de l'Accès Direct à la Mémoire (DMA) . La présente invention sera décrite plus en détails et de manière non limitative dans les exemples qui suivent, en référence aux figures annexées.
Brève description des figures La figure 1 montre le schéma synoptique du dispositif de base fonctionnant selon le nouveau procédé proposé. La figure 2 représente la variante d'une partie du schéma de la figure 1 selon laquelle le bus interne de liaison est de type PCI (Peripheral
Component Interconnect) couplé par un pont au bus PCI de l'ordinateur hôte. La figure 3 montre une variante de l'invention pour laquelle la partie entrée du schéma de la figure 1 comprend une interface universelle permettant de relier au bus PCI les caméras industrielles de toutes normes, sous le contrôle d'un microcontrôleur RISC. La figure 4 illustre le principe du regroupement sous forme d'un macrocomposant ASIC de l'ensemble électronique qui réalise le contrôle de la caméra et le transfert des données dans le bus PCI. La figure 5 montre suivant une variante de l'invention,
le schéma synoptique d'un macrocomposant ASIC (Application Spécifie Integrated Circuit) utilisé de façon autonome dans une carte PC à la norme PCI destinée à l'acquisition d'images provenant d'une caméra industrielle.
Description d'une forme d'exécution préférée de l'invention
Comme illustré à la figure 1, le périphérique de prise d'images 1, comprenant une caméra à matrice 2 suivie d'une interface d'entrée 3 se composant d'un convertisseur Analogique/Digital 4 et d'un régulateur de flux de données 5, est branché sur l'unique bus interne 6. Les organes de mémorisation sont des DRAM 7 dont font partie les mémoires d'images 8. Les organes de calcul 9 sont connectés au bus par 1 ' intermédiaire de circuits FIFO 10. Le périphérique de visualisation 11 reçoit ses signaux du bus et les transmet via une interface 12 au moniteur 13 ; en parallèle, le périphérique de sortie 14 reçoit les signaux du bus et les met sous la forme désirée au moyen d'une interface de communication 15 avec le bus PCI 16 de l'ordinateur hôte destiné, par exemple, au contrôle du processus industriel dont fait partie l'analyseur d'images. Tous les transferts sont orchestrés par l'unité de contrôle 17 constituée d'un microcontrôleur RISC possédant deux zones de mémoires caches 18 et 19 respectivement sièges des instructions 18 et des données 19. Ce microcontrôleur exécute de surcroît des opérations élémentaires de traitement d'images connues en soi. Une horloge 20 fixe le cycle de base de cette architecture; le bus 6 et les liaisons 21 à 27 sont le siège de transferts de signaux en rafales .
Une autre originalité de l'invention est de rendre l'ensemble des composants majeurs indépendants du PC
et de les grouper sur une même carte ou sur plusieurs cartes liées 28.
Selon une variante de l'invention illustrée à la figure 2, le bus interne 6 est de type PCI en raison de la profusion de composants compatibles PCI; il devient dès lors intéressant d' architecturer la carte électronique avec un bus de norme PCI 6 embarqué sur cette même carte . Le périphérique de sortie est une interface de communication 15 basée sur l'utilisation d'un pont 30, éventuellement doté d'un microcontrôleur 29 qui lui est propre, entre le bus PCI embarqué 6 et celui de l'ordinateur hôte 16. Dans cette configuration, les liaisons 21 à 27 de la figure 1 sont également de type PCI ainsi que toutes les interfaces des composants. Le microcontrôleur éventuel 29 sera de préférence de type RISC.
La figure 3 reprend une partie de la figure 1 dans laquelle 1 'ADC alimente l'interface d'entrée 31 dont la configuration est adaptable à tous les types de caméras industrielles et dont la sortie est de norme PCI, ce qui présente en pratique un progrès considérable; ladite interface 31 étant pilotée par le microcontrôleur de l'unité de contrôle 17.
La figure 4 montre une autre variante de l'invention qui met en œuvre les technologies les plus récentes. Il est en effet avantageux d'encapsuler sous forme d'un macrocomposant ASIC, l'ensemble électronique qui réalise le contrôle de (s) caméra (s) et le transfert des données 17 par l'intermédiaire du bus PCI 6. La liaison 33 remplace les liaisons distinctes 21 et 22. Par rapport aux composants de la figure 1, le composant ASIC présente les avantages suivants : meilleur prix de revient, fiabilité accrue, coûts de production des cartes abaissés et performances techniques améliorées. Grâce à cet ASIC, il devient possible et économique de doter à un prix très
démocratique la carte d'acquisition PCI d'une interface aux caméras industrielles et, pour les cartes de bas de gamme, de supprimer le microcontrôleur distinct.
Selon une architecture particulièrement avantageuse qui fait l'objet de l'invention et qui se fonde sur les possibilités technologiques nouvelles, il devient possible de construire un ASIC 32 basé sur le synoptique de la figure 5 qui comporte les blocs fonctionnels suivants : un convertisseur Analogique / Digital 4, un chemin des données 34 avec FIFO 5, une interface PCI 35, un générateur programmable de signaux de commande de la caméra 36, un séquenceur programmable 37 et un gestionnaire d'horloges 38. Le chemin des données 34 accepte un train de données à 8 bits provenant d'un digitaliseur vidée externe non représenté sur la figure 5. La vitesse maximale envisagée pour le transfert desdites données est de 20 Mbytes/s. L'horloge de ce digitaliseur est asynchrone par rapport à l'horloge PCI. Les données sont emmagasinées 4 par 4 dans un formateur de rafales 39 pour constituer des mots de 32 bits, dont le flux est régularisé par une FIFO 5. La longueur de la FIFO 5 pourrait être comprise entre 64 et 256 mots de 32 bits.
L'interface PCI 35 fonctionne en tant qu'initiateur par rapport au bus PCI 6. Elle est bidirectionnelle. Dans un sens, elle transmet les données de la FIFO 5 des données vidéo vers le bus 6. Dans l'autre sens, elle va chercher des instructions dans la mémoire du processeur hôte (non représenté), qui gère le bus PCI 6, et les transfère au séquenceur programmable 37. II est à noter que l'interface PCI est capable de transmettre des données à destination d'un agent branché sur le bus PCI à des adresses non consécutives, selon une liste d'adresses gérée par le séquenceur
programmable; c'est donc une application du procédé DMA au travers du bus PCI 6.
Le générateur de signaux de commande 36 permet de contrôler au pixel près le comportement d'une dizaine de signaux destinés à piloter la caméra 2. Le générateur fonctionne au rythme de la ligne vidéo; ceci signifie que, durant la ligne N, il reçoit les instructions qui spécifient son comportement pour la ligne N+l . Ces instructions proviennent du séquenceur programmable 37. Le séquenceur programmable a pour double rôle d'assurer la programmation ligne par ligne du générateur vidéo 36, et l'enchaînement des adresses d'écriture de l'initiateur PCI qui transfère les données vidéo. Pour assumer ce rôle, il utilise une liste d'instructions qui résident dans une mémoire accessible au bus PCI, et les traduit en ordres logiques correctement séquences. Le séquenceur pourra être avantageusement doté d'une FIFO de quelques instructions.
Le gestionnaire d'horloge permet la génération d'une horloge d'acquisition à la fréquence pixel. Selon les modalités imposées par la caméra, cette horloge utilisera un VCO (Voltage Control Oscillator) externe avec un verrouillage de phase, ou sera produite par un synthétiseur externe ou interne. Dans le cas d'utilisation de circuits externes, les interfaces de contrôle appropriées seront prévues .
Les dispositifs qui précèdent se réfèrent à des systèmes à une caméra; ils sont intégralement applicables lorsque plusieurs caméras sont utilisées en interposant les techniques connues de scrutation d'entrée et de synchronisation.
Enfin, en vue de réduire au maximum les bruits électroniques par induction, des fibres optiques sont utilisées pour constituer la liaison - parfois longue
de plusieurs centaines de mètres et voisine de machines et de câbles à rayonnement électromagnétique intense - entre le (s) capteur (s) d'images et le dispositif d'acquisition et de traitement .