Banco de Dados Multimídia: Introdução a Banco de Dados Multimídia Alunos: Eduardo Machado...

38
Banco de Dados Multimídia: Introdução a Banco de Dados Multimídia Alunos: Eduardo Machado Carboni Luís Fernando Custódio Pedro da Silveira Grandi

Transcript of Banco de Dados Multimídia: Introdução a Banco de Dados Multimídia Alunos: Eduardo Machado...

Page 1: Banco de Dados Multimídia:  Introdução a Banco de Dados Multimídia  Alunos:  Eduardo Machado Carboni  Luís Fernando Custódio  Pedro da Silveira Grandi.

Banco de Dados Multimídia: Introdução a Banco de Dados

Multimídia

Alunos: Eduardo Machado Carboni Luís Fernando Custódio Pedro da Silveira Grandi

Page 2: Banco de Dados Multimídia:  Introdução a Banco de Dados Multimídia  Alunos:  Eduardo Machado Carboni  Luís Fernando Custódio  Pedro da Silveira Grandi.

Banco de Dados Multimídia: Introdução

Multimídia: Vídeo, Áudio, Imagem.- Necessidades;- Dificuldades;- Soluções;- Consumidores;- Ferramentas;

Page 3: Banco de Dados Multimídia:  Introdução a Banco de Dados Multimídia  Alunos:  Eduardo Machado Carboni  Luís Fernando Custódio  Pedro da Silveira Grandi.

Video- Introdução

Porquê necessitamos de vídeo? Para representar movimento .

O que podemos fazer com dados de video? Capturar, armazenar, apresentar, editar --

sem considerar o conteúdo Buscar, indexar -- dependente de

contexto

Sequence de Vídeo = stream (físico, dados) + informação do vídeo (significado)

Page 4: Banco de Dados Multimídia:  Introdução a Banco de Dados Multimídia  Alunos:  Eduardo Machado Carboni  Luís Fernando Custódio  Pedro da Silveira Grandi.

Video - Motivação

Há uma grande quantidade de vídeos produzidos que necessitam de recuperação

Ex: Um ano de vídeo do campeonato brasileiro mostrando os melhores eventos:Número total de jogos num ano: 38 * 20 = 760 (jogos)Precisamos de 760 * 1,5 = 1140 (horas) para navegar sequencialmente se usando um player de vídeo

Uma facilidade de acesso randômico pode reduzir este tempo pode ser reduzido a poucos dias.

Page 5: Banco de Dados Multimídia:  Introdução a Banco de Dados Multimídia  Alunos:  Eduardo Machado Carboni  Luís Fernando Custódio  Pedro da Silveira Grandi.

Porquê agora?

Page 6: Banco de Dados Multimídia:  Introdução a Banco de Dados Multimídia  Alunos:  Eduardo Machado Carboni  Luís Fernando Custódio  Pedro da Silveira Grandi.

Imagem e Vídeo

Uma imagem é capturada quando uma camera escaneia uma cena

Cores => Vermelho (R), Verde (G) e Azul (B) lista de telas digitais A densidade das telas (pixels) dão a

resolução.

Cada tela é chamada de quadro, e essa sequencia de quados (frames/sec) é medido em Hz TV tem em média 25Hz Camera de celular tem em média 8-15 Hz

Page 7: Banco de Dados Multimídia:  Introdução a Banco de Dados Multimídia  Alunos:  Eduardo Machado Carboni  Luís Fernando Custódio  Pedro da Silveira Grandi.

Armazenagem de Vídeo

Vídeos devem ser comprimidos ou codificados para poderem ser transmitidos.

Essa compressão gera vários formados de condificação e decodificação, os chamados Codec’s.

Um banco multimidia precisa trabalhar com vários formatos de mídia para ser útil.

Page 8: Banco de Dados Multimídia:  Introdução a Banco de Dados Multimídia  Alunos:  Eduardo Machado Carboni  Luís Fernando Custódio  Pedro da Silveira Grandi.

BD Vídeo

Tipos de consulta:

1. Usuário pode ter visto uma cena de um video e deseja recuperá-la

2. Usuário pode estar procurando por um vídeo que ele nunca viu antes

3. Usuário pode ter apenas uma vaga idéia do que ele está procurando.

-como usuário pode querer interagir?

Page 9: Banco de Dados Multimídia:  Introdução a Banco de Dados Multimídia  Alunos:  Eduardo Machado Carboni  Luís Fernando Custódio  Pedro da Silveira Grandi.

BD Vídeo

Meta: determinar a sintaxe e semântica de um video.

Passo 1: identificar a sintaxe: Um filme é composto por segmentos, cenas e tomadas.

- Quadro (Frame): uma imagem do vídeo - Tomadas (shots): sequência contínua de frames de

