Banco de Dados BD Multimdia Valria Cesrio Times
Banco de Dados BD Multimídia Valéria Cesário Times vct@cin. ufpe. br CIn/UFPE - BD Multimídia Valéria Times 1/54
Tópicos • BD Multimídia § Definição § Aplicações § Aspectos importantes • Tipos de dados multimídia • Consultas de conteúdo § Oracle Inter. Media • Uma aplicação multimídia • Bibliografia CIn/UFPE - BD Multimídia Valéria Times 2/54
BD Multimídia • São bancos de dados que possuem § diferentes tipos de dados § diferentes meios (mídias) de armazenamento e edição • Exemplos de mensagens multimídia § um livro ilustrado (texto, imagens) § filmes (vídeo, som) § cartões postais (imagem, texto) CIn/UFPE - BD Multimídia Valéria Times 3/54
BD Multimídia • Os tipos principais de consultas são aquelas que envolvem a localização de informações multimídia que contêm certos objetos/atividades de interesse • As consultas feitas ao BD multimídia são baseadas no conteúdo. • Existem duas abordagens principais: § ANÁLISE AUTOMÁTICA: determina certas características matemáticas do conteúdo dos dados multimídia § ANÁLISE MANUAL: Uso de esquemas de classificação pré-determinados e de informações descritivas digitadas manualmente. CIn/UFPE - BD Multimídia Valéria Times 4/54
BD Multimídia • Comparação entre as abordagens: § ANÁLISE AUTOMÁTICA: • Processo (semi) automatizado • Redução do tempo e do trabalho • Baixa precisão § ANÁLISE MANUAL: • Pode ser aplicada a qualquer tipo de dados multimídia • Requer uma fase de preprocessamento manual, na qual cada dado é pesquisado para identificar os objetos/atividades que ele contém. § Atualizações pode implicar em reprocessamento CIn/UFPE - BD Multimídia Valéria Times 5/54
BD Multimídia • Aplicações Multimídia § § § Projetos de engenharia e arquitetura Registros médicos e aplicações em telemedicina Educação e treinamento Publicidade e turismo Trabalho Cooperativo Processamento de imagens de satélite Trademarks, copyrights e logos Galerias de artes e museus Franquias Moda e indústria de tecidos Decoração e projeto de interiores. . . . CIn/UFPE - BD Multimídia Valéria Times 6/54
Bancos de Dados Multimídia • Aspectos importantes § Modelagem: novos tipos de dados e objetos complexos § Armazenamento: dispositivos específicos de armazenamento e técnicas de compressão § Acesso: diferenciado de chaves ou índices § Performance: otimização de consultas e processamento paralelo § Interface: manipulação adequada para diferentes tipos de dados • Realização de consultas com base no conteúdo • Considerar os diversos tipos de dados • Permitir consultas cooperativas • Ser independente dos outros níveis do sistema CIn/UFPE - BD Multimídia Valéria Times 7/54
Bancos de Dados Multimídia • Características essenciais de um SGBD Multimídia § Extensibilidade: inclusão de novos tipos de dados e novos dispositivos de armazenamento e edição § Flexibilidade: no armazenamento, transferência e edição das informações multimídia § Eficiência: no armazenamento e transferência de dados multimídia • Tipos de dispositivos de armazenamento § Magnéticos § Óticos CIn/UFPE - BD Multimídia Valéria Times 8/54
BD Multimídia • Sistemas comerciais § Não existem SGBD • Projetados unicamente para o manuseio de dados multimídia • Com funcionalidades para prover o suporte a todas as aplicações de gerenciamento da informação multimídia § Existem vários SGBD que manipulam tipos de dados multimídia • Informix Dynamic Server • ODB II • DB 2 – IBM • CACHÉ • Oracle 8 i / 9 i • CA – Jasmine • Sybase CIn/UFPE - BD Multimídia Valéria Times 9/54
Tipos de Dados Multimídia • Imagem § Requer tratamento especial para armazenamento, transmissão e consulta § São armazenadas como um conjunto de valores de pixels / células ou em uma forma comprimida § Uma consulta típica de um BD de imagens: Encontre imagens que são similares a uma dada imagem § Para identificar os objetos de interesse, uma imagem é tipicamente dividida em segmentos homogêneos, usando um predicado de homogeneidade § Existem duas técnicas para este tipo de pesquisa: • Função de Distância • Função de Transformação CIn/UFPE - BD Multimídia Valéria Times 10/54
Tipos de Dados Multimídia • Imagem (Cont. ) § FUNÇÃO DE DIST NCIA: Compara a imagem dada com as imagens armazenadas no BD e seus segmentos. Se o valor da distância retornado é pequeno, a probabilidade de casamento de padrões é elevada § FUNÇÃO DE TRANSFORMAÇÃO: Mede o número de transformações necessárias para transformar uma imagem em outra. CIn/UFPE - BD Multimídia Valéria Times 11/54
Tipos de Dados Multimídia • Som § Necessita interface de áudio e dispositivo com alta capacidade de armazenamento § Consiste de mensagens registradas, tais como: • discursos • aulas • músicas • quebras de sigilo de conversas telefônicas, feitas por autoridades § Características da voz, tais como: volume, timbre e clareza, são usadas na indexação dessas informações multimídia CIn/UFPE - BD Multimídia Valéria Times 12/54
Tipos de Dados Multimídia • Animações § Seqüências temporais de dados gráficos ou imagens CIn/UFPE - BD Multimídia Valéria Times 13/54
Se pego no que estou pensando!? Sou dono do Mundo! CIn/UFPE - BD Multimídia Valéria Times 14/54
Tipos de Dados Multimídia • Vídeo § Conjunto de dados fotográficos seqüenciados para apresentação em velocidades específicas § BD é dividido em segmentos de vídeo § Cada segmento é formado por uma seqüência de molduras que inclui os mesmos objetos/atividades § Cada segmento é identificado pela sua moldura inicial e final § Os objetos e/ou atividades encontrados em cada segmento podem ser usados para indexá-los CIn/UFPE - BD Multimídia Valéria Times 15/54
Tipos de Dados Multimídia • Composto ou Misto § Combinação de tipos de dados multimídia, tais como som e vídeo. CIn/UFPE - BD Multimídia Valéria Times 16/54
Tipos de Dados Multimídia • Composto ou Misto § Combinação de tipos de dados multimídia, tais como som e vídeo. CIn/UFPE - BD Multimídia Valéria Times 17/54
Tipos de Dados Multimídia • Documentos § Conjunto de informações que apresentam uma estrutura § Composto de informações de naturezas diversas § As palavras chaves que aparecem no texto e suas freqüências são usadas para indexar documentos edor nc Ao Ve. . . CIn/UFPE - BD Multimídia Valéria Times 18/54
Tipos de Dados Multimídia • Hipertextos § Documentos estruturados através de uma rede semântica § Documentos são associados via links • Hipermídia § Hipertexto com dados multimídia Entrada CIn/UFPE - BD Multimídia Valéria Times 19/54
Consultas de Conteúdo • Redução de custos de armazenamento e captura de imagens tem permitido a criação de volumosas bases de imagens digitais § Contudo, com o aumento da base de dados, aumenta a dificuldade em recuperar imagens relevantes • Processamento de imagens no Oracle inter. Media pode se basear: § Análise Manual § Análise Automática CIn/UFPE - BD Multimídia Valéria Times 20/54
Consultas de Conteúdo • Ambas abordagens podem ser adotadas no Oracle inter. Media: § Atributos convencionais ( tipo texto, numérico ou data) podem ser usados para descrever o significado semântico da imagem • Foto de um automóvel: recebimento de uma premiação ou características do motor § Uso do tipo ORDImage. Signature para permitir consultas de conteúdo baseadas nos atributos específicos da imagem • Cor, formato e textura da imagem CIn/UFPE - BD Multimídia Valéria Times 21/54
Consultas de Conteúdo • Principais benefícios de consultas de conteúdo: § Redução de tempo e trabalho para obter dados de imagem § Com a inclusão e atualização de imagens, é impossível requerer a entrada manual de atributos necessários às consultas § Aumento de praticidade e flexibilidade, mesmo que com a baixa precisão. § Permite a realização de consultas sobre atributos difíceis de serem representados textualmente • Permite a realização de consultas do tipo Encontre objetos semelhantes a este aqui! CIn/UFPE - BD Multimídia Valéria Times 22/54
Consultas de Conteúdo • Funcionamento de um sistema de consultas baseadas no conteúdo: § Imagem é processada e uma abstração de seu conteúdo baseada em atributos visuais é criada § Qualquer consulta subseqüente é resolvida com base nesta abstração § Cada imagem inserida no BD é analisada e uma representação compacta de seu conteúdo é armazenada em um vetor – assinatura § A imagem é segmentada em regiões para extração de sua assinatura CIn/UFPE - BD Multimídia Valéria Times 23/54
Consultas de Conteúdo • Assinatura contém informações sobre os seguintes atributos visuais: § Cor: Representa a distribuição de cores da imagem inteira § Textura: Representa os padrões de textura da imagem (aparência lisa ou granulada) § Formato: Representa as geometrias que aparecem na imagem definidas por técnicas de segmentação § Localização: Representa as posições dos componentes anteriores. CIn/UFPE - BD Multimídia Valéria Times 24/54
Consultas de Conteúdo • Processo de comparação de imagens § Imagens são recuperadas do BD com base em comparações com uma dada imagem § Tal imagem: • Pode ser externa ou mantida no BD • Pode ser gerada automaticamente • Deve ter uma assinatura § Processo de comparação baseia-se em uma função de medida de similaridade • No Oracle inter. Media esta medida de similaridade se baseia no conceito de distância CIn/UFPE - BD Multimídia Valéria Times 25/54
Consultas de Conteúdo • Função de medida de similaridade: § Baseia-se na distância entre os valores dos atributos visuais § Faz uso de um conjunto de pesos associados atributos visuais • Pontuação § Distância relativa entre duas imagens sendo comparadas § Reflete o grau de similaridade entre duas imagens sendo comparadas para cada atributo visual CIn/UFPE - BD Multimídia Valéria Times 26/54
Consultas de Conteúdo • Exemplo de comparações de cores Imagem 1 Imagem 2 Cor apenas: completa semelhança (0) porque cada cor ocupa o mesmo percentual do total Cor e Localização: nenhuma semelhança (100) porque não há sobreposições entre as cores CIn/UFPE - BD Multimídia Valéria Times 27/54
Consultas de Conteúdo • Imagens semelhantes quanto às cores • Imagens semelhantes para cor e localização CIn/UFPE - BD Multimídia Valéria Times 28/54
Consultas de Conteúdo • Imagens de tecidos semelhantes quanto a textura • Imagens semelhantes quanto ao formato CIn/UFPE - BD Multimídia Valéria Times 29/54
Consultas de Conteúdo • Preparação de Imagens p/ Consultas de Conteúdo § Objetos de interesse na imagem devem ocupar todo o espaço ou pelo menos, ser do mesmo tamanho e ocupar as mesmas posições § Eliminar elementos extras § Na geração de assinaturas, imagens são temporariamente escaladas para um tamanho padrão § Quando se tem vários objetos na imagem, melhores resultados são obtidos se: • Existem poucos e simples formatos • As cores de objetos adjacentes formam contrastes • Cores da imagem são totalmente distintas § Verde e Vermelho ao invés de Verde claro e Verde escuro CIn/UFPE - BD Multimídia Valéria Times 30/54
Oracle Inter. Media • Áudio, Imagem, Vídeo e Documento • Gerencia imagens, áudios e vídeos de forma integrada com outros dados por meio de tipos de objetos • Estende confiabilidade, disponibilidade e gerenciamento de dados do Oracle para conteúdos multimídia • Consiste de tipos de objetos com métodos para gerenciar e processar dados multimídia § ORDAudio, ORDVideo, ORDImage, ORDDoc § Armazenam informações da origem dos dados em um tipo objeto-relacional conhecido como ORDSource CIn/UFPE - BD Multimídia Valéria Times 31/54
Oracle Inter. Media • Tipo ORDSource § Provê o acesso a uma variedade de fontes de dados multímidia § Todos os tipos do Oracle Intermedia possuem um atributo deste tipo § Principais atributos: local. Data src. Type src. Location CIn/UFPE - BD Multimídia src. Name update. Time local Valéria Times 32/54
Oracle Inter. Media • Como Oracle inter. Media verifica a similaridade? § Dados os pesos para cada atributo visual, o sistema calcula uma medida de similaridade, chamada de pontuação ou distância § Pesos informados correspondem a valores entre [ 0 ; 1 ] e pelo menos um deles, deve ser maior que zero § Pontuação calculada pode variar de 0. 0 (nenhuma diferença) até 100. 0 (máxima diferença possível) § Grau de similaridade consiste na soma dos produtos entre a distância de cada atributo visual e seu respectivo peso CIn/UFPE - BD Multimídia Valéria Times 33/54
Oracle Inter. Media • Pontuação de três imagens para dois atributos visuais: cor e formato Formato Imagem 2 Imagem 3 Imagem 1 Cor Imagem 1: dado de referência (consulta) Imagens 2 e 3: mantidas no BD CIn/UFPE - BD Multimídia Valéria Times 34/54
Oracle Inter. Media • Como inter. Media verifica a similaridade ? (Cont. ) § Exemplo: Atributo Visual Distância Peso Cor 15 0. 7 Textura 5 0. 2 Formato 50 0. 1 Grau = 0. 7 * 15 + 0. 2 * 5 + 0. 1 * 50 = 16. 5 Os pesos e o limite são dependentes da aplicação e determinados por meio de tentativas e testes. CIn/UFPE - BD Multimídia Valéria Times 35/54
Oracle Inter. Media • Como inter. Media verifica a similaridade? (Cont. ) § Exemplo: Recupere todas as imagens semelhantes a uma dada imagem CURSOR obtenhafotos IS SELECT produto_id , produto_foto FROM tabela WHERE ORDSYS. IMGSimilar ( foto_ass, comp_ass, ´color = “ 0. 4”, texture = “ 0. 10”, shape = “ 0. 3”, location = “ 0. 2” ´ , 20 ) = 1 ; CIn/UFPE - BD Multimídia Valéria Times 36/54
Oracle Inter. Media • Métodos do Tipo ORDImage. Signature § Construtor: init() • Inicializa instâncias deste tipo BEGIN INSERT INTO tabela (produto_id, produto_foto, foto_ass) VALUES (1910, ORDSYS. ORDImage. init('FILE', 'FILE_DIR‘, 'speaker. jpg'), ORDSYS. ORDImage. Signature. init()) ; COMMIT; END; / CIn/UFPE - BD Multimídia Valéria Times 37/54
Oracle Inter. Media • Métodos do Tipo ORDImage. Signature (cont. ) § generate. Signature() • Gera uma assinatura para uma dada imagem DECLARE t_image ORDSYS. ORDImage ; image_sig ORDSYS. ORDImage. Signature ; BEGIN SELECT p. produto_foto, p. foto_ass INTO t_image, image_sig FROM tabela p WHERE p. produto_id = 2402 FOR UPDATE; -- Gera a assinatura image_sig. generate. Signature (t_image) ; UPDATE tabela p SET p. foto_ass = image_sig WHERE p. produto_id = 2402; END; / CIn/UFPE - BD Multimídia Valéria Times 38/54
Oracle Inter. Media • Métodos do Tipo ORDImage. Signature (cont. ) § is. Similar() • Verifica se duas assinaturas são similares DECLARE image_sig 1 ORDSYS. ORDImage. Signature; image_sig 2 ORDSYS. ORDImage. Signature; valor INTEGER; BEGIN SELECT foto_ass INTO image_sig 1 FROM tabela WHERE produto_id = 1910; SELECT foto_ass INTO image_sig 2 WHERE produto_id = 1940; CIn/UFPE - BD Multimídia Valéria Times FROM tabela 39/54
Oracle Inter. Media § is. Similar() -- Compara as imagens valor : = ORDSYS. ORDImage. Signature. is. Similar(image_sig 1, image_sig 2, 'color="1. 0", texture=0, shape=0, location=0', 10); IF valor = 1 THEN DBMS_OUTPUT. PUT_LINE(‘As imagens são similares'); ELSIF valor = 0 THEN DBMS_OUTPUT. PUT_LINE(‘As imagens não similares'); END IF; Existem os operadores: IMGSimilar() e IMGScore() CIn/UFPE - BD Multimídia Valéria Times 40/54
Oracle Inter. Media • Métodos do Tipo ORDImage. Signature (cont. ) § evaluate. Score() • Computa a distância entre duas assinaturas com base na influência dos pesos passados como parâmetros • Retorna um valor entre 0. 0 (imagens idênticas) e 100. 0 (imagens diferentes) CIn/UFPE - BD Multimídia Valéria Times 41/54
Oracle Inter. Media DECLARE t_image c_image_sig compare_sig pont ORDSYS. ORDImage; ORDSYS. ORDImage. Signature; FLOAT; BEGIN SELECT p. produto_foto, p. foto_ass INTO t_image, image_sig FROM tabela p WHERE p. produto_id = 1910 FOR UPDATE; -- Gera a assinatura image_sig. generate. Signature(t_image); UPDATE tabela p SET p. foto_ass = image_sig WHERE p. produto_id =1910; CIn/UFPE - BD Multimídia Valéria Times 42/54
Oracle Inter. Media SELECT p. produto_foto, p. foto_ass INTO c_image, compare_sig FROM tabela p WHERE p. produto_id = 1940 FOR UPDATE; -- Gera a assinatura compare_sig. generate. Signature(c_image); UPDATE tabela p SET p. foto_ass = compare_sig WHERE produto_id = 1940; CIn/UFPE - BD Multimídia Valéria Times 43/54
Oracle Inter. Media -- Comparação entre duas imagens baseada na cor SELECT p. produto_foto, p. foto_ass INTO t_image, image_sig FROM tabela p WHERE p. produto_id = 1910; SELECT p. produto_foto, p. foto_ass INTO c_image, compare_sig FROM tabela p WHERE p. produto_id = 1940; score: =ORDSYS. ORDImage. Signature. evaluate. Score (image_sig, compare_sig, 'color="1. 0", texture=0, shape=0, location=0'); DBMS_OUTPUT. PUT_LINE(‘Distancia = ' || score) ; END ; / CIn/UFPE - BD Multimídia Valéria Times 44/54
Oracle Inter. Media Exemplo Type t_midia id_midia locado duracao preco capa nome_c apa Type t_dvd under t_midia titulo diretor genero trailer nome_ sinopse nome_ trailer sinops Type t_cd under t_midia album artista estilo CIn/UFPE - BD Multimídia faixa nome_ letra faixa Valéria Times nome_ letra 45/54
Oracle Inter. Media Criação dos Tipos CREATE OR REPLACE TYPE t_midia AS OBJECT ( id_midia integer , locado varchar 2 (5 ) , duracao integer , preco number (10 , 2 ) , nome_capa varchar 2 (100 ) , capa ORDSYS. ORDImage , capa_sig ORDSYS. ORDImage. Signature ) not final ; CIn/UFPE - BD Multimídia Valéria Times 46/54
Oracle Inter. Media Criação dos Tipos (Cont. ) CREATE OR REPLACE TYPE t_dvd UNDER t_midia ( titulo varchar 2 ( 255 ) , diretor varchar 2 ( 255 ) , genero varchar 2 ( 255 ) , nome_trailer varchar 2 (100 ) , trailer ORDSYS. ORDVideo , nome_sinopse varchar 2 (100 ) , sinopse ORDSYS. ORDDoc ) ; CIn/UFPE - BD Multimídia Valéria Times 47/54
Oracle Inter. Media Criação dos Tipos (Cont. ) CREATE OR REPLACE TYPE t_cd UNDER t_midia ( album varchar 2 ( 255 ) , artista varchar 2 ( 255 ) , estilo varchar 2 ( 255 ) , nome_faixa varchar 2 (100 ) , faixa ORDSYS. ORDAudio , nome_letra varchar 2 (100 ) , letra ORDSYS. ORDDoc ) ; CIn/UFPE - BD Multimídia Valéria Times 48/54
Oracle Inter. Media Criação de Tabelas CREATE TABLE dvd OF t_dvd ( id_midia primary key ) ; CREATE TABLE cd OF t_cd ( id_midia primary key ) ; CIn/UFPE - BD Multimídia Valéria Times 49/54
Oracle Inter. Media Inserção de um CD no BD CREATE OR REPLACE PROCEDURE insere. CD ( duracao integer , preco number , nome_capa varchar 2 , album varchar 2 , artista varchar 2 , estilo varchar 2 , nome_faixa varchar 2 , nome_letra varchar 2 ) IS id_cd Capa. Obj_sig ctx_capa CIn/UFPE - BD Multimídia INT ; ORDSYS. ORDImage. Signature ; RAW (4000) : = NULL ; Valéria Times 50/54
Oracle Inter. Media Faixa. Obj ctx_faixa ORDSYS. ORDAudio ; RAW (4000) : = NULL ; Letra. Obj ctx_letra ORDSYS. ORDDoc ; RAW (4000) : = NULL ; BEGIN -- insere a tupla INSERT INTO cd VALUES (t_cd (seq_id_midia. next. Val, ´false´ , duracao, preco, nome_capa, ORDSYS. ORDImage. init (´FILE ´ , `IMAGENS´ , nome_capa) , ORDSYS. ORDImage. Signature. init() , album , artista , estilo , nome_faixa , ORDSYS. ORDAudio. init() , nome_letra , ORDSYS. ORDDoc. init() ) ) ; CIn/UFPE - BD Multimídia Valéria Times 51/54
Oracle Inter. Media -- pega o identificador da tupla inserida SELECT max (id_midia) INTO id_cd from cd ; -- seleciona a tupla inserida SELECT c. capa , c. capa_sig INTO Capa. Obj , Capa. Obj_sig FROM cd c WHERE c. id_midia = id_cd FOR UPDATE ; -- seta as propriedades da imagem inserida Capa. Obj. set. Properties ; Capa. Obj. import ( ctx_capa ) ; Capa. Obj_sig. generate. Signature (Capa. Obj) ; UPDATE cd SET capa = Capa. Obj , capa_sig = Capa. Obj_sig WHERE id_midia = id_cd ; COMMIT ; CIn/UFPE - BD Multimídia Valéria Times 52/54
Oracle Inter. Media -- pega o som inserido para colocar seu conteudo SELECT c. faixa INTO Faixa. Obj FROM cd c WHERE c. id_midia = id_cd FOR UPDATE ; -- seta as propriedades do objeto do tipo audio Faixa. Obj. set. Source (´FILE ´, `AUDIOS´, nome_faixa) ; Faixa. Obj. import ( ctx_faixa ) ; Faixa. Obj_set. Properties (ctx_faixa) ; -- atualiza a tupla UPDATE cd c SET c. faixa = Faixa. Obj WHERE c. id_midia = id_cd ; COMMIT ; CIn/UFPE - BD Multimídia Valéria Times 53/54
Oracle Inter. Media -- coloca o documento na tupla SELECT c. letra INTO Letra. Obj FROM cd c WHERE c. id_midia = id_cd FOR UPDATE ; Letra. Obj. set. Source ( ´FILE ´, `DOCUMENTOS´, nome_letra) ; Letra. Obj. set. Mime. Type ( ´application / pdf´) ; Letra. Obj. import ( ctx_letra , FALSE ) ; UPDATE cd c SET c. letra = Letra. Obj WHERE c. id_midia = id_cd ; COMMIT ; END ; CIn/UFPE - BD Multimídia Valéria Times 54/54
CIn/UFPE - BD Multimídia Valéria Times 55/54 55/78
- Slides: 55