Mémoire d`image

publicité
MEMOIRE D'IMAGES
1
Définition
On appelle mémoire d'image une mémoire numérique, d'une capacité égale au nombre de
pixels de l'image, possédant une structure d'organisation spatiale identique à celle de l'image. Le
nombre de bits affectés à chaque pixel est égal (ou supérieur) au nombre de bit de codage retenu. Il
est à noter que ce nombre peut être différent de la largeur du mot du processeur utilisé pour
effectuer le traitement. Généralement, il est souhaitable de pouvoir visualiser l'image obtenue ainsi
que de charger le contenu directement à partir du capteur. L'adressage de cette mémoire doit
permettre l'accès à chaque pixel, en particulier pour la phase traitement. On obtient alors la structure
suivante pour les machines de traitement d'image.
Plan 3
x
y
Plan 2
Plan 1
MEMOIRE
d'IMAGE
Visualisation
Processeurs de
Traitement
Structure de base d'une machine de T.I.
On remarquera que la structure ne possède pas de bus, mais s'articule autour d'accès
multiples au même élément, réalisés par multipexage en général (mémoires double port par
exemple). La mémoire d'image ne fait pas partie de la structure mémoire du calculateur hôte.
Il est possible de prévoir plusieurs mémoires d'images pour faciliter les traitements, ainsi
que de multiplier les accès (3 voies en entrée pour la couleur par exemple ou mémoires sources et
destination pour les calculs). La structure s'apparente à une mémoire paginée, chaque page
correspondant à un plan image.
La structure minimale pour envisager le traitement numérique d'images se compose d'une
seule mémoire, d'un convertisseur A/D pour charger l'image à partir du capteur analogique, d'un
convertisseur D/A pour la visualisation sur moniteur analogique et d'un interface vers le calculateur
hôte qui se chargera de tous les traitements. Les résolutions spatiales courantes sont de 512x512
(facilité de pointage dans la mémoire), de 780x580 (correspondance avec la TV Européenne) ou
plus importantes par concaténation de structures de base (1024x1024 à partir de 4 plans 512x512).
Généralement, la résolution est non-programmable et la mémoire gérée de façon statique (une
image par plan mémoire physique).
P. BONNET - Cours de Traitement d'Images - USTL
MEMOIRE D'IMAGES
Accès à la mémoire d'image
2
Le traitement d'image fait appel à de nombreux échanges d'information entre les éléments,
en particulier avec le capteur, l'unité de calcul et le moniteur dont le rôle est fondamental dans les
systèmes de traitement d'image pour représenter le contenu de la mémoire et contrôler le résultat
d'un traitement. La mémoire sera donc souvent solicitée pour les fonctions de lecture ou d'écriture.
Pour étudier les différents modes de couplage entre les éléments, il convient de distinguer
les problèmes liés au déroulement temporel de la suite des accès et ceux relatifs à la structure
spatiale de l'accès.
Structure temporelle des accès
La mémoire d'image peut être analysée comme un fichier informatique sur support
physique du type disque dont la structure serait bidimensionnelle. Les principaux accès
envisageables sont:
- l'accès aléatoire, dans lequel la suite des adresses des pixels ne suit aucune loi préétablie,
le chemin parcouru dans l'image formant une figure aléatoire. La détermination de l'adresse du point
à atteindre sera généralement fonction du résultat du calcul courant. A chaque pas du calcul, il
faudra donc établir l'adresse du pixel sans possibilité d'anticipation; ce type d'accès se traduit par un
temps d'exécution important. Peu d'algorithmes fonctionnent sur un tel principe en analyse image
dont le but est de rechercher l'information utile sur l'ensemble de l'image.
- l'accès incrémental, le pixel suivant étant un des voisins du pixel en cours de traitement.
Il est utilisé dans des algorithmes de recherche de proche en proche (suivi de contour par exemple).
Si l'incrément est fixé pour toute l'analyse (par exemple ∆ x = ±1 et ∆ y = ± 1 ) , ce type d'accès
devient équivalent à l'accès séquentiel, la direction pouvant être quelconque parmis les directions
principales de la maille d'échantillonnage. L'addressage des pixels fera appel à des
compteur/décompteurs.
Accès aléatoire et accès incrémental
- l'accès séquentiel, l'ordre de lecture étant fixé à l'avance. Pour les mémoires d'images; il
prend le nom de balayage , l'image complète formant une trame. L'origine s'appelle début de trame.
Le plus classique est la lecture de haut en bas et de gauche à droite, en commençant par le pixel en
haut à gauche., mais de nouveaux algorithmes de calculs demandent des balayages de droite à
gauche ou de bas en haut. Ce type d'accès est très utilisé en analyse, étant donné qu'il permet
d'appliquer un algorithme sur la totalité des pixels; de plus sa gestion physique est très simple
puisque le calcul d'adresse est préétabli par le sens de balayage.
La structure physique aura pour base de simples compteurs. Son principal inconvénient est
P. BONNET - Cours de Traitement d'Images - USTL
MEMOIRE D'IMAGES
3
la perte de temps liée au retour en début de trame pour chaque opération, ainsi que l'impossibilité
d'accéder à une partie de l'image sans balayer la totalité de l'image. Certaines structures autorisent le
balayage d'une fenêtre de calcul qui prend le nom de Region Of Interest (structure ROI).
Balayages de la mémoire d'images
Structure spatiale des accès
A la différence d'une mémoire classique dite linéaire, la mémoire d'image est structurée
possède une structure ordonnée multidimensionnelle suivant X, Y ou la profondeur de plan. Il est
donc possible d'envisager plusieurs types d'accès physique aux données.
- l'accès série, c'est à dire à un pixel à la fois, est le plus simple. Dans cette structure, il
n'est possible d'accéder qu'à une seule information à un instant donné. Cet accès est donc pénalisant
sur le plan vitesse. On le rencontre le plus souvent sur les machines les plus rudimentaires; c'est le
seul accès au niveau de l'interface avec le calculateur hôte dans les machines usuelles.
- l'accès lecture/écriture simultanée permet au cours du balayage de charger une image
(écriture) tout en visualisant le contenu (lecture). Cette fonction fait appel à des mémoires dites
double-port dans lesquelles le conflit d'accès se résout en interne par un décalage temporel entre les
accès d'où besoin de mémoires très rapides.
- l'accès à parallélisme spatial qui permet d'atteindre plusieurs pixels à la fois. L'ensemble
des pixels forme une structure spatiale variable suivant le type d'application: ligne ou colonne pour
un chargement accéléré (très rare vu le câblage important), voisinage pour un traitement local (très
courant sur les processeurs modernes de convolution ou de morphologie).
Vers Unité de Traitement
Accès avec parallélisme spatial
- l'accès simultané à différents plans mémoire; fonction très utile pour la phase traitement
par exemple. Avec une telle structure, il devient possible de lire une donnée dans un plan source, de
la traiter et de la ranger dans un plan résultat. Ce type d'accès se rencontre également dans les
machines couleurs (chargement direct des 3 plans RVB) ou dans certaines machines à parallélisme
chargement/traitement (gain de temps appréciable dans les applications industrielles).
P. BONNET - Cours de Traitement d'Images - USTL
MEMOIRE D'IMAGES
Echange entre structures
4
L'accès séquentiel, qui permet d'atteindre tous les pixels d'une structure, est le plus souvent
utilisé dans les phases de chargement mémoire à partir du capteur ou de visualisation sur moniteur.
Pour assurer l'échange entre deux éléments de structure identique, il suffit de les balayer en
synchronisme; ainsi le pixel source pourra être transféré vers sa destination sans préciser
explicitement les adresses source et destination. L'évolution synchrone des deux balayagessera
assuré par l'horloge pixel , à partir d'une mise en phase des origines de balayage par une
synchronisation de trame. La notion de synchronisation ligne n'est pas utile à priori dès lors que les
deux structures de balayage sont totalement identiques; cette propriété se rencontre cependant
rarement, ce qui explique la présence fréquente d'une synchronisation de ligne. C'est le type de
transfert qui a été retenu pour le standard de Télévision, avec cependant l'absence d'horloge pixel,
ce qui nuit à une bonne transmission des images numériques.
On aboutit à la structure suivante pour de nombreuses machines de traitement:
Extracteur
Synchro
GENERATEUR d'ADRESSES
par balayage
Synchro
Adresses
Data
Capteur
MEMOIRE
d'IMAGE
A/D
Data
D/A
Moniteur
Data et Adresses
Data
INTERFACE
Calculateur
HOTE
Processeurs
de
Traitement
Structure d'une machine de traitement
On remarque la suppression de la notion d'adresse au niveau des fonctions d'accès, celui-ci
devenant implicite pour l'ensemble, sauf dans le cas de l'accès par interface. Les informations
circulant entre les fonctions sont limitées aux données et à quelques signaux de synchronisation.
Les modifications de structure se font à partir de multiplexeurs qui aiguillent les données vers les
différentes fonctions. Pour les traitement, cette solution a le mérite de limiter l'activité des
processeurs aux calculs sur le flux de données sans avoir la charge de la gestion des adresses. Ces
unités de calcul seront donc très spécialisées, s'apparentant à des processeurs de signaux précâblés.
L'inconvénient est par contre la faible évolutivité de la structure, toutes les voies d'échange étant
prédéfinies dès la contruction de la machine.
Sur certaines structures, le générateur de balayage est propre à chaque structure. Cette
solution, très lourde au niveau matériel, permet de réaliser des machines très performantes, chaque
processeur pouvant travailler suivant sa propre loi d'accès (création de R.O.I. par exemple ou
d'accès incrémentaux pour un processeur de suivi de contour).
P. BONNET - Cours de Traitement d'Images - USTL
MEMOIRE D'IMAGES
Reconstruction du voisinage
5
L'accès parallèle à un voisinage est très utile en traitement d'images pour tous les
algorithmes qui font appel à un calcul local. La structure physique de cet accès est
considérablement simplifiée si on se limite à l'accès séquentiel par balayage. En effet, on constate
que l'ensemble des pixels d'un voisinage se trouve avoir été lu dès lors que l'on attei, soit un nombre
de bits restreint, nt le dernier pixel du voisinage (le coin en bas à droite pour le balayage classique).
Il suffit de stocker les valeurs précédentes dans des structures de retard adaptées pour reconstituer
cet ensemble. Si la structure de retard est intégrée dans le processeur, l'entrée d'information se limite
alors à une entrée série de largeur restreinte.
cellules retard 1 pixel
bascules D
ligne l
ligne l+1
ligne l+2
p
p
p
Retard Ligne
p
p
p
Retard Ligne
p
p
p
ENTREE SERIE
( n bits )
vers processeur //
Reconstruction de l'accès à un voisinage
Ces structures existent aussi bien pour les traitements à niveaux de gris (calculs de
convolution ou morphologie à niveaux de gris) que binaires, les processeurs associés dans ce
dernier cas étant beaucoup plus simples. Leur principale utilisation sera la morphologie binaire.
P. BONNET - Cours de Traitement d'Images - USTL
Téléchargement