Click here to load reader
Upload
bernardo-gorjao-philippi
View
229
Download
1
Embed Size (px)
Citation preview
CIn/UFPE - BD Multimídia Valéria Times
Banco de Dados
BD Multimídia
Valéria Cesário [email protected]
1/54
CIn/UFPE - BD Multimídia Valéria Times
Tópicos
• BD Multimídia Definição
Aplicações
Aspectos importantes
• Tipos de dados multimídia
• Consultas de conteúdo Oracle InterMedia
• Uma aplicação multimídia
• Bibliografia 2/54
CIn/UFPE - BD Multimídia Valéria Times
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)
3/54
CIn/UFPE - BD Multimídia Valéria Times
• 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.
BD Multimídia
4/54
CIn/UFPE - BD Multimídia Valéria Times
• 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
BD Multimídia
5/54
CIn/UFPE - BD Multimídia Valéria Times
• 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 .......
BD Multimídia
6/54
CIn/UFPE - BD Multimídia Valéria Times
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
7/54
CIn/UFPE - BD Multimídia Valéria Times
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
8/54
CIn/UFPE - BD Multimídia Valéria Times
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• DB2 – IBM• Oracle 8i / 9i• CA – Jasmine• Sybase
• ODB II• CACHÉ
9/54
CIn/UFPE - BD Multimídia Valéria Times
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
10/54
CIn/UFPE - BD Multimídia Valéria Times
• 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.
Tipos de Dados Multimídia
11/54
CIn/UFPE - BD Multimídia Valéria Times
• 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
Tipos de Dados Multimídia
12/54
CIn/UFPE - BD Multimídia Valéria Times
Tipos de Dados Multimídia
• Animações Seqüências temporais de dados gráficos ou imagens
13/54
CIn/UFPE - BD Multimídia Valéria Times
Se pego noque estou pensando!?
Sou dono do Mundo!
14/54
CIn/UFPE - BD Multimídia Valéria Times
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
15/54
CIn/UFPE - BD Multimídia Valéria Times
Tipos de Dados Multimídia
• Composto ou Misto Combinação de tipos de dados multimídia, tais como som e
vídeo.
16/54
CIn/UFPE - BD Multimídia Valéria Times
Tipos de Dados Multimídia
• Composto ou Misto Combinação de tipos de dados multimídia, tais como som
e vídeo.
17/54
CIn/UFPE - BD Multimídia Valéria Times
• 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
Ao Vencedor
.....
Tipos de Dados Multimídia
18/54
CIn/UFPE - BD Multimídia Valéria Times
• Hipertextos Documentos estruturados através de uma rede
semântica Documentos são associados via links
• Hipermídia Hipertexto com dados multimídia
EntradaEntrada
Tipos de Dados Multimídia
19/54
CIn/UFPE - BD Multimídia Valéria Times
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 interMedia
pode se basear: Análise Manual Análise Automática
20/54
CIn/UFPE - BD Multimídia Valéria Times
• Ambas abordagens podem ser adotadas no Oracle interMedia: 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 ORDImageSignature para permitir consultas de conteúdo baseadas nos atributos específicos da imagem
• Cor, formato e textura da imagem
Consultas de Conteúdo
21/54
CIn/UFPE - BD Multimídia Valéria Times
• 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!
Consultas de Conteúdo
22/54
CIn/UFPE - BD Multimídia Valéria Times
• 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
Consultas de Conteúdo
23/54
CIn/UFPE - BD Multimídia Valéria Times
• 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.
Consultas de Conteúdo
24/54
CIn/UFPE - BD Multimídia Valéria Times
• 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 interMedia esta medida de similaridade se baseia no conceito de distância
Consultas de Conteúdo
25/54
CIn/UFPE - BD Multimídia Valéria Times
• 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 aos
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
Consultas de Conteúdo
26/54
CIn/UFPE - BD Multimídia Valéria Times
• 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
Consultas de Conteúdo
27/54
CIn/UFPE - BD Multimídia Valéria Times
• Imagens semelhantes quanto às cores
Consultas de Conteúdo
• Imagens semelhantes para cor e localização
28/54
CIn/UFPE - BD Multimídia Valéria Times
• Imagens de tecidos semelhantes quanto a textura
Consultas de Conteúdo
• Imagens semelhantes quanto ao formato
29/54
CIn/UFPE - BD Multimídia Valéria Times
• 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
Consultas de Conteúdo
30/54
CIn/UFPE - BD Multimídia Valéria Times
• Á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
Oracle InterMedia
31/54
CIn/UFPE - BD Multimídia Valéria Times
• 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:
localData srcNamesrcTypesrcLocation
updateTimelocal
Oracle InterMedia
32/54
CIn/UFPE - BD Multimídia Valéria Times
• Como Oracle interMedia 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
Oracle InterMedia
33/54
CIn/UFPE - BD Multimídia Valéria Times
• Pontuação de três imagens para dois atributos visuais: cor e formato
Imagem 1
Imagem 2
Imagem 3
Cor
Formato
Imagem 1: dado de referência (consulta)Imagens 2 e 3: mantidas no BD
Oracle InterMedia
34/54
CIn/UFPE - BD Multimídia Valéria Times
• Como interMedia verifica a similaridade ? (Cont.) Exemplo:
Atributo Visual Distância PesoCor 15 0.7Textura 5 0.2Formato 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.
Oracle InterMedia
35/54
CIn/UFPE - BD Multimídia Valéria Times
• Como interMedia 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 ;
Oracle InterMedia
36/54
CIn/UFPE - BD Multimídia Valéria Times
• Métodos do Tipo ORDImageSignature Construtor: init()
• Inicializa instâncias deste tipo
BEGININSERT INTO tabela (produto_id, produto_foto, foto_ass)VALUES (1910, ORDSYS.ORDImage.init('FILE','FILE_DIR‘,'speaker.jpg'),ORDSYS.ORDImageSignature.init()) ;COMMIT;END; /
Oracle InterMedia
37/54
CIn/UFPE - BD Multimídia Valéria Times
• Métodos do Tipo ORDImageSignature (cont.) generateSignature()
• Gera uma assinatura para uma dada imagem
DECLARE t_image ORDSYS.ORDImage ; image_sig ORDSYS.ORDImageSignature ;BEGINSELECT p.produto_foto, p.foto_ass INTO t_image, image_sigFROM tabela p WHERE p.produto_id = 2402 FOR UPDATE;
-- Gera a assinaturaimage_sig.generateSignature (t_image) ;
UPDATE tabela p SET p.foto_ass = image_sigWHERE p.produto_id = 2402; END; /
Oracle InterMedia
38/54
CIn/UFPE - BD Multimídia Valéria Times
• Métodos do Tipo ORDImageSignature (cont.) isSimilar()
• Verifica se duas assinaturas são similares
DECLAREimage_sig1 ORDSYS.ORDImageSignature;image_sig2 ORDSYS.ORDImageSignature;valor INTEGER;BEGIN SELECT foto_ass INTO image_sig1 FROM tabela WHERE produto_id = 1910;
SELECT foto_ass INTO image_sig2 FROM tabela WHERE produto_id = 1940;
Oracle InterMedia
39/54
CIn/UFPE - BD Multimídia Valéria Times
isSimilar()
-- Compara as imagensvalor := ORDSYS.ORDImageSignature.isSimilar(image_sig1,image_sig2,'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 são similares');END IF;Existem os operadores: IMGSimilar() e IMGScore()
Oracle InterMedia
40/54
CIn/UFPE - BD Multimídia Valéria Times
• Métodos do Tipo ORDImageSignature (cont.) evaluateScore()
• 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)
Oracle InterMedia
41/54
CIn/UFPE - BD Multimídia Valéria Times
DECLARE t_image ORDSYS.ORDImage; c_image ORDSYS.ORDImage; image_sig ORDSYS.ORDImageSignature; compare_sig ORDSYS.ORDImageSignature; pont FLOAT;BEGINSELECT p.produto_foto, p.foto_ass INTO t_image, image_sig FROM tabela pWHERE p.produto_id = 1910 FOR UPDATE;
-- Gera a assinaturaimage_sig.generateSignature(t_image);
UPDATE tabela p SET p.foto_ass = image_sigWHERE p.produto_id =1910;
Oracle InterMedia
42/54
CIn/UFPE - BD Multimídia Valéria Times
SELECT p.produto_foto, p.foto_ass INTO c_image, compare_sig FROM tabela pWHERE p.produto_id = 1940 FOR UPDATE;-- Gera a assinaturacompare_sig.generateSignature(c_image);
UPDATE tabela p SET p. foto_ass = compare_sigWHERE produto_id = 1940;
Oracle InterMedia
43/54
CIn/UFPE - BD Multimídia Valéria Times
-- Comparação entre duas imagens baseada na corSELECT 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.ORDImageSignature.evaluateScore(image_sig,compare_sig,'color="1.0",texture=0,shape=0,location=0');DBMS_OUTPUT.PUT_LINE(‘Distancia = ' || score) ;END ;/
Oracle InterMedia
44/54
CIn/UFPE - BD Multimídia Valéria Times
id_midia locado duracao preco capa nome_capa
Type t_midia
titulo diretor genero trailer nome_trailer
sinopse nome_sinops
Type t_dvd under t_midia
Exemplo
album artista estilo faixa nome_faixa
letra nome_letra
Type t_cd under t_midia
Oracle InterMedia
45/54
CIn/UFPE - BD Multimídia Valéria Times
Criação dos Tipos
CREATE OR REPLACE TYPE t_midia AS OBJECT ( id_midia integer , locado varchar2 (5 ) , duracao integer , preco number (10 , 2 ) , nome_capa varchar2 (100 ) , capa ORDSYS.ORDImage , capa_sig ORDSYS.ORDImageSignature ) not final ;
Oracle InterMedia
46/54
CIn/UFPE - BD Multimídia Valéria Times
Criação dos Tipos (Cont.)
CREATE OR REPLACE TYPE t_dvd UNDER t_midia ( titulo varchar2 ( 255 ) , diretor varchar2 ( 255 ) , genero varchar2 ( 255 ) , nome_trailer varchar2 (100 ) , trailer ORDSYS.ORDVideo , nome_sinopse varchar2 (100 ) , sinopse ORDSYS.ORDDoc ) ;
Oracle InterMedia
47/54
CIn/UFPE - BD Multimídia Valéria Times
Criação dos Tipos (Cont.)
CREATE OR REPLACE TYPE t_cd UNDER t_midia ( album varchar2 ( 255 ) , artista varchar2 ( 255 ) , estilo varchar2 ( 255 ) , nome_faixa varchar2 (100 ) , faixa ORDSYS.ORDAudio , nome_letra varchar2 (100 ) , letra ORDSYS.ORDDoc ) ;
Oracle InterMedia
48/54
CIn/UFPE - BD Multimídia Valéria Times
Criação de Tabelas
CREATE TABLE dvd OF t_dvd ( id_midia primary key ) ;
CREATE TABLE cd OF t_cd ( id_midia primary key ) ;
Oracle InterMedia
49/54
CIn/UFPE - BD Multimídia Valéria Times
Inserção de um CD no BD
CREATE OR REPLACE PROCEDURE insereCD ( duracao integer , preco number , nome_capa varchar2 , album varchar2 , artista varchar2 , estilo varchar2 , nome_faixa varchar2 , nome_letra varchar2 ) IS id_cd INT ; CapaObj ORDSYS.ORDImage ; CapaObj_sig ORDSYS.ORDImageSignature ; ctx_capa RAW (4000) : = NULL ;
Oracle InterMedia
50/54
CIn/UFPE - BD Multimídia Valéria Times
FaixaObj ORDSYS.ORDAudio ; ctx_faixa RAW (4000) : = NULL ;
LetraObj ORDSYS.ORDDoc ; ctx_letra RAW (4000) : = NULL ;
BEGIN -- insere a tuplaINSERT INTO cd VALUES (t_cd (seq_id_midia.nextVal, ´false´ , duracao, preco, nome_capa, ORDSYS.ORDImage.init (´FILE ´ , `IMAGENS´ , nome_capa) , ORDSYS.ORDImageSignature.init() , album , artista , estilo , nome_faixa , ORDSYS.ORDAudio.init() , nome_letra , ORDSYS.ORDDoc.init() ) ) ;
Oracle InterMedia
51/54
CIn/UFPE - BD Multimídia Valéria Times
-- pega o identificador da tupla inserida SELECT max (id_midia) INTO id_cd from cd ;
-- seleciona a tupla inseridaSELECT c.capa , c.capa_sig INTO CapaObj , CapaObj_sigFROM cd c WHERE c.id_midia = id_cd FOR UPDATE ;
-- seta as propriedades da imagem inserida CapaObj.setProperties ; CapaObj.import ( ctx_capa ) ; CapaObj_sig.generateSignature (CapaObj) ; UPDATE cd SET capa = CapaObj , capa_sig = CapaObj_sig WHERE id_midia = id_cd ; COMMIT ;
Oracle InterMedia
52/54
CIn/UFPE - BD Multimídia Valéria Times
-- pega o som inserido para colocar seu conteudo SELECT c.faixa INTO FaixaObj FROM cd c WHERE c.id_midia = id_cd FOR UPDATE ;
-- seta as propriedades do objeto do tipo audio FaixaObj.setSource (´FILE ´, `AUDIOS´, nome_faixa) ; FaixaObj.import ( ctx_faixa ) ; FaixaObj_setProperties (ctx_faixa) ;
-- atualiza a tupla UPDATE cd c SET c.faixa = FaixaObj WHERE c.id_midia = id_cd ;
COMMIT ;
Oracle InterMedia
53/54
CIn/UFPE - BD Multimídia Valéria Times
-- coloca o documento na tupla SELECT c. letra INTO LetraObj FROM cd c WHERE c.id_midia = id_cd FOR UPDATE ;
LetraObj.setSource ( ´FILE ´, `DOCUMENTOS´, nome_letra) ; LetraObj.setMimeType ( ´application / pdf´) ; LetraObj.import ( ctx_letra , FALSE ) ; UPDATE cd c SET c. letra = LetraObj WHERE c.id_midia = id_cd ;
COMMIT ; END ;
Oracle InterMedia
54/54
CIn/UFPE - BD Multimídia Valéria Times 55/7855/54