90
Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Embed Size (px)

Citation preview

Page 1: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Banco de Dados Multimídia5. Vídeo

Banco de Dados Multimídia5. Vídeo

Prof. Cláudio Baptista

Page 2: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Video- IntroduçãoVideo- Introdução

Porquê necessitamos de vídeo? Para representar movimento (motion)O que podemos fazer com dados de video?– capturar, armazenar, apresentar, editar -- (sem

considerar o conteúdo) – query, busca, indexação -- dependente de contexto

Video sequence = Video stream (physical, raw data) + Video information (meaning)

Page 3: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Video - MotivaçãoVideo - Motivação– A grande quantidade de vídeos produzidos que

necessitam de recuperação por

– Ex.: Um ano de video da NBA mostrando os melhores eventos:Número total de jogos num ano: 29 * 82 / 2 + 91 = 1280 (jogos)Precisamos de 1280 * 3 = 3840 (horas) para navegar sequencialmente se usando um video player

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

Page 4: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Video - MotivaçãoVideo - Motivação

Page 5: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Porquê agora?Porquê agora?

Page 6: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Porquê agora?Porquê agora?

Page 7: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Imagem & VideoImagem & Video An image is captured when a camera scans a scene

Colour => Red (R), Green (G) and Blue (B) array of digital samples Density of samples (pixels) gives resolution

A video is captured when a camera scans a scene at multiple time instants

Each sample is called a frame giving rise to a frame rate (frames/sec) measured in Hz

TV (full motion video) is 25HzMobile video telephony is 8-15 Hz

Page 8: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Video DataVideo Data

Page 9: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

CompressãoCompressão

Page 10: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

CompressãoCompressão

Page 11: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Representação de VídeoRepresentação de Vídeo

Analógico: convertido para digital usando uma placa de captura de vídeo (digitalização)Digital: AVI, MPEG-1,-2,-4

Page 12: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Representação de VídeoRepresentação de Vídeo

Page 13: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Representação de VídeoRepresentação de Vídeo

Level Granularity Descriptive features

Video meta concept, producer, director

Episode macro events description

Clip or Shot mini action, talk, goal

Frame micro object and its spatial relationship

Page 14: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Representação de VídeoRepresentação de Vídeo

Page 15: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Características de vídeoCaracterísticas de vídeo

Comparação com dados alfanuméricos

Characteristic Video data Alphanumeric data

Symbol Set Inifinite Finite

Resolution High Low

Interpretation Ambiguity High Low

Interpretation Efforts High Low

Data Volume Large Small

Similarity Measure Ill difined Well Defined

Page 16: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

BD Vídeo 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 elenunca viu antes

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

Page 17: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

BD Vídeo BD VídeoMeta: 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 objetose descrevendo uma cadeia completa de ações.- Segmento: é um grupo de cenas, não necessariamenteadjacentes, ligados por uma linha comum de ações.

Page 18: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Categoria: NewsData: 10/12/96Duração: 15 minFonte: GloboNum. Estórias: MKeywords: C. Grande,Micarande, Turismo, festa ...

Segmento index: 1Título: Folia nos blocosNum. Shots: KFrame inicial: 00000Frame final: 02000Evento: narração, entrevistas, diálogos, ...

Shot index: 1Frame inicial: 00000Frame final: 00300Camera: stillNível de audio: médioNum. Pessoas: 10Keywords: dança, festaanimação, ...

clip

...Segmento 1 Segmento M

...Shot 1 Shot K

...Frame 00000 Frame 00300

Page 19: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

BD VídeoBD Vídeo

• Passo 2: semânticaUso 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 20: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Análise de MovimentoAnálise de Movimento

O processo de análise de movimento é dividido em 3 estágios:

detecção de objetos em movimento

trajetória de objetos

análise final de movimento

Page 21: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Modelo de Informação de VideoModelo de Informação de Video

CBR em video usa:anotação manual para descrever informação semântica (lento)representação icônica usando métodos automáticos para detecção de mudança de cena (cortes) (perde a propriedade de movimento)propriedades estáticas derivadas usando técnicas de análise de imagens (perde aspecto temporal do video)

Page 22: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Caracterização de Informação de VideoCaracterização de 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 23: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Operadores de VideoOperadores de Video

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

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

Page 24: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Operadores de atributos de videoOperadores de atributos de video

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

