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

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

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

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’);