UN LANGAGE DE REQUETES A OBJET POUR LES IMAGES
Mohamed EL ANSARI et Liming CHEN
Laboratoire HEUDIASYC ura cnrs 817, Centre de recherche de Royalieu, Université de technologie
de Compiàgne, B.P. 649 - 60200 Compiàgne Cedex, France.
Les applications des bases de données deviennent de plus en plus diversifiées. Les systémes de bases
de données actuellement commercialisés et développés sur la base de la gestion des données formatós
sont de moins en moins efficace pour ces applications. Nous nous sommes intéressó aux bases de
données image. Les données (images digitales ou graphiques) sont organisés sous forme d'une
hiérarchie d'héritage. Les opérateurs sur les images ont óté identifié et associó aux différentes classes
d'image. Nous proposons un langage de requéte de type SQL orienté objet pour la gestion de ces bases
de données. Il utilise les classes et les méthodes définies dans la hiérarchie d'héritage. Le langage
combiné avec la hiérarchie d'héritage offre un environnement puissant pour supporter n'importe quel type
d'application image.
1. INTRODUCTION
Les bases de données orientées objet ont pour
ambition de satisfaire des applications non
traditionnelles qui sont les applications de CAO,
de multimédia, de cartographie, de bureautiques,
etc. Dans ces nouvelles applications, les
données sont non seulement volumineuses mais
également complexes; elles peuvent être des
textes, des graphiques, des images ou du son.
Nous nous intéressons dans ce papier aux
bases de données d'images. Les informations à
gérer dans ce type de base peuvent être
classées en cinq catégories (Grosky, 1989):
* Données iconiques :
Les images elles-mêmes sont stockées
sous forme analogique ou digitale.
* Données sur les images :
Ces données peuvent étre la résolution d'une
image ou divers formats de descriptions.
* Informations extraites des images :
Ces informations proviennent des
traitements d'images. Elles contiennent les
structures — topologiques/numériques, les
composantes structurelles d'une image et les
correspondances entre ces composantes.
* Relation monde-image :
Ce sont les relations entre les composantes
d'une image et les entités du monde réel .
* Données sur le monde réel :
Ce sont les données textuelles classiques
décrivant le monde réel.
Un systéme de base de données d'images doit
faciliter le stockage et la gestion de ces cinq
types d'informations. Ces systémes doivent étre
capables de traiter des requétes sur des
données iconiques basé sur leur contenue et de
rechercher des informations sur des données
textuelles et iconiques à partir d'autres données
iconiques ou textuelles.
Nous proposons dans ce papier un langage de
requéte pour la manipulation des bases de
données d'images. L'originalité de notre
approche est la structuration des données
d'images selon le principe orientée objet. En
effet, les données d'images sont classóes et
organisées dans une hiérarchie d'héritage. Les
opérateurs les plus utilisés ont été identifiós et
122
associés à différentes classes. Le langage est
du style SQL et fait appel aux classes et
méthodes définies dans la hiérarchie. Ainsi, la
hiérarchie d'héritage de données d'images
combinée avec le langage fournit un
environnement puissant pour tout type
d'applications d'image.
La suite du papier est organisé comme suit.
Dans le paragraphe 2, on donne une brève
présentation sur le gérant d'objets VROOM sur
lequel le langage sera implanté. Le paragraphe 3
sera consacré à la description de la hiérarchie
d'héritage d'images et des différentes méthodes
identifiées. Nous présenterons ensuite au
paragraphe 4 le langage permettant la
manipulation des données d'images. Le
paragraphe 5 contient une comparaison de notre
approche avec d'autres propositions et la
conclusion.
2. LE GERANT D'OBJET
VROOM
VROOM est un gérant d'objets développé par
l'équipe Rapid du laboratoire MASI à l'université
Paris VI. VROOM est un système composé de
plusieurs couches. Le noyau du système
contient les mécanismes de base permettant la
création, la manipulation et la destruction
d'objets non structurés. Le noyau gère les accès
concurrents, la persistance et les transactions
atomiques sur ces objets. Au dessus de ce
noyau, une couche est construite pour fournir
des fonctionnalités riches permettant par
exemple la structuration des objets, le
groupement des objets (clustering) ou la création
des indexes. L'interface utilisateur du système
permet la création et la manipulation d'objets
similaires aux objets C++ avec quelques
contraintes.