Page 25: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Video SegmentationVideo Segmentation

Page 26: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Segmentação de Vídeo: O que é importante?Segmentação de Vídeo: O que é importante?

Page 27: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Segmentação de Vídeo: O que é importante?Segmentação de Vídeo: O que é importante?

Page 28: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Problema SemânticoProblema Semântico

Page 29: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Video SegmentationVideo Segmentation

Page 30: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Video SegmentationVideo Segmentation

Page 31: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Video SegmentationVideo Segmentation

Page 32: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Semantic Indexing OverviewSemantic Indexing Overview

Page 33: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Projetos: InformediaProjetos: Informedia

Page 34: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Projetos: IBM MarvelProjetos: IBM Marvel

Page 35: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

ÁudioÁudio

Prof. Cláudio Baptista

Page 36: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

ÁudioÁudio

Processamento de FalaReconhecimento de FalaSíntese de Fala

Reconhecimento de Música

Page 37: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Reconhecimento de FalaReconhecimento de Fala Motivação: •How can machines make sense of – and participate in

– human communication? recognizing, interpreting, understanding, generating

Underpins richer, human-centred approaches to computing perceptual computers that can interpret their environment technological enhancements to human-human communication

Page 38: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Características ÁcústicasCaracterísticas Ácústicas

Process the speech waveform to obtain arepresentation that emphasizes those aspects of

the speech signal most relevant to ASR

Page 39: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Dificuldades no Reconhecimento da falaDificuldades no Reconhecimento da fala

Speech recognition is difficult due to several sourcesv of variation

Size - number of words in the vocabulary, perpelexityStyle - continuous speech or isolated; planned or spontaneous;Speaker characteristics and accent - tuned for a single speaker, or speaker-independent?Acoustic environment - noise, competing speakers, channel conditions (microphone, phone line, ...)

Page 40: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Conhecimento linguísticoConhecimento linguístico One could construct a speech recognizer using

linguistic knowledgeAcoustic phonetic rules to relate spectrogram representations of sounds to phonemesBase pronunciations of words stored in a dictionaryMorphological rules to construct inflected formsGrammatical rules to model syntaxSemantic and pragmatic constraints

Very difficult to take account of the variability of spoken language with such approaches

Page 41: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Machine LearningMachine Learning Intense effort needed to derive and encode linguistic

rules that cover all the languageSpeech has a high degree of variability (speaker, pronunciation, spontaneity, ...)Difficult to write a grammar for spoken language - many people rarely speak grammaticallyData-driven approachConstruct simple models of speech which can be earned from large amounts of data (thousands of hours of speech recordings)

Page 42: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Solução: Métodos EstatísticosSolução: Métodos Estatísticos

Redes Bayesianas Cadeias de Markov

Page 43: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

MúsicaMúsica

O que é MIR?Born ca. 1960’s in IR researchMajor recent growth precipitated by advent of networked digital music collectionsInformed by multiple disciplines andliteratures

Page 44: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

DEfinindo MIRDEfinindo MIR Music Information Retrieval (MIR) is the process of

searching for, and finding, music objects, or parts of music objects, via a query framed musically and/or in musical terms

Music Objects: Scores, Parts, Recordings (WAV, MP3, etc.), etc.

Musically framed query: Singing, Humming, Keyboard, Notation-based, MIDI file, Sound file, etc.

Musical terms: Genre, Style, Tempo, etc.

Page 45: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Porquê MIR é complexo?Porquê MIR é complexo?

Page 46: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

MultifacetedMultifaceted

Page 47: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista
Page 48: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista
Page 49: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista
Page 50: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista
Page 51: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista
Page 52: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista
Page 53: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista
Page 54: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista
Page 55: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista
Page 56: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista
Page 57: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista
Page 58: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista
Page 59: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista
Page 60: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista
Page 61: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

O que é Oracle interMediaO que é Oracle interMedia

Produto que estende o Oracle9iAdiciona características multimídiaResponsável por gerenciar, armazenar e recuperar imagens, áudio, vídeo e textointerMedia Text– Serviço de procura em documentos

Oracle Visual Information Retrieval (VIR)– Recuperação baseada em conteúdo

Page 62: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

O que é Oracle interMediaO que é Oracle interMedia

Tanto dados multimídia quanto dados tradicionais são suportados pelo banco de dados