uma câmera com início e fim bem definidos. - Cena (Episode): coleção de shots adjacentes focando os

mesmos objetos e descrevendo uma cadeia completa de ações.

- Segmento: é um grupo de cenas, não necessariamente adjacentes, ligados por uma linha comum de ações.

Page 10: Banco de Dados Multimídia:  Introdução a Banco de Dados Multimídia  Alunos:  Eduardo Machado Carboni  Luís Fernando Custódio  Pedro da Silveira Grandi.

BD Vídeo

• Passo 2: semântica Uso de metadata para especificar a semântica do video. Através de anotações, capturas de texto, e algoritmos

de segmentação de imagem (similar a proc. de imagens).

• BD Video pode ser indexado por:

- dados bibliográficos: título, abstract, assunto, gênero - dados estruturados: segmento, cena e tomada - dados de conteúdo: uso de keyframes e keywords.

Page 11: Banco de Dados Multimídia:  Introdução a Banco de Dados Multimídia  Alunos:  Eduardo Machado Carboni  Luís Fernando Custódio  Pedro da Silveira Grandi.

Informação de Video

Tipos de informações físicas associados com video:· Objeto -- video stream · atributos (length, size, frame numbering) · informação (format resolution headers, frame rate)

O que pode ser derivado de um video? · O -- conjunto de objetos presentes num video · M -- conjunto de representações de movimento · Features, spatial relationships, derivados de O · Spatiotemporal info derivada de O e M juntos · Spatiotempotal info fornecida pelo designer · Temporal relationships inferidos de M · Image information

Page 12: Banco de Dados Multimídia:  Introdução a Banco de Dados Multimídia  Alunos:  Eduardo Machado Carboni  Luís Fernando Custódio  Pedro da Silveira Grandi.

Operadores de Video

Além dos clássicos: FF, play, record, Rewind, stop e pause

Inserir um vídeo em outro Extrair um video clip Extração de cortes Extrair uma imagem de um video

Page 13: Banco de Dados Multimídia:  Introdução a Banco de Dados Multimídia  Alunos:  Eduardo Machado Carboni  Luís Fernando Custódio  Pedro da Silveira Grandi.

Atributos de vídeo

· v_length:Video -> Integer · frame_rate: Video -> Integer · size: Video -> Integer · resolution: Video -> String · compression: Video -> String

Page 14: Banco de Dados Multimídia:  Introdução a Banco de Dados Multimídia  Alunos:  Eduardo Machado Carboni  Luís Fernando Custódio  Pedro da Silveira Grandi.

Indexação por Semântica

É o processo de detectar automaticamente a presença de um objeto semantico num stream de vídeo

AVIÃO

Page 15: Banco de Dados Multimídia:  Introdução a Banco de Dados Multimídia  Alunos:  Eduardo Machado Carboni  Luís Fernando Custódio  Pedro da Silveira Grandi.

Segmentação de Vídeo

Considerar nas imagens- Cor- Textura

Aparencia,consistência da superfície

- Distribuição pela imagem- Por partes específicas da imagemou sobre objetos presentes

Cortar objetos / partes importantes

Page 16: Banco de Dados Multimídia:  Introdução a Banco de Dados Multimídia  Alunos:  Eduardo Machado Carboni  Luís Fernando Custódio  Pedro da Silveira Grandi.

Problema Semântico

Quebrando a imagem em segmentos mais significativos - Teoricamente objetos devem vir do mundo “real”

O que constitui um objeto? - Dependendo da aplicação, precisa interação ou conhecimento prévio

Page 17: Banco de Dados Multimídia:  Introdução a Banco de Dados Multimídia  Alunos:  Eduardo Machado Carboni  Luís Fernando Custódio  Pedro da Silveira Grandi.

Banco de Dados Multimídia: Áudio

Page 18: Banco de Dados Multimídia:  Introdução a Banco de Dados Multimídia  Alunos:  Eduardo Machado Carboni  Luís Fernando Custódio  Pedro da Silveira Grandi.

Banco de Dados Multimídia: Reconhecimento de Fala

- Interação das pessoas com os computadores.

O que é preciso para esta comunicação?

Page 19: Banco de Dados Multimídia:  Introdução a Banco de Dados Multimídia  Alunos:  Eduardo Machado Carboni  Luís Fernando Custódio  Pedro da Silveira Grandi.

Banco de Dados Multimídia: Reconhecimento de Fala

- Dificuldades:Número de palavras e

combinações;Sotaque e acentuação;

Ruídos;

Page 20: Banco de Dados Multimídia:  Introdução a Banco de Dados Multimídia  Alunos:  Eduardo Machado Carboni  Luís Fernando Custódio  Pedro da Silveira Grandi.

