Bases de données Multimédia                                Bases de données Multimédia  Oracle Intermedia                 ...
Bases de données Multimédia                                       Bases de données Multimédia     Oracle Intermedia       ...
Bases de données Multimédia                                    Bases de données Multimédia     Oracle - ORDImage          ...
Bases de données Multimédia                                            Bases de données Multimédia  Oracle - ORDImageSigna...
Bases de données Multimédia                                     Bases de données Multimédia  Oracle - ORDImageSignature   ...
Bases de données Multimédia                            Bases de données Multimédia   Oracle - ORDImageSignature           ...
Upcoming SlideShare
Loading in...5
×

Bdm oracle intermedia

1,169

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,169
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
36
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Bdm oracle intermedia

  1. 1. Bases de données Multimédia Bases de données Multimédia Oracle Intermedia Oracle Intermedia Oracle fournit des types spécifiques (Objet-Plan relationnels) et des méthodes pour stocker et Le package ORDSYS gérer des documents multimédia. ORDSource, ORDImage, ORDImageSignature ORDSource qui contient des informations de base communes à tous les types de média et les données média, ORDVideo,ORDAudio elles-mêmes (le média) Le type ORDSource ORDImage pour la gestion des images Méthodes ORDImageSignature pour lindexation et la comparaison dimages Les types ORDImage et ORDImageSignature ORDAudio pour la gestion des médias audio, Définitions et méthodes ORDVideo pour les vidéos, ORDoc pour le stockage et la gestion de médias hétérogènes y compris image, audio et vidéo. Bases de données Multimédia 1 Bases de données Multimédia 2 Bases de données Multimédia Bases de données Multimédia Oracle Intermedia Oracle IntermediaLa classe ORDSource Le type ORDSource est défini par : localData BLOB, Contient les informations de stockage des Contient les données stockées localement comme un BLOB (4Go). fichiers des classes ORDImage srcType VARCHAR2(4000), Identifie le type de source de données (FILE HTTP …) (FILE, HTTP, ) Et des classes ORDVideo et ORDAudio. srcLocation VARCHAR2(4000), Emplacement des données (selon le type de la source) Est utilisée par les autres classes de ORDSYS FILE -> directory, HTTP -> URL ou user-defined srcName VARCHAR2(4000), Supporte les accès aux données stockées de Nom du fichier type BLOB, BFILE ou URL. updateTime DATE, Dernière date de modification local NUMBER, (1= BLOB, 0=externe) Bases de données Multimédia 3 Bases de données Multimédia 4 Bases de données Multimédia Bases de données Multimédia Oracle Intermedia Oracle IntermediaLes méthodes (communes pour ORDVideo, Exemple :ORDAudio, ORDImage) DECLARE obj ORDSYS.ORDDoc; BEGIN clearLocal( ), setLocal( ), isLocal( ), SELECT p.product INTO obj FROM media p WHERE p.product_id=1; openSource( ) closeSource( ) getSource( ) ), ), ), -- set source t a fil t to file setSource(), getSourceType( ), getSourceLocation( ), obj.setSource(file,FILE_DIR,speaker.wav); getSourceName( ), readFromSource( ), writeToSource(), -- get source information DBMS_OUTPUT.PUT_LINE(Source type is || trimSource( ), processSourceCommand( ), obj.getSourceType); export( ), getBFile( ), DBMS_OUTPUT.PUT_LINE(Source location is || obj.getSourceLocation); getContent( ), deleteContent( ), DBMS_OUTPUT.PUT_LINE(Source name is || getMimeType( ), setMimeType( ), obj.getSourceName); getUpdateTime( ), setUpdateTime( ), COMMIT; END; / Bases de données Multimédia 5 Bases de données Multimédia 6 1
  2. 2. Bases de données Multimédia Bases de données Multimédia Oracle Intermedia Oracle Intermedia Exemple : Export dun objet interne (ORDImage dans un Fichier Exemple : Lecture dans un buffer du contenu dun média externe) DECLARE obj ORDSYS.ORDImage; CREATE OR REPLACE DIRECTORY FILE_DIR as /mydir/work; buffer RAW(4000); GRANT READ,WRITE ON DIRECTORY FILE_DIR TO RON; i INTEGER; BEGIN ctx RAW(64) :=NULL; CONNECT RON/RON / BEGIN i := 20; DECLARE obj ORDSYS.ORDImage; SELECT p.product_photo into obj from media p WHERE ctx RAW(64) :=NULL; p.product_id = 1; BEGIN obj.readFromSource(ctx,1,i,buffer); SELECT product_photo INTO obj FROM pm.online_media DBMS_OUTPUT.PUT_LINE(Length is || WHERE product_id = 3515; TO_CHAR(obj.getContentLength(ctx))); obj.export(ctx,file,FILE_DIR,testimg.jpg); COMMIT; COMMIT; EXCEPTION ... EXCEPTION ... END; / END; / Bases de données Multimédia 7 Bases de données Multimédia 8 Bases de données Multimédia Bases de données Multimédia Oracle - ORDImage Oracle - ORDImageLa gestion des images est réalisée à laide du typeORDImage. Méthodes du type ORDImage Pour définir les propriétés dune image (automatiquement)CREATE OR REPLACE TYPE ORDImage AS OBJECT ( setProperties( ), (contrôle) checkProperties( ) source ORDSource, Pour connaître les valeurs des attributs height INTEGER, width INTEGER, getCompressionFormat( ), getContentFormat( contentLength INTEGER, getContentLength( ), getDicomMetadata( ), fileFormat VARCHAR2(4000), getFileFormat( ), getHeight( ), getMetadata( ), getWidth( ) contentFormat VARCHAR2(4000), compressionFormat VARCHAR2(4000), Pour transférer une image vers ou depuis un fichier mimeType VARCHAR2(4000), import( ), importFrom( ) -- description des méthodes Pour effectuer certains traitements sur limage ... process( ), processCopy( ), (ou la copier) copy( ) ); Bases de données Multimédia 9 Bases de données Multimédia 10 Bases de données Multimédia Bases de données Multimédia Oracle - ORDImage Oracle - ORDImage Exemples : Affichage du format de compression de limage Calcul des caractéristiques dune image DECLARE image ORDSYS.ORDImage; DECLARE image ORDSYS.ORDImage; BEGIN compression_format VARCHAR2(4000); SELECT p.product_photo INTO image FROM media p WHERE p.product_id BEGIN = 1 FOR UPDATE; SELECT p.product_photo INTO image FROM media p image.setProperties(); i tP ti () DBMS_OUTPUT.PUT_LINE(width = || image.getWidth()); WHERE p.product_id =1; DBMS_OUTPUT.PUT_LINE(height = || image.getHeight()); compression_format := DBMS_OUTPUT.PUT_LINE(size = || image.getContentLength()); image.getCompressionFormat(); DBMS_OUTPUT.PUT_LINE(file type = || image.getFileFormat()); DBMS_OUTPUT.PUT_LINE(type = || image.getContentFormat()); DBMS_OUTPUT.PUT_LINE(Compression format is || DBMS_OUTPUT.PUT_LINE(compression = || compression_format); image.getCompressionFormat()); COMMIT; DBMS_OUTPUT.PUT_LINE(image mime type = || image.getMimeType()); END; UPDATE media p SET p.product_photo = image WHERE p.product_id=1; / COMMIT; END; / Bases de données Multimédia 11 Bases de données Multimédia 12 2
  3. 3. Bases de données Multimédia Bases de données Multimédia Oracle - ORDImage Oracle - ORDImageExemple : Transfert dune image externe (fichier) dans Constructeurs du type ORDImagelimage interne (BLOB du ORDImage)DECLARE obj ORDSYS.ORDImage; Pour un type interne BLOB (init()) ctx RAW(64) :=NULL;BEGIN BEGIN INSERT INTO media ( di (product_id, d t id SELECT p.product_photo INTO obj FROM media p WHERE product_photo) p.product_id = 1 FOR UPDATE; VALUES (1, ORDSYS.ORDImage.init()); obj.importFrom(ctx,file,FILE_DIR,speaker.jpg); UPDATE media p SET p.product_photo = obj WHERE COMMIT; p.product_id = 1; END;COMMIT;END; // Bases de données Multimédia 13 Bases de données Multimédia 14 Bases de données Multimédia Bases de données Multimédia Oracle - ORDImage Oracle - ORDImageSignatureConstructeurs du type ORDImage Une image comporte des propriétés associées à Pour un type interne BFile (init( avec paramètres)) l’image elle-même et des images peuvent être BEGIN comparées en comparant ces propriétés. INSERT INTO media (product id, (product_id, product_photo) Les images sont comparées sur leurs attributs VALUES (1,ORDSYS.ORDImage.init(FILE, FILE_DIR,speaker.jpg)); définis dans la signature de limage. COMMIT; La signature comporte des informations sur le contenu END; physique de l’image / Bases de données Multimédia 15 Bases de données Multimédia 16 Bases de données Multimédia Bases de données Multimédia Oracle - ORDImageSignature Oracle - ORDImageSignature Oracle Intermedia supporte 42 formats dimages Chaque image insérée dans la base est analysée, Plus connus jpg, bmp, … Segmentation de limage en plusieurs zones, basées sur la couleur. Plus spécifiques dfx (Autocad), … Chaque zone est définie par une couleur, une texture et une forme. La L comparaison des images est basée sur les i d i tb é l pour définir les valeurs des attributs visuels. attributs de leurs signatures. Lemplacement de ces attributs visuels est représenté par Cette signature est générée à partir des un attribut "location" propriétés de limage, qui sont transcrites en La combinaison de cet attribut avec un des trois attributs visuels attributs visuels. (couleur, texture, forme) forme un critère de recherche. La signature contient toutes les informations relatives La requête porte sur les attributs de la signature. aux différentes zones de limage et au fond de limage Bases de données Multimédia 17 Bases de données Multimédia 18 3
  4. 4. Bases de données Multimédia Bases de données Multimédia Oracle - ORDImageSignature Oracle - ORDImageSignatureLa comparaison de 2 images se base donc sur lacomparaison de leurs signatures. La couleur signature ORDSYS.ORDImageSignature La propriété "color" représente la distributionElles peuvent générées par la méthode des couleurs dans limage. g generateSignature % des couleursLa comparaison est alors basée sur les couleurs locales La couleur et lattribut "location" représentent laet globales, la structure et le texture de limage. répartition des couleurs et où elles apparaissent. La méthode evaluateScore permet de comparer deux signatures et dévaluer leur ressemblance. Répartition des couleurs dans limage La méthode isSimilar permet en plus de fixer un seuil de ressemblance et retourne 1 si le seuil est atteint et 0 sinon Bases de données Multimédia 19 Bases de données Multimédia 20 Bases de données Multimédia Bases de données Multimédia Oracle - ORDImageSignature Oracle - ORDImageSignature La forme La texture La structure de limage peut être utilisée Elle est utilisée pour les requêtes portant sur pour rechercher répondre à des requêtes des i d images ayant la même motif tl ê tif sur des formes simples : Marbre, sable, pierre … Lignes dhorizon dans un paysage Ces images sont difficiles à classifier par Structures rectangulaires dans les bâtiments manque de vocabulaire sur les textures Structures organiques comme les arbres Difficulté pour exprimer les requêtes Bases de données Multimédia 21 Bases de données Multimédia 22 Bases de données Multimédia Bases de données Multimédia Oracle - ORDImageSignature Oracle - ORDImageSignature Lattribut "localisation" Le poids Il ne représente pas un attribut visuel, mais il Il permet de pondérer limportance accordée à est utilisé en combinaison avec lun des 3 un attribut. attributs visuels Le poids doit être compris entre 0 et 1. Couleur Si le poids est 0, lattribut est ignoré; Si le poids est 1, une similarité complète est Forme attendue sur cet attribut. Texture La valeur du poids dun attribut doit être initialisée à une valeur >0. Bases de données Multimédia 23 Bases de données Multimédia 24 4
  5. 5. Bases de données Multimédia Bases de données Multimédia Oracle - ORDImageSignature Oracle - ORDImageSignature Le score Le degré de similarité entre 2 images est donc Il représente la mesure de similarité entre deux calculé à partir images calculée à partir des valeurs des attributs visuels. Des scores pour chacun des attributs visuels La valeur du score est comprise entre 0 et 100. Des poids Plus la similarité est grande, plus le score est Similarité = petit poids_couleur*score_couleur Score=0, images similaires + poids_forme*score_forme Score=100, aucune similarité + poids_texture*score_texture (somme des poids =1, 0<=score<=100 Bases de données Multimédia 25 Bases de données Multimédia 26 Bases de données Multimédia Bases de données Multimédia Oracle - ORDImageSignature Oracle - ORDImageSignature CREATE OR REPLACE TYPE ORDImageSignature AS OBJECT Le seuil ( signature BLOB Il permet de fixer la valeur qui sert de -- les informations de localisation, texture, forme et couleur -- sont stockées dans un BLOB filtre pour sélectionner les images images. STATIC FUNCTION i it RETURN ORDImageSignature, init ORDI Si t STATIC FUNCTION evaluateScore(sig1 IN ORDImageSignature, sig2 IN Si le score est <= seuil, limage est ORDImageSignature, weights IN VARCHAR2) RETURN FLOAT, sélectionnée, STATIC FUNCTION isSimilar(sig1 IN ORDImageSignature, sig2 IN ORDImageSignature, weights IN VARCHAR2, threshold IN FLOAT) Si le score est > seuil, limage est considérée RETURN INTEGER, comme différente et non retenue. MEMBER PROCEDURE generateSignature(image IN ORDImage) ); Bases de données Multimédia 27 Bases de données Multimédia 28 Bases de données Multimédia Bases de données Multimédia Oracle - ORDImageSignature Oracle - ORDImageSignatureConstructeur : init( ) RETURN ORDImageSignature; Méthode de comparaison de deux imagesCette méthode est une méthode static qui initialise le Avec retour de la valeur du scoreBLOB à vide (empty_blob()) evaluateScore(sig1 IN ORDImageSignature, sig2 IN ORDImageSignature, weights IN VARCHAR2) RETURN FLOAT;BEGIN Exemple de comparaison de deux images :INSERT INTO media (product_id, product_photo,product_photo_signature) -- déclarationsVALUES (1, ORDSYS.ORDImage.init(FILE, DECLAREFILE_DIR,speaker.jpg), t_image ORDSYS.ORDImage;ORDSYS.ORDImageSignature.init()); c_image ORDSYS.ORDImage;COMMIT; image_sig ORDSYS.ORDImageSignature;END; compare_sig ORDSYS.ORDImageSignature;/ score FLOAT; Bases de données Multimédia 29 Bases de données Multimédia 30 5
  6. 6. Bases de données Multimédia Bases de données Multimédia Oracle - ORDImageSignature Oracle - ORDImageSignature-- calcul de la signature de la 1ère image -- calcul de la signature de la 2ème imageSELECT p.product_photo, SELECT p.product_photo,p.product_photo_signature INTO p.product_photo_signature INTO c_image,t_image, image_sigt image image sig FROM media p WHERE compare_sig compare sig FROM media p WHEREp.product_id = 1 FOR UPDATE; p.product_id = 2 FOR UPDATE;image_sig.generateSignature(t_image); compare_sig.generateSignature(c_image);UPDATE media p SET UPDATE media p SETp.product_photo_signature = image_sig p.product_photo_signature = compare_sigWHERE product_id =1; WHERE product_id = 2; Bases de données Multimédia 31 Bases de données Multimédia 32 Bases de données Multimédia Bases de données Multimédia Oracle - ORDImageSignature Oracle - ORDImageSignature-- Comparaison des signatures Méthode de comparaison isSimilar (retourne 0 ou 1)SELECT p.product_photo_signature INTO image_sig FROM isSimilar(sig1 IN ORDImageSignature, sig2 INmedia p WHERE p.product_id = 1; ORDImageSignature, weights IN VARCHAR2, thresholdSELECT p.product photo signature INTO compare sig p.product_photo_signature compare_sig IN FLOAT) RETURN INTEGER;FROM media p WHERE p.product_id = 2;score:=ORDSYS.ORDImageSignature.evaluateScore(image_sig,compare_sig,color="1.0",texture=0,shape=0,locatio value := ORDSYS.ORDImageSignature.isSimilarn=0); (image_sig1,image_sig2,color="1.0",texture=0,shapDBMS_OUTPUT.PUT_LINE(Score is || score); e=0,location=0,10);END;/ Bases de données Multimédia 33 Bases de données Multimédia 34 Bases de données Multimédia Oracle - InterMedia Conclusion Aperçu du package ORDSYS Avec les types ORDSource, ORDImage, ORDImageSignature Et les méthodes des types Utilisation dans des programmes PL/SQL Bases de données Multimédia 35 6

×