Dados multimídia podem ser:Compartilhados por múltiplas aplicaçõesGerenciados sob controle da tecnologia relacionalOferecidos em um servidor que suporta milhares de usuários

Page 63: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

interMedia Áudio, Imagem e VídeointerMedia Áudio, Imagem e Vídeo

O Oracle interMedia pode armazenar:Binary Large Objects (BLOBs) – localmente no banco de dadosFile-Based Large objects (BFILEs) – arquivos do sistema operacional, externos ao BDURLs – armazenadas em um servidor HTTPDados de áudio e vídeo streaming – armazenados em servidores especializados

Page 64: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Orientado a ObjetosOrientado a Objetos 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 65: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

ExtensívelExtensível

O interMedia foi programado para ser extensível Tipos de extensões possíveis:

Criar um novo tipo de objeto ou um tipo de objeto composto baseado nos tipos já oferecidosPlugins para outras fontes externas de mídiaRefazer métodos como o setProperties()Suportar novos formatos de áudio, vídeo e imagem

Page 66: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Conceitos de ÁudioConceitos de Áudio

O objeto ORDAudio consiste do campo de dados onde o áudio é armazenado, mais uma série de metadados

O interMedia pode armazenar e recuperar qualquer formato de áudio

Pode extrair automaticamente os metadados para uma série de formatos populares

Page 67: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Metadados de ÁudioMetadados de Áudio

Exemplos de metadados para áudio:FormatosTipos de compressãoNúmero de canaisTaxa de execuçãoTamanho de amostraDuração

Page 68: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Conceitos de VídeoConceitos de Vídeo

O objeto ORDVideo é semelhante ao ORDAudioMudanças apenas nos metadados e nos métodos de determinação automática

Assim como para áudio, o ORDVideo extrai metadados para os formatos mais populares

Armazena e recupera qualquer tipo de vídeo

Page 69: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Metadados de VídeoMetadados de Vídeo Exemplos de metadados de vídeo:

FormatosTipos de compressãoTaxas de frameTamanho de frameResolução de frameTempo de duraçãoNúmero de coresTaxa de transferência

Page 70: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Oracle Visual Information RetrievalOracle Visual Information Retrieval Extensão do Oracle8i destinada a fazer Content-

Based Retrieval e conversão de formatos de imagem

Consiste de um objeto que armazena ou referencia a imagem e métodos que gerenciam e fazem processamentos

As imagens possuem uma série de atributos específicos

Page 71: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Atributos de ImagemAtributos de Imagem

Largura Altura Tamanho Tipo ou formato do arquivo Tipo ou formato de compressão Tipo da imagem (monocromática, colorida, etc.) Tipo MIME

Page 72: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

A classe ORDVirA classe ORDVir

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

Criação de índices para a coluna de imagens da tabelaRecuperação por conteúdo

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

Page 73: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Métodos do ORDVirMétodos do ORDVir

Análise e ComparaçãoAnalyse() – analisa a imagem e gera uma assinatura (atributo signature), usada para a realização de Content-Based RetrievalVIRScore() e VIRSimilar() – comparam assinaturas de duas imagens e determinam se elas são similares

Page 74: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Métodos do ORDVirMétodos do ORDVir

Extração de PropriedadessetProperties() – determina automaticamente as propriedades características da imagemMétodos “get” – retornam alguns atributos individualmente. Ex: getHeight() e getWidth()

Verificação de PropriedadescheckProperties() – verifica se as propriedades armazenadas conferem com a imagem

Page 75: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Métodos do ORDVirMétodos do ORDVir

Modificaçãoprocess() e processCopy() – usados para conversão de formato, compressão e funções de manipulação, como corte da imagem e scaling

Movimentaçãocopy() e processCopy() – copiam imagens em outro objeto ORDVir

Page 76: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Métodos do ORDVirMétodos do ORDVir

Movimentação (cont.)export(), import() e importFrom() – usados para mover imagens entre bancos de dadossetSource() – ajusta ou altera informações sobre imagens armazenadas externamente

ExclusãodeleteContent() – remove os dados do atributo BLOB

Page 77: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Fundamentos de Content-Based RetrievalFundamentos de Content-Based Retrieval

Solução para recuperação em grandes bancos de dados de imagens

Podem ser usados dados inseridos manualmente, mas com a adição e modificação de imagens em um grande banco, a entrada manual de atributos é ruim