Banco de Dados Multimídia: Reconhecimento de Fala

Possíveis soluções:

Gerar um dicionário com pronunciações;

Utilizar regras morfológicas.

Page 21: Banco de Dados Multimídia:  Introdução a Banco de Dados Multimídia  Alunos:  Eduardo Machado Carboni  Luís Fernando Custódio  Pedro da Silveira Grandi.

Banco de Dados Multimídia: Recuperação de áudio

Consultas para encontrar objetos.

Conteúdo das consultas:- Por metadados:

Gênero, Estilo, Título, Compositor;

- Por Comparação:Timbre, Frequência, Rítmo;

Page 22: Banco de Dados Multimídia:  Introdução a Banco de Dados Multimídia  Alunos:  Eduardo Machado Carboni  Luís Fernando Custódio  Pedro da Silveira Grandi.

Banco de Dados Multimídia: Exemplos:

- Reconhecimento de fala no Windows Vista;

Treinar do Windows.- Reconhecimento de voz no celular;- Reconhecimento de fala no Youtube:

Busca por conteúdo falado.

Page 23: Banco de Dados Multimídia:  Introdução a Banco de Dados Multimídia  Alunos:  Eduardo Machado Carboni  Luís Fernando Custódio  Pedro da Silveira Grandi.

Banco de Dados Multimídia:Oracle Visual Information Retrieval

(VIR)Extensão do Oracle com o objetivo de gerenciar e manipular imagens através de seus atributos:

Largura;Altura;Tamanho;Tipo/Formato do Arquivo ou Compressão;Tipo da Imagem(Monocromática, Colorida,...);

Page 24: Banco de Dados Multimídia:  Introdução a Banco de Dados Multimídia  Alunos:  Eduardo Machado Carboni  Luís Fernando Custódio  Pedro da Silveira Grandi.

Banco de Dados Multimídia:Oracle Visual Information Retrieval

(VIR)A classe ORDSYS.ORDVir é a base para as funcionalidades do VIR:

Criação de índices para a coluna de imagens da tabela;Recuperação por conteúdo.

Composta da imagem, atributos de imagem, métodos específicos e um atributo assinatura.

Page 25: Banco de Dados Multimídia:  Introdução a Banco de Dados Multimídia  Alunos:  Eduardo Machado Carboni  Luís Fernando Custódio  Pedro da Silveira Grandi.

Banco de Dados Multimídia:Oracle Visual Information Retrieval (VIR)

Utiliza métodos para fazer comparações entre imagens, como: Analyse() – analisa a imagem e gera uma assinatura . VIRScore() e VIRSimilar() – comparam assinaturas de duas imagens e determina se são similares.setProperties() – Determina propriedades das imagens.get() – Retorna atributos específicos das imagens:getHeight(), getWidth(), ...

Page 26: Banco de Dados Multimídia:  Introdução a Banco de Dados Multimídia  Alunos:  Eduardo Machado Carboni  Luís Fernando Custódio  Pedro da Silveira Grandi.

Banco de Dados Multimídia:Oracle Visual Information Retrieval (VIR)

A Assinatura dada à imagem contém informações dos atributos visuais da imagem.

Através das assinaturas são possíveis alocar scores que referenciam a distância de uma imagem à outra, quanto menor o score mais semelhantes as imagens são.

Page 27: Banco de Dados Multimídia:  Introdução a Banco de Dados Multimídia  Alunos:  Eduardo Machado Carboni  Luís Fernando Custódio  Pedro da Silveira Grandi.

Banco de Dados Multimídia:Oracle Visual Information Retrieval (VIR)

Cor global refere-se à distribuição de cores em toda a imagem, enquanto cor local considera a distribuição de cores e a localização.Comparativo:

Page 28: Banco de Dados Multimídia:  Introdução a Banco de Dados Multimídia  Alunos:  Eduardo Machado Carboni  Luís Fernando Custódio  Pedro da Silveira Grandi.

Banco de Dados Multimídia:Oracle Visual Information Retrieval (VIR)

Imagens semelhantes pela cor global (score = 0)

Imagens semelhantes pela cor local (score = 0,02461)

Page 29: Banco de Dados Multimídia:  Introdução a Banco de Dados Multimídia  Alunos:  Eduardo Machado Carboni  Luís Fernando Custódio  Pedro da Silveira Grandi.

Banco de Dados Multimídia:Oracle Visual Information Retrieval (VIR)

Imagens semelhantes pela textura (score = 4,1)

Imagens semelhantes pela estrutura (score = 0,61939)

Page 30: Banco de Dados Multimídia:  Introdução a Banco de Dados Multimídia  Alunos:  Eduardo Machado Carboni  Luís Fernando Custódio  Pedro da Silveira Grandi.