Extração automática de características da imagem para procura por comparação

Page 78: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Funcionamento do Content-Based RetrievalFuncionamento do Content-Based Retrieval

Um sistema de Content-Based Retrieval processa as informações contidas em uma imagem e cria uma abstração

Operações de consulta operam nessa abstração, ao invés de operar na imagem

No VIR, essa abstração é a assinatura, sendo armazenada em um vetor

Page 79: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Funcionamento do Content-Based RetrievalFuncionamento do Content-Based Retrieval A assinatura contém informações a respeito dos

seguintes atributos visuais: cor global, cor local, textura e estrutura

As imagens do banco são recuperadas através de uma imagem de comparação

O score é a distância relativa entre as imagensQuanto menor o score, mais semelhantes as imagens

Page 80: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Cor Global e Cor LocalCor Global e Cor Local 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 81: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Cor Global e Cor LocalCor Global e Cor Local Imagens semelhantes pela cor global (score = 0)

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

Page 82: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Textura e Estrutura Textura e Estrutura Imagens semelhantes pela textura (score = 4,1)

Imagens semelhantes pela estrutura (score = 0,61939)

Page 83: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Funcionamento da BuscaFuncionamento da Busca

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 84: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Funcionamento da BuscaFuncionamento da Busca 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

Invertendo-se os pesos de cor global e local:(0,6 x 15 + 0,1 x 90 + 0,2 x 5 + 0,1 x 50) = 24

Page 85: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Exemplos de Código usando Content-Based Retrieval

Exemplos de Código usando Content-Based Retrieval

Criação de uma tabela

CREATE TABLE stockphotos (photo_id NUMBER, photographer VARCHAR2(64), annotation VARCHAR2(255), photo ORDSYS.ORDVir);

Page 86: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Carregando Imagens na Tabela Carregando Imagens na Tabela DECLAREimage ORDSYS.ORDVIR;IdNum NUMBER;ctx RAW(4000) :=NULL;BEGINIdNum := 1;INSERT INTO stockphotos VALUES (IdNum, ’Janice Gray’,’Beach scene, balls on water’,ORDSYS.ORDVIR.init(’FILE’,’ORDVIRDIR’,’virdemo1.dat’));SELECT photo INTO image FROM stockphotos WHERE photo_id = IdNum

FOR UPDATE;image.import(ctx);image.Analyze;UPDATE stockphotos SET photo = image WHERE photo_id = IdNum;COMMIT;END;

Page 87: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Recuperação de uma ImagemRecuperação de uma Imagem

DECLARE

image ORDSYS.ORDVIR;

myid INTEGER :=1;

BEGIN

SELECT photo INTO image FROM stockphotos

WHERE photo_id = myid;

END;

Page 88: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Recuperação de Imagens Usando Imagem de Comparação

Recuperação de Imagens Usando Imagem de Comparação DECLAREthreshold NUMBER;compare_sig RAW(2000);compare_img ORDSYS.ORDVir;photo_id NUMBER;photographer VARCHAR2(64);annotation VARCHAR2(255);photo ORDSYS.ORDVIR; CURSOR getphotos ISSELECT photo_id, photographer, annotation, photo FROM

stockphotos TWHERE ORDSYS.VIRSimilar(T.photo.Signature, compare_sig,’globalcolor="0.2" localcolor="0.3" texture="0.1"structure="0.4"’, threshold)=1 AND photo_id <> 1;

Page 89: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Recuperação de Imagens Usando Imagem de Comparação

Recuperação de Imagens Usando Imagem de ComparaçãoBEGINSELECT s.photo INTO compare_img FROM stockphotos sWHERE photo_id = 1;compare_img.Analyze;compare_sig:= compare_img.signature;threshold := 25;OPEN getphotos;LOOPFETCH getphotos INTO photo_id, photographer, annotation,

photo;EXIT WHEN getphotos%NOTFOUND;-- Nesse ponto exibe-se ou armazena-se os resultadosEND LOOP;CLOSE getphotos;END;

Page 90: Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

Criação de um ÍndiceCriação de um Índice

CREATE INDEX imgindex ON stockphotos(photo.signature)

INDEXTYPE IS ordsys.ordviridx

PARAMETERS(’ORDVIR_DATA_TABLESPACE = tbs_1,ORDVIR_INDEX_TABLESPACE = tbs_2’);