Banco de Dados Multimídia:Oracle Visual Information Retrieval (VIR)

Para a realização de consultas, atribui-se pesos para cada um dos atributos visuais citados.

Scores são calculados para cada atributo, então calcula-se a média ponderada.

Um limite (threshold) é atribuídoImagens com score global abaixo do limite são retornadas como semelhantes

Page 31: Banco de Dados Multimídia:  Introdução a Banco de Dados Multimídia  Alunos:  Eduardo Machado Carboni  Luís Fernando Custódio  Pedro da Silveira Grandi.

Banco de Dados Multimídia:Oracle Visual Information Retrieval (VIR)

Exemplo: considerando-se os scores e pesos

Scores – cor global = 15, cor local = 90, textura = 5 e estrutura = 50Pesos - cor global = 0.1, cor local = 0.6, textura = 0.2 e estrutura = 0.1Score Global: (0,1 x 15 + 0,6 x 90 + 0,2 x 5 + 0,1 x 50) = 61,5

Logo, se o threshold fosse maior que 61,5 o banco consideraria imagens semelhantes.

Page 32: Banco de Dados Multimídia:  Introdução a Banco de Dados Multimídia  Alunos:  Eduardo Machado Carboni  Luís Fernando Custódio  Pedro da Silveira Grandi.

Banco de Dados Multimídia:

Oracle Intermidia:Produto que estende o Oracle 9i

Adiciona características multimídia;Responsável por gerenciar,

armazenar e recuperar imagens, áudio, vídeo e texto;

Page 33: Banco de Dados Multimídia:  Introdução a Banco de Dados Multimídia  Alunos:  Eduardo Machado Carboni  Luís Fernando Custódio  Pedro da Silveira Grandi.

Banco de Dados Multimídia:O Oracle interMedia pode armazenar:

Binary Large Objects (BLOBs) – localmente no banco de dados;

File-Based Large objects (BFILEs) – arquivos do sistema operacional, externos ao BD;

URLs – armazenadas em um servidor HTTP;Dados de áudio e vídeo streaming –

armazenados em servidores especializados;

Page 34: Banco de Dados Multimídia:  Introdução a Banco de Dados Multimídia  Alunos:  Eduardo Machado Carboni  Luís Fernando Custódio  Pedro da Silveira Grandi.

Banco de Dados Multimídia:O interMedia usa tipos de objeto

semelhantes a classes Java e C++:ORDAudio, ORDImage, ORDVideo.

Instâncias dos objetos são compostas dos dados da mídia e de metadados.

São exemplos desses metadados:Tamanho, duração, formato ou tipo de

compressão.Objetos incluem métodos específicos

da mídia.

Page 35: Banco de Dados Multimídia:  Introdução a Banco de Dados Multimídia  Alunos:  Eduardo Machado Carboni  Luís Fernando Custódio  Pedro da Silveira Grandi.

Banco de Dados Multimídia:Banco Físico Multimídia:

create table image_table (id number primary key, image ordsys.ordimage);

create or replace directory imagedir as 'c:\quickstart';

create or replace procedure image_import(dest_id number, filename varchar2) isimg ordsys.ordimage;ctx raw(64) := null;begindelete from image_table where id = dest_id;insert into image_table (id,image)    values (dest_id, ordsys.ordimage.init())    returning image into img;

    img.importFrom(ctx, 'file', 'IMAGEDIR', filename);    update image_table set image=img where id=dest_id;end;

Page 36: Banco de Dados Multimídia:  Introdução a Banco de Dados Multimídia  Alunos:  Eduardo Machado Carboni  Luís Fernando Custódio  Pedro da Silveira Grandi.

Banco de Dados Multimídia:Banco Físico Multimídia:create or replace procedure image_processCopy(source_id number,

dest_id number, verb varchar2) is    imgSrc ordsys.ordimage;    imgDst ordsys.ordimage;begin  delete from image_table where id = dest_id;  insert into image_table (id,image)    values (dest_id, ordsys.ordimage.init());  select image into imgSrc from image_table where id = source_id;  select image into imgDst from image_table where id = dest_id for update;  imgSrc.processCopy(verb, imgDst);  update image_table set image = imgDst where id = dest_id;end;

Page 37: Banco de Dados Multimídia:  Introdução a Banco de Dados Multimídia  Alunos:  Eduardo Machado Carboni  Luís Fernando Custódio  Pedro da Silveira Grandi.

Banco de Dados Multimídia:Banco Físico Multimídia:create or replace procedure image_export (source_id number, filename

varchar2) as  imgSrc ordsys.ordimage;  ctx raw(64) := null;begin  select image into imgSrc from image_table where id = source_id;  imgSrc.export(ctx, 'FILE', 'IMAGEDIR', filename);end;