09.02.2013 Views

Alexsandro de Olinda Nascimento UMA SOLUÇÃO BASEADA NO ...

Alexsandro de Olinda Nascimento UMA SOLUÇÃO BASEADA NO ...

Alexsandro de Olinda Nascimento UMA SOLUÇÃO BASEADA NO ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

UCSAL – UNIVERSIDADE CATÓLICA DO SALVADOR<br />

BACHARELADO EM INFORMÁRTICA<br />

<strong>Alexsandro</strong> <strong>de</strong> <strong>Olinda</strong> <strong>Nascimento</strong><br />

<strong>UMA</strong> <strong>SOLUÇÃO</strong> <strong>BASEADA</strong> <strong>NO</strong> PADRÃO MPEG-7 PARA<br />

A<strong>NO</strong>TAÇÃO DE VÍDEOS UTILIZANDO ONTOLOGIA<br />

Salvador - BA<br />

Dezembro/2007


<strong>Alexsandro</strong> <strong>de</strong> <strong>Olinda</strong> <strong>Nascimento</strong><br />

<strong>UMA</strong> <strong>SOLUÇÃO</strong> <strong>BASEADA</strong> <strong>NO</strong> PADRÃO MPEG-7 PARA<br />

A<strong>NO</strong>TAÇÃO DE VÍDEOS UTILIZANDO ONTOLOGIA<br />

Monografia apresentada por <strong>Alexsandro</strong> <strong>de</strong><br />

<strong>Olinda</strong> <strong>Nascimento</strong> ao Departamento <strong>de</strong><br />

Informática da Universida<strong>de</strong> Católica do<br />

Salvador como requisito parcial para<br />

aprovação na disciplina Projeto Final.<br />

Salvador - BA<br />

Dezembro/2007<br />

Orientador: Prof. Msc.E<strong>de</strong>yson Gomes.


UCSAL – UNIVERSIDADE CATÓLICA DO SALVADOR<br />

BACHARELADO EM INFORMÁRTICA<br />

<strong>UMA</strong> <strong>SOLUÇÃO</strong> <strong>BASEADA</strong> <strong>NO</strong> PADRÃO MPEG-7 PARA<br />

A<strong>NO</strong>TAÇÃO DE VÍDEOS UTILIZANDO ONTOLOGIA<br />

E<strong>de</strong>yson Andra<strong>de</strong> Gomes<br />

Eduardo Manuel <strong>de</strong> Freitas Jorge<br />

Antônio Cláudio Neiva<br />

Salvador - BA<br />

Dezembro/2007


CERTIFICADO<br />

Certifico que a presente memória <strong>UMA</strong> <strong>SOLUÇÃO</strong> <strong>BASEADA</strong> <strong>NO</strong> PADRÃO<br />

MPEG-7 PARA A<strong>NO</strong>TAÇÃO DE VÍDEOS UTILIZANDO ONTOLOGIA, foi<br />

realizada, sob a minha orientação, por <strong>Alexsandro</strong> <strong>de</strong> <strong>Olinda</strong> <strong>Nascimento</strong>,<br />

constituindo o Projeto Final do curso <strong>de</strong> Bacharelado em Informática da<br />

Universida<strong>de</strong> Católica do Salvador – UCSal.<br />

Salvador, 06 <strong>de</strong> Dezembro <strong>de</strong> 2007.<br />

Orientador: _________________________<br />

E<strong>de</strong>yson Andra<strong>de</strong> Gomes<br />

Salvador – BA<br />

Dezembro/2007


AGRADECIMENTOS<br />

Este trabalho culmina em um período <strong>de</strong> alegrias e <strong>de</strong> tristezas, mas também <strong>de</strong> muito<br />

trabalho, <strong>de</strong>dicação e abdicação.<br />

Em primeiro lugar, agra<strong>de</strong>ço a Deus, por tudo. Depois, agra<strong>de</strong>ço à minha mãe, pelo apoio que<br />

sempre me <strong>de</strong>u, pela sua compreensão, pela minha educação, pelos princípios ensinados e<br />

principalmente, pelo seu amor.<br />

Agra<strong>de</strong>ço também ao professor Eduardo Jorge pela oportunida<strong>de</strong> profissional, pelos<br />

ensinamentos e pela preocupação sempre <strong>de</strong>monstrada para com os seus alunos e colegas <strong>de</strong><br />

trabalho.<br />

Agra<strong>de</strong>ço ao meu orientador, professor E<strong>de</strong>yson pelos ensinamentos, pela paciência, pelo<br />

bom humor e pela atenção prestada mesmo em momentos difíceis.<br />

Agra<strong>de</strong>ço também aos outros professores do curso que, <strong>de</strong> alguma forma contribuíram para o<br />

meu crescimento pessoal e profissional.<br />

E por fim, agra<strong>de</strong>ço aos meus amigos <strong>de</strong> turma com os quais passei maior parte do tempo<br />

durante o curso e que espero tê-los como amigos para o resto da vida.


RESUMO<br />

Com o crescente volume <strong>de</strong> ví<strong>de</strong>os disponíveis em formato digital, seja na<br />

Internet, em bases <strong>de</strong> dados pessoais ou corporativas, se fazem cada vez mais necessários<br />

mecanismos para facilitar o gerenciamento, i<strong>de</strong>ntificação, recuperação, filtragem e acesso a<br />

este conteúdo. O padrão MPEG-7 tem como objetivo prover um conjunto <strong>de</strong> ferramentas para<br />

<strong>de</strong>screver este conteúdo com informações que vão <strong>de</strong>s<strong>de</strong> características <strong>de</strong> baixo nível até<br />

informações semânticas <strong>de</strong> alto nível. No entanto, garantir a precisão das <strong>de</strong>scrições criadas<br />

com base nas informações fornecidas pelo usuário não é uma tarefa fácil, principalmente em<br />

ambientes <strong>de</strong> <strong>de</strong>scrição mais genéricos. Com base no estudo realizado sobre as soluções para<br />

anotação <strong>de</strong> ví<strong>de</strong>os, foi i<strong>de</strong>ntificado que estas <strong>de</strong>vem ser especializadas para um domínio<br />

específico e formalizado através <strong>de</strong> uma ontologia. Este trabalho propõe uma ferramenta para<br />

<strong>de</strong>scrição <strong>de</strong> ví<strong>de</strong>os <strong>de</strong> futebol que permitirá que os ví<strong>de</strong>os possam ser <strong>de</strong>scritos através <strong>de</strong><br />

uma ontologia, on<strong>de</strong> estarão <strong>de</strong>finidos os termos que serão utilizados para <strong>de</strong>screver os lances<br />

que po<strong>de</strong>m ocorrer em uma <strong>de</strong>terminada partida <strong>de</strong> futebol. O objetivo principal é validar se a<br />

utilização <strong>de</strong> uma ontologia po<strong>de</strong> aumentar a precisão das <strong>de</strong>scrições textuais em ví<strong>de</strong>os<br />

MPEG-7.<br />

Palavras chave: Marcação, Ví<strong>de</strong>o digital, MPEG-7, Ontologia.


LISTA DE FIGURAS<br />

Figura 3.1 - Escopo do MPEG-7 .............................................................................................................. 24<br />

Figura 3.2 - Principais elementos do MPEG-7 ....................................................................................... 25<br />

Figura 3.3 - Funcionamento do MPEG-7 ............................................................................................... 26<br />

Figura 3.4 - Organização do MPEG-7 Multimedia DSs ........................................................................ 29<br />

Figura 3.5 - A ferramenta IBM Annotation Tool .................................................................................. 33<br />

Figura 3.6 – Funcionamento do Vannotea ……..................................................................................... 35<br />

Figura 4.1 – Mo<strong>de</strong>lo <strong>de</strong> processamento <strong>de</strong> mídia ................................................................................. 39<br />

Figura 4.2 – Arquitetura da solução ...................................................................................................... 42<br />

Figura 4.3 – Diagrama <strong>de</strong> classes .......................................................................................................... 44<br />

Figura 4.4 – Elementos da arquitetura do sistema ................................................................................. 45<br />

Figura 4.5 – Padrão Command aplicado ao projeto .............................................................................. 48<br />

Figura 4.6 – Estrutura resumida do arquivo <strong>de</strong> <strong>de</strong>scrição ..................................................................... 53<br />

Figura 4.7 – O player <strong>de</strong> ví<strong>de</strong>o e as ferramentas <strong>de</strong> marcação .............................................................. 60<br />

Figura 4.8 – Controles <strong>de</strong> execução do ví<strong>de</strong>o ....................................................................................... 60<br />

Figura 4.9 – Painel <strong>de</strong> criação <strong>de</strong> segmentos ........................................................................................ 63<br />

Figura 4.10 – Botão que ativa a exibição da ontologia ......................................................................... 62<br />

Figura 4.11 – Ontologia integrada ao ambiente <strong>de</strong> <strong>de</strong>scrição ............................................................... 62<br />

Figura 4.12 – Lista <strong>de</strong> segmentos cadastrados ...................................................................................... 63<br />

Figura 4.13 – Ferramenta <strong>de</strong> Anotação baseada em texto livre ............................................................ 64<br />

Figura 4.14 – Anotação baseada em texto livre .................................................................................... 66


LISTA DE LISTAGENS<br />

Listagem 4.1 – Código para criação <strong>de</strong> um player ................................................................................. 47<br />

Listagem 4.2 – Utilização do padrão Command .................................................................................... 49<br />

Listagem 4.3 – Código do método iniciar .............................................................................................. 49<br />

Listagem 4.4 – Código para interromper a execução <strong>de</strong> um arquivo <strong>de</strong> ví<strong>de</strong>o ...................................... 50<br />

Listagem 4.5 – Código para recuperação da <strong>de</strong>scrição <strong>de</strong> um ví<strong>de</strong>o ..................................................... 50<br />

Listagem 4.6 – Código para cadastrar um segmento em um ví<strong>de</strong>o ........................................................ 51<br />

Listagem 4.7 – Código para salvar as informações sobre um ví<strong>de</strong>o ...................................................... 51<br />

Listagem 4.8 – Código utilizado para adicionar segmentos ao arquivo <strong>de</strong> <strong>de</strong>scrição ........................... 55<br />

Listagem 4.9 –Arquivo <strong>de</strong> <strong>de</strong>scrição do jogo França x Itália ................................................................ 56<br />

Listagem 4.10 – Código para listar as classes e as proprieda<strong>de</strong>s da ontologia ..................................... 58


API - Application Program Interface<br />

D - Descriptor<br />

DDL - Description Definition Language<br />

DOM - Document Object Mo<strong>de</strong>l<br />

DS - Description Scheme<br />

Fobs4JMF - Ffmpeg OBjectS for JMF<br />

IEC - International Electrotechnical Commission<br />

ISO - International Standards Organization<br />

JDK - Java Development Kit<br />

JDOM – Java Document Object Mo<strong>de</strong>l<br />

JMF - Java Media Framework<br />

MDS - Multimedia Description Schemes<br />

MPEG - Moving Picture Experts Group<br />

OWL – Ontology Web Language<br />

SGBD - Sistema Gerenciador <strong>de</strong> Banco <strong>de</strong> Dados<br />

W3C - World Wi<strong>de</strong> WEB Consortium<br />

XML - eXtensible Markup Language<br />

LISTA DE ABREVIATURAS


SUMÁRIO<br />

1 INTRODUÇÃO..................................................................................................................8<br />

2 GERENCIAMENTO DE VÍDEOS..................................................................................11<br />

2.1 Anotação em ví<strong>de</strong>os......................................................................................................12<br />

2.1.1 Anotações para enriquecimento o conteúdo.................................................................13<br />

2.1.2 Anotações para <strong>de</strong>scrição <strong>de</strong> conteúdo .........................................................................13<br />

Descrição da Semântica do Conteúdo <strong>de</strong> ví<strong>de</strong>os ..........................................................16<br />

3 O PADRÃO ISO/IEC MPEG-7 .......................................................................................20<br />

3.1 Objetivos.......................................................................................................................20<br />

3.2 Escopo do padrão..........................................................................................................23<br />

3.3 Estrutura do padrão MPEG-7 .......................................................................................25<br />

3.3.1 Principais partes............................................................................................................25<br />

3.3.2 Esquemas <strong>de</strong> Descrição Multimídia - Multimedia Description Schemes.....................27<br />

Elementos Básicos (Basic Elements)............................................................................29<br />

Gerenciamento <strong>de</strong> Conteúdo (Content Management) ..................................................30<br />

Navegação e acesso ao conteúdo (Navigation and Access)..........................................30<br />

Organização <strong>de</strong> Conteúdo (Content Organization) ......................................................31<br />

Interação do usuário (User Interaction) .......................................................................31<br />

3.4 Aplicações MPEG-7 .....................................................................................................31<br />

3.4.1 Anvil ............................................................................................................................ 31<br />

3.4.2 IBM Annotation Tool ....................................................................................................32<br />

3.4.3 Coyote Annotation.........................................................................................................33<br />

3.4.4 Vannotea ...................................................................................................................... 33<br />

3.5 Consi<strong>de</strong>rações finais sobre o padrão MPEG-7 .............................................................34<br />

4 A<strong>NO</strong>TAÇÃO DE VÍDEOS DE FUTEBOL COM MPEG-7...........................................36<br />

4.1 Requisitos .....................................................................................................................36<br />

4.2 Ambiente <strong>de</strong> Desenvolvimento.....................................................................................38<br />

4.3 Arquitetura da Solução .................................................................................................40<br />

4.4 Desenvolvimento ..........................................................................................................42<br />

4.4.1 Mo<strong>de</strong>lo <strong>de</strong> classes.........................................................................................................42<br />

4.4.2 Implementação..............................................................................................................44<br />

A Camada <strong>de</strong> Aplicação ...............................................................................................45<br />

O pacote Vi<strong>de</strong>oJMF .................................................................................................45<br />

O pacote ControleMpeg7.........................................................................................49<br />

A Camada <strong>de</strong> Persistência ............................................................................................51<br />

O pacote XML-MPEG7...........................................................................................51<br />

O Esquema <strong>de</strong> Descrição utilizado...............................................................................51<br />

O pacote OWL .........................................................................................................56<br />

A Camada <strong>de</strong> Apresentação..........................................................................................58<br />

O Player <strong>de</strong> ví<strong>de</strong>o e os controles <strong>de</strong> marcação ........................................................58<br />

O Painel <strong>de</strong> Descrição..............................................................................................61<br />

4.5 Avaliação da <strong>SOLUÇÃO</strong> DESENVOLVIDA .................................................................63<br />

5 CONCLUSÃO..................................................................................................................67<br />

REFERÊNCIAS .......................................................................................................................69


1 INTRODUÇÃO<br />

Um imensurável volume <strong>de</strong> dados multimídia, especificamente ví<strong>de</strong>o, está<br />

disponível em formato digital, seja na Internet, em bases <strong>de</strong> dados pessoais ou<br />

corporativas. Entretanto, esse crescente volume <strong>de</strong> informação per<strong>de</strong> valor (e po<strong>de</strong> cair<br />

em <strong>de</strong>suso) se não pu<strong>de</strong>r ser gerenciado, recuperado, acessado e filtrado com facilida<strong>de</strong><br />

(MARTÍNEZ, 2004).<br />

Se comparado a outros objetos multimídia, o ví<strong>de</strong>o é o que apresenta o<br />

conteúdo mais dinâmico. Entretanto, os ví<strong>de</strong>os ainda são vistos e tratados como objetos<br />

ou arquivos <strong>de</strong>ntro dos quais é difícil realizar uma busca.<br />

Localizar um ví<strong>de</strong>o ou trechos <strong>de</strong>ste com base em contexto que <strong>de</strong>screva<br />

semanticamente seu conteúdo não é uma tarefa trivial. A busca mais comum é feita com<br />

base em uma ou mais palavras-chave que <strong>de</strong>screvam o contexto <strong>de</strong> interesse, retornando<br />

todo o ví<strong>de</strong>o. Po<strong>de</strong>-se tomar como exemplo disso o mo<strong>de</strong>lo <strong>de</strong> busca adotado pelos<br />

principais provedores <strong>de</strong> ví<strong>de</strong>o na Internet, como o YouTube 1 e o Yahoo Ví<strong>de</strong>os 2 .<br />

Em 1997 o MPEG (Moving Picture Experts Group) <strong>de</strong>u início à<br />

especificação do MPEG-7, que <strong>de</strong>fine um padrão <strong>de</strong> metadados para <strong>de</strong>screver<br />

características <strong>de</strong> conteúdo multimídia. O comitê MPEG também <strong>de</strong>senvolveu outros<br />

padrões já conhecidos como MPEG-1, MPEG-2 e MPEG-4.<br />

Segundo Martínez (2004), a idéia do padrão é disponibilizar um conjunto <strong>de</strong><br />

ferramentas que permitam a criação <strong>de</strong> <strong>de</strong>scrições textuais para conteúdo multimídia,<br />

em geral, ví<strong>de</strong>o, áudio e imagem. Além <strong>de</strong> permitir ao usuário <strong>de</strong>screver características<br />

<strong>de</strong> alto nível do conteúdo, as ferramentas <strong>de</strong>vem prover meios para navegação, pesquisa<br />

e recuperação do mesmo <strong>de</strong> maneira eficaz.<br />

Após <strong>de</strong>screver o conteúdo é possível recuperar e navegar <strong>de</strong>ntro do mesmo,<br />

tornando possível, por exemplo, visualizar um trecho <strong>de</strong> um ví<strong>de</strong>o on<strong>de</strong> acontece um<br />

<strong>de</strong>terminado evento, como um gol em uma partida <strong>de</strong> futebol ou uma discussão entre os<br />

personagens <strong>de</strong> uma novela. Esse tipo <strong>de</strong> pesquisa em um ambiente como a Internet<br />

1 www.youtube.com<br />

2 www.vi<strong>de</strong>o.yahoo.com<br />

8


ajudaria a reduzir o volume <strong>de</strong> dados transmitido, pois nem sempre haveria a<br />

necessida<strong>de</strong> <strong>de</strong> se transmitir o ví<strong>de</strong>o inteiro.<br />

Apesar <strong>de</strong> enriquecerem semanticamente o conteúdo, as anotações textuais,<br />

quando registradas pelo usuário, estão sujeitas a erros <strong>de</strong> sintaxe e <strong>de</strong> semântica, já que<br />

elas representam apenas compreensão pessoal <strong>de</strong> quem está manipulando o ví<strong>de</strong>o,<br />

po<strong>de</strong>ndo também conter informações imprecisas ou incompletas a respeito do conteúdo<br />

<strong>de</strong>scrito (NETO, 2005; SAIBEL, 2007).<br />

Assim é possível concluir que a inexistência <strong>de</strong> uma formalização para<br />

classificar e <strong>de</strong>screver ví<strong>de</strong>os (ou segmentos <strong>de</strong> ví<strong>de</strong>os) po<strong>de</strong> dificultar seu processo <strong>de</strong><br />

recuperação, fazendo com que este possa retornar resultados irrelevantes. Sendo assim,<br />

faz-se necessária a padronização das informações utilizadas para <strong>de</strong>screver os ví<strong>de</strong>os<br />

(BERTINI, 2005; NETO, 2005).<br />

A imprecisão das anotações po<strong>de</strong> ser reduzida através da <strong>de</strong>finição <strong>de</strong> regras<br />

para se construir as <strong>de</strong>scrições. Assim po<strong>de</strong>-se evitar que existam diferentes <strong>de</strong>scrições<br />

semânticas para o conteúdo <strong>de</strong> um mesmo arquivo <strong>de</strong> ví<strong>de</strong>o ou para segmentos <strong>de</strong>sse.<br />

Para isso, é necessário que as ferramentas <strong>de</strong> anotação sejam mais específicas, isto é,<br />

voltadas para <strong>de</strong>scrição <strong>de</strong> ví<strong>de</strong>os <strong>de</strong> um <strong>de</strong>terminado domínio (SAIBEL, 2007).<br />

Muitos estudos têm sido feitos no intuito <strong>de</strong> solucionar os problemas<br />

relacionados a conceituar uma informação compartilhada e gran<strong>de</strong> parte <strong>de</strong>stes aponta<br />

para a utilização <strong>de</strong> ontologias como uma solução para organização e classificação <strong>de</strong><br />

informações (SANTOS, 2007).<br />

Para Guarino (1998), uma ontologia é uma maneira <strong>de</strong> se <strong>de</strong>screver <strong>de</strong><br />

forma explícita e formal os conceitos e relacionamentos existentes em um domínio <strong>de</strong><br />

interesse. Sendo assim, ela <strong>de</strong>fine um vocabulário <strong>de</strong> termos comum aos indivíduos que<br />

compartilham informações pertencentes a um <strong>de</strong>terminado domínio, incluindo tanto os<br />

conceitos básicos existentes neste quanto as relações entre eles.<br />

O objetivo <strong>de</strong>ste trabalho é o <strong>de</strong>senvolvimento <strong>de</strong> uma solução baseada no<br />

padrão MPEG-7 que utilize uma ontologia para <strong>de</strong>screver e classificar conteúdos <strong>de</strong><br />

ví<strong>de</strong>os digitais, disponibilizando recursos para marcação e <strong>de</strong>scrição <strong>de</strong> segmentos dos<br />

mesmos.<br />

9


Essa solução <strong>de</strong>ve dar suporte à comprovação da hipótese <strong>de</strong> que a<br />

utilização <strong>de</strong> uma ontologia <strong>de</strong>ve aumentar a precisão das <strong>de</strong>scrições <strong>de</strong> ví<strong>de</strong>os. Para<br />

isto, será utilizada uma ontologia – <strong>de</strong>nominada Futologia - para <strong>de</strong>screver conteúdos <strong>de</strong><br />

ví<strong>de</strong>os pertencentes ao domínio <strong>de</strong> futebol, por este ser um tema popular e facilmente<br />

compreendido. A Futologia foi <strong>de</strong>senvolvida pelas alunas Maíra Galindo e Liliane Cruz<br />

da Silva, da UCSAL, em seu projeto <strong>de</strong> conclusão <strong>de</strong> curso, orientado pelo professor<br />

E<strong>de</strong>yson Gomes.<br />

A utilização <strong>de</strong> uma ontologia permitirá <strong>de</strong>terminar previamente os<br />

elementos (termos, ações, eventos, etc.) que po<strong>de</strong>m ser utilizados pelo anotador para<br />

<strong>de</strong>screver o conteúdo <strong>de</strong> ví<strong>de</strong>os <strong>de</strong> partidas <strong>de</strong> futebol, evitando possíveis erros <strong>de</strong><br />

digitação e <strong>de</strong> semântica.<br />

Ressalta-se que o <strong>de</strong>senvolvimento <strong>de</strong> uma ferramenta <strong>de</strong> busca está fora do<br />

escopo do projeto.<br />

O projeto justifica-se pela insipiência das ferramentas que padronizam os<br />

processos <strong>de</strong> <strong>de</strong>scrição e recuperação <strong>de</strong> conteúdo multimídia realmente relevante para<br />

o usuário. Neste âmbito, objetiva-se agregar valor nas pesquisas <strong>de</strong>ssa área.<br />

A avaliação experimental do projeto se dará através da realização <strong>de</strong><br />

comparações qualitativas entre o mo<strong>de</strong>lo <strong>de</strong> anotação convencional e o mo<strong>de</strong>lo baseado<br />

na ontologia <strong>de</strong>finida.<br />

Para cumprir o objetivo proposto, será feito um estudo sobre a especificação<br />

MPEG-7 a fim <strong>de</strong> i<strong>de</strong>ntificar os requisitos que uma aplicação baseada nela <strong>de</strong>ve aten<strong>de</strong>r.<br />

Após este estudo, será feita uma análise sobre as soluções já existentes no mercado.<br />

O trabalho está organizado da seguinte maneira: no capítulo 2 do presente<br />

trabalho são abordados conceitos relacionados ao tema do projeto, como anotação e<br />

<strong>de</strong>scrição do conteúdo <strong>de</strong> ví<strong>de</strong>os digitais. O capítulo 3 apresenta a especificação MPEG-<br />

7. Já o capítulo 4 apresenta a solução proposta nesse trabalho. Segue-o o capítulo 5 com<br />

a conclusão do trabalho e as indicações <strong>de</strong> projetos futuros.<br />

10


2 GERENCIAMENTO DE VÍDEOS<br />

É cada vez maior a quantida<strong>de</strong> ví<strong>de</strong>os disponíveis em formato digital, seja<br />

na Internet, ou em bases <strong>de</strong> dados pessoais. Como estes são armazenados em arquivos,<br />

o crescimento contínuo <strong>de</strong>sse volume <strong>de</strong> dados dificulta as tarefas <strong>de</strong> gerenciamento,<br />

i<strong>de</strong>ntificação e recuperação dos mesmos.<br />

O <strong>de</strong>senvolvimento <strong>de</strong> sistemas para gerenciamento <strong>de</strong> objetos multimídia,<br />

em especial ví<strong>de</strong>os, é um dos <strong>de</strong>safios atuais na área da computação. Apesar da gran<strong>de</strong><br />

quantida<strong>de</strong> <strong>de</strong> informação e semântica associada ao seu conteúdo, o ví<strong>de</strong>o ainda é<br />

tratado como um objeto <strong>de</strong>ntro do qual não é possível realizar buscas (SAIBEL, 2007).<br />

Para Neto (2005), um dos <strong>de</strong>safios encontrados nesta área é mo<strong>de</strong>lar um<br />

ví<strong>de</strong>o que possa ser in<strong>de</strong>xado com base no seu conteúdo, permitindo o acesso a esse<br />

mesmo conteúdo através <strong>de</strong> buscas, consultas ou navegação.<br />

Segundo Saibel (2007), um sistema gerenciador <strong>de</strong> ví<strong>de</strong>os <strong>de</strong>ve conter, pelo<br />

menos, componentes que permitam:<br />

• Visualização, anotação (<strong>de</strong>scrição) e in<strong>de</strong>xação <strong>de</strong> ví<strong>de</strong>os: <strong>de</strong>vem prover<br />

funcionalida<strong>de</strong>s para realização <strong>de</strong> marcações no ví<strong>de</strong>o, <strong>de</strong>scrição da estrutura<br />

do mesmo, além <strong>de</strong> recuperação <strong>de</strong> segmentos ou quadros-chave, entre outras.<br />

Algumas <strong>de</strong>ssas funcionalida<strong>de</strong>s <strong>de</strong>pen<strong>de</strong>m da intervenção do usuário, outras<br />

não.<br />

• Recuperação <strong>de</strong> ví<strong>de</strong>os: <strong>de</strong>vem permitir a análise dos ví<strong>de</strong>os, através da<br />

realização <strong>de</strong> buscas textuais no conteúdo dos mesmos. Os ví<strong>de</strong>os recuperados<br />

po<strong>de</strong>m ser apresentados ao usuário <strong>de</strong> diferentes formas, como através <strong>de</strong><br />

listagem <strong>de</strong> cenas, ícones, entre outros.<br />

• Apresentação e distribuição <strong>de</strong> ví<strong>de</strong>os: contemplam as etapas <strong>de</strong> <strong>de</strong>codificação e<br />

apresentação do conteúdo ao usuário.<br />

Cada um <strong>de</strong>sses componentes po<strong>de</strong> ser <strong>de</strong>senvolvido <strong>de</strong> forma in<strong>de</strong>pen<strong>de</strong>nte<br />

dos outros. No entanto, é fácil perceber a <strong>de</strong>pendência existente entre os componentes<br />

11


esponsáveis pela recuperação e apresentação do conteúdo para com os componentes<br />

responsáveis pela segmentação e anotação do mesmo.<br />

2.1 Anotação em ví<strong>de</strong>os<br />

A anotação já tem uma longa tradição em documentos impressos e vem<br />

sendo adotada também em documentos eletrônicos como texto, imagens, ví<strong>de</strong>os, etc..<br />

Em se tratando <strong>de</strong> ví<strong>de</strong>os, a anotação é uma forma <strong>de</strong> <strong>de</strong>screver o conteúdo, e<br />

conseqüentemente facilitar uma posterior recuperação e compreensão do mesmo<br />

(SILVA, 2005).<br />

A utilização <strong>de</strong> anotações em ví<strong>de</strong>os digitais tem como objetivos principais<br />

facilitar o entendimento, permitir a in<strong>de</strong>xação <strong>de</strong> um ví<strong>de</strong>o, utilizando informações a<br />

respeito do seu conteúdo, e prover meios para acesso a esse mesmo conteúdo através <strong>de</strong><br />

buscas, consultas ou navegação.<br />

Para Dutra (2004), a utilização <strong>de</strong> ví<strong>de</strong>os in<strong>de</strong>xados apresenta muitas<br />

vantagens ao usuário, principalmente no âmbito educacional, pois a navegação no seu<br />

conteúdo é facilitada, já que permite o acesso direto a <strong>de</strong>terminados trechos do ví<strong>de</strong>o.<br />

As informações a respeito <strong>de</strong> um ví<strong>de</strong>o po<strong>de</strong>m ser extraídas a partir das suas<br />

características visuais (cores, tamanho, textura etc.), do áudio associado ao mesmo e a<br />

partir da semântica <strong>de</strong> seu conteúdo. Dado que a extração automática da semântica do<br />

conteúdo <strong>de</strong> um ví<strong>de</strong>o ainda é um problema em aberto, a <strong>de</strong>scrição do conteúdo <strong>de</strong> um<br />

ví<strong>de</strong>o (ou <strong>de</strong> partes <strong>de</strong>sse) é normalmente feita <strong>de</strong> forma manual, através <strong>de</strong> anotações<br />

textuais (NETO, 2004).<br />

Como gran<strong>de</strong> parte das soluções para anotação <strong>de</strong> informações digitais é<br />

implementada através da associação <strong>de</strong> metadados ao conteúdo das mesmas, muitos<br />

autores associam a anotação <strong>de</strong> objetos multimídia à anotação do conteúdo através <strong>de</strong><br />

metadados. Saibel (2007) separa as anotações <strong>de</strong> ví<strong>de</strong>os em dois tipos: O primeiro<br />

refere-se às anotações que enriquecem o conteúdo dos ví<strong>de</strong>os, já o segundo está<br />

relacionado às anotações para <strong>de</strong>scrição do conteúdo através da associação <strong>de</strong><br />

metadados ao mesmo.<br />

12


2.1.1 Anotações para enriquecimento o conteúdo<br />

As anotações para enriquecimento <strong>de</strong> conteúdo permitem que o usuário<br />

insira outros objetos visuais no ví<strong>de</strong>o original. O objetivo principal é facilitar a<br />

compreensão do conteúdo e compartilhar conhecimento, já que as anotações criadas<br />

também passam a fazer parte do conteúdo e estarão visíveis para outros usuários.<br />

Geralmente são fornecidas ao usuário ferramentas que permitem a adição <strong>de</strong><br />

textos, ícones, e outros elementos gráficos ao ví<strong>de</strong>o. Sendo assim, o usuário po<strong>de</strong><br />

salientar as partes mais importantes do ví<strong>de</strong>o ou adicionar notas utilizando os<br />

elementos disponíveis. As anotações ainda po<strong>de</strong>m ser feitas <strong>de</strong> forma colaborativa,<br />

facilitando a troca <strong>de</strong> conhecimento entre os anotadores, como a solução proposta por<br />

Schroeter (2004).<br />

Entre as principais características relacionadas à anotação para<br />

enriquecimento <strong>de</strong> conteúdo estão:<br />

• São voltadas para o consumo humano, facilitam o entendimento do conteúdo,<br />

permitindo que os usuários ressaltem trechos relevantes do ví<strong>de</strong>o, contribuindo<br />

para a disseminação do conhecimento (SAIBEL, 2007).<br />

• A eficiência <strong>de</strong>sse tipo <strong>de</strong> anotação está fortemente ligada à qualida<strong>de</strong> do<br />

conjunto <strong>de</strong> ferramentas disponibilizado pela aplicação utilizada.<br />

• Por facilitar o entendimento do conteúdo, esse tipo <strong>de</strong> anotação é amplamente<br />

utilizado em ví<strong>de</strong>os utilizados para fins educacionais (SAIBEL, 2007).<br />

2.1.2 Anotações para <strong>de</strong>scrição <strong>de</strong> conteúdo<br />

Gran<strong>de</strong> parte das soluções para organização, i<strong>de</strong>ntificação, <strong>de</strong>scrição,<br />

recuperação e in<strong>de</strong>xação <strong>de</strong> ví<strong>de</strong>os é implementada a partir da utilização <strong>de</strong> metadados<br />

(CHELLA, 2004).<br />

Metadados são dados que <strong>de</strong>screvem outros dados, a <strong>de</strong>finição mais<br />

encontrada é a que afirma que eles representam "dados sobre dados" (CERQUEIRA,<br />

13


2004). Borbinha (2002), <strong>de</strong>fine metadado como uma informação estruturada que<br />

resume, enriquece e complementa o objeto referenciado, contribuindo para um<br />

potencial incremento da informação <strong>de</strong>ste.<br />

Os metadados utilizados na <strong>de</strong>scrição <strong>de</strong> um ví<strong>de</strong>o po<strong>de</strong>m conter diversos<br />

tipos <strong>de</strong> informação a respeito <strong>de</strong>ste. Como estas informações nem sempre têm uma<br />

relação direta com o conteúdo do ví<strong>de</strong>o é possível separar as informações contidas<br />

nesses metadados em dois tipos: informações genéricas e informações específicas.<br />

As informações genéricas são utilizadas para <strong>de</strong>screver o ví<strong>de</strong>o como um<br />

todo, e não o seu conteúdo. Contém informações que estão presentes em qualquer<br />

arquivo <strong>de</strong> ví<strong>de</strong>o, in<strong>de</strong>pen<strong>de</strong>ntemente do seu conteúdo. Exemplos <strong>de</strong>ssas informações<br />

são o nome do autor, data <strong>de</strong> criação, duração, formato, tamanho etc. Estas informações<br />

po<strong>de</strong>m ser utilizadas para realização <strong>de</strong> buscas, agrupamentos e filtragens baseadas em<br />

texto (SAIBEL, 2007). Algumas <strong>de</strong>ssas informações po<strong>de</strong>m ser extraídas <strong>de</strong> forma<br />

automática por aplicações específicas, enquanto outras po<strong>de</strong>m <strong>de</strong>pen<strong>de</strong>r da intervenção<br />

do usuário.<br />

Já as informações classificadas como específicas <strong>de</strong>screvem o conteúdo<br />

presente nos ví<strong>de</strong>os. Para Saibel (2007), elas são divididas basicamente em dois tipos:<br />

a. Descritores <strong>de</strong> características do conteúdo: <strong>de</strong>screvem a hierarquia do conteúdo e<br />

características <strong>de</strong> baixo nível, como histograma <strong>de</strong> cores, texturas, formas,<br />

vetores <strong>de</strong> movimento, timbre do áudio, <strong>de</strong>tecção <strong>de</strong> silêncio, etc.. Essas<br />

informações são geralmente obtidas sem a intervenção do usuário.<br />

b. Descritores <strong>de</strong> semântica do conteúdo: permitem que o usuário associe o seu<br />

conhecimento e compreensão ao conteúdo do ví<strong>de</strong>o. É possível relacionar os<br />

componentes visuais presentes no conteúdo, <strong>de</strong>screver ações e eventos<br />

ocorridos.<br />

Segundo Saibel (2007), entre as principais características apresentadas pelas<br />

anotações que <strong>de</strong>screvem o conteúdo estão:<br />

• São inicialmente voltadas para o consumo das máquinas e, portanto, <strong>de</strong>vem ser<br />

processadas antes <strong>de</strong> constituírem informações úteis para o usuário.<br />

14


• São utilizadas como matéria-prima pelos componentes <strong>de</strong> in<strong>de</strong>xação,<br />

recuperação e distribuição <strong>de</strong> conteúdo presentes nos sistemas <strong>de</strong> gerenciamento<br />

<strong>de</strong> ví<strong>de</strong>os.<br />

• As informações <strong>de</strong> nível mais baixo como os <strong>de</strong>scritores <strong>de</strong> característica po<strong>de</strong>m<br />

ser facilmente extraídos <strong>de</strong> forma automática. A extração das características se<br />

dá através do processamento dos pixels e das amostras <strong>de</strong> áudio presentes no<br />

conteúdo.<br />

• A extração <strong>de</strong> <strong>de</strong>scritores <strong>de</strong> semântica sem a intervenção do anotador ainda é<br />

um problema em aberto e não po<strong>de</strong> ser substituída <strong>de</strong> forma eficaz por métodos<br />

totalmente automáticos (NETO, 2005; SAIBEL, 2007).<br />

• Para aumentar a precisão das <strong>de</strong>scrições é necessário que haja um mo<strong>de</strong>lo<br />

preciso e formalizado do domínio a ser <strong>de</strong>scrito. Tal mo<strong>de</strong>lo <strong>de</strong>ve <strong>de</strong>finir os<br />

elementos, os eventos e os relacionamentos que po<strong>de</strong>m existir no domínio em<br />

questão (SAIBEL, 2007).<br />

As anotações criadas para <strong>de</strong>screver o conteúdo do ví<strong>de</strong>o po<strong>de</strong>m ser<br />

associadas ao mesmo basicamente <strong>de</strong> duas maneiras:<br />

a. Inserindo-as no próprio conteúdo do ví<strong>de</strong>o. Na prática essa abordagem é pouco<br />

utilizada, pois exige que o arquivo do ví<strong>de</strong>o seja alterado a cada anotação<br />

realizada. Essa forma <strong>de</strong> associação torna inviável a realização <strong>de</strong> anotações <strong>de</strong><br />

ví<strong>de</strong>o apresentados sob <strong>de</strong>manda, já que o arquivo teria que ser transmitido para<br />

o servidor sempre que uma nova anotação fosse inserida.<br />

b. Inserindo-as em um arquivo binário, XML (eXtensible Markup Language) ou em<br />

algum SGBD (Sistema Gerenciador <strong>de</strong> Banco <strong>de</strong> Dados). Desta forma, as<br />

anotações estarão separadas dos ví<strong>de</strong>os e já não é mais necessário alterar o<br />

arquivo do ví<strong>de</strong>o a cada anotação feita.<br />

A gran<strong>de</strong> maioria das soluções para <strong>de</strong>scrição <strong>de</strong> ví<strong>de</strong>os armazena os<br />

metadados separados do ví<strong>de</strong>o para que as anotações possam ser compartilhadas sem a<br />

necessida<strong>de</strong> <strong>de</strong> muita largura <strong>de</strong> banda já que apenas os arquivos <strong>de</strong> <strong>de</strong>scrição<br />

precisariam ser transmitidos. Entretanto, quando o conteúdo e as <strong>de</strong>scrições estão<br />

15


localizados em arquivos separados são necessários mecanismos que façam a ligação<br />

entre estes. Ainda é preciso implementar mecanismos para sincronização entre as<br />

anotações e os segmentos do conteúdo.<br />

Segundo Neto (2005), as ferramentas para anotação <strong>de</strong> ví<strong>de</strong>os <strong>de</strong>vem<br />

possuir algumas funcionalida<strong>de</strong>s que são relevantes quando as anotações são<br />

armazenadas separadas do conteúdo. Estas funcionalida<strong>de</strong>s incluem:<br />

• Associar anotações aos ví<strong>de</strong>os: A associação <strong>de</strong> anotações ao ví<strong>de</strong>o po<strong>de</strong> tomar<br />

como base o tempo (segundos ou milissegundos), um quadro (frame) do ví<strong>de</strong>o,<br />

ou ainda uma solução que utilize o tempo e um quadro.<br />

• Sincronizar as anotações aos tempos do ví<strong>de</strong>o: As informações referentes às<br />

anotações do ví<strong>de</strong>o <strong>de</strong>vem possuir atributos que permitam i<strong>de</strong>ntificar<br />

unicamente o momento no qual as anotações foram associadas aos ví<strong>de</strong>os.<br />

• Persistir as anotações: Todas as anotações realizadas pelo usuário <strong>de</strong>vem ser<br />

persistidas para permitir pesquisas, consultas ou alterações.<br />

• Navegar no conteúdo anotado: A navegação no conteúdo anotado po<strong>de</strong>rá ser<br />

realizada através <strong>de</strong> diferentes metáforas visuais, como listas, árvores, ícones ou<br />

ainda através <strong>de</strong> consultas (SAIBEL, 2007).<br />

Descrição da Semântica do Conteúdo <strong>de</strong> ví<strong>de</strong>os<br />

A <strong>de</strong>scrição do conteúdo <strong>de</strong> objetos multimídia permite facilitar o seu<br />

entendimento e aumentar a eficiência da busca e recuperação <strong>de</strong>sse conteúdo. Com os<br />

conteúdos <strong>de</strong>scritos, fica mais fácil visualizar as informações mais importantes, buscálas<br />

<strong>de</strong> forma semântica e ir direto ao ponto <strong>de</strong> interesse sem a necessida<strong>de</strong> <strong>de</strong> visualizar<br />

todo o conteúdo (VIEIRA, 2005).<br />

As <strong>de</strong>scrições semânticas do conteúdo <strong>de</strong> ví<strong>de</strong>os (ou <strong>de</strong> objetos multimídia<br />

em geral) po<strong>de</strong>m ser obtidas basicamente <strong>de</strong> três formas (SAIBEL, 2007):<br />

i. Manual: Os elementos (objetos, ações e eventos) presentes no conteúdo são<br />

associados às informações fornecidas pelo anotador. Esses elementos ainda<br />

16


po<strong>de</strong>m ser <strong>de</strong>scritos através da associação <strong>de</strong>stes aos termos <strong>de</strong>finidos por uma<br />

ontologia <strong>de</strong> domínio (BERTINI, 2005).<br />

ii. Automática: A <strong>de</strong>scrição é obtida a partir da extração e processamento dos<br />

padrões e características dos quadros, objetos e das trilhas <strong>de</strong> áudio que<br />

compõem o ví<strong>de</strong>o.<br />

iii. Semi-automática: A <strong>de</strong>scrição é obtida integrando os resultados extraídos pelo<br />

processamento com as informações fornecidas pelo anotador.<br />

Como já foi informado, em função da <strong>de</strong>scrição semântica ainda não ser<br />

realizada <strong>de</strong> forma eficaz por métodos totalmente automáticos, a anotação manual<br />

(<strong>de</strong>pen<strong>de</strong>nte do usuário) ainda é a melhor alternativa para se <strong>de</strong>screver o conteúdo <strong>de</strong><br />

um ví<strong>de</strong>o.<br />

Entretanto, muitos trabalhos relacionados à recuperação <strong>de</strong> objetos<br />

multimídia têm questionado a viabilida<strong>de</strong> das anotações manuais para a <strong>de</strong>scrição<br />

<strong>de</strong>stes. Segundo Saibel (2007), os principais problemas apontados por eles são:<br />

• Exigem esforço do anotador: As anotações manuais geralmente requerem muito<br />

tempo do anotador, e po<strong>de</strong>m se tornar inviáveis quando o número <strong>de</strong> arquivos é<br />

muito gran<strong>de</strong>.<br />

• Po<strong>de</strong>m se tornar subjetivas: As anotações manuais po<strong>de</strong>m se tornar subjetivas, já<br />

que estão sujeitas à percepção e à compreensão do anotador. Assim é possível,<br />

por exemplo, que cada anotador gere diferentes <strong>de</strong>scrições semânticas para uma<br />

mesma cena, consi<strong>de</strong>rando que seria inviável armazenar todas as anotações<br />

criadas por cada anotador.<br />

• Controle <strong>de</strong> vocabulário: A precisão e a correção das anotações são<br />

comprometidas se não houver um controle sobre o vocabulário <strong>de</strong> termos<br />

utilizados na <strong>de</strong>scrição. Po<strong>de</strong>rão existir ví<strong>de</strong>os (ou segmentos <strong>de</strong> ví<strong>de</strong>o) <strong>de</strong>scritos<br />

com padrões <strong>de</strong> anotações diferentes, fazendo com que o anotador precise buscar<br />

o conteúdo <strong>de</strong> diversas formas diferentes.<br />

O primeiro problema apresentado po<strong>de</strong> ser minimizado com a utilização <strong>de</strong><br />

ferramentas mais a<strong>de</strong>quadas para <strong>de</strong>scrição <strong>de</strong> conteúdo e que permitam <strong>de</strong>screver o<br />

17


conteúdo <strong>de</strong> forma colaborativa, como propõe (Schroeter, 2004). É importante ressaltar<br />

que uma interface gráfica bem elaborada e intuitiva também po<strong>de</strong> contribuir para<br />

reduzir do esforço <strong>de</strong>spendido pelo usuário durante o processo <strong>de</strong> anotação. O segundo<br />

problema está relacionado com a percepção e compreensão que cada usuário tem a<br />

respeito do conteúdo.<br />

Já o terceiro problema está relacionado ao modo como cada anotador irá<br />

<strong>de</strong>screver o conteúdo, mais especificamente a quais termos ele utilizará para <strong>de</strong>screver<br />

uma cena <strong>de</strong> um ví<strong>de</strong>o, por exemplo.<br />

Gran<strong>de</strong> parte das soluções para anotação <strong>de</strong> ví<strong>de</strong>os disponíveis é genérica<br />

<strong>de</strong>mais, ou seja, não fazem restrições quanto ao domínio do conteúdo a ser <strong>de</strong>scrito.<br />

Po<strong>de</strong>m-se tomar como exemplos as soluções propostas por Chella (2004) e o Vi<strong>de</strong>o<br />

Annotation Tool 3 . Para Saibel (2007), não existe uma solução para <strong>de</strong>scrição semântica<br />

<strong>de</strong> ví<strong>de</strong>os que atenda perfeitamente a todo tipo <strong>de</strong> situação.<br />

Geralmente as <strong>de</strong>scrições são criadas com base nas informações fornecidas<br />

pelo anotador através da digitação <strong>de</strong> textos <strong>de</strong> tamanho arbitrário. Para Neto (2005),<br />

apesar <strong>de</strong> enriquecerem semanticamente o conteúdo, as anotações baseadas em texto<br />

livre representam apenas a compreensão individual do usuário que está manipulando o<br />

ví<strong>de</strong>o, e logicamente po<strong>de</strong>m conter informações imprecisas ou incompletas.<br />

Para Saibel (2007), as ferramentas <strong>de</strong> anotação <strong>de</strong>vem ser voltadas para<br />

<strong>de</strong>scrição <strong>de</strong> ví<strong>de</strong>os <strong>de</strong> um <strong>de</strong>terminado domínio, o qual <strong>de</strong>ve ser plenamente conhecido<br />

e formalizado através <strong>de</strong> uma ontologia, já que esta fornece uma representação<br />

padronizada, precisa e formal dos elementos (objetos, ações, eventos, relacionamentos,<br />

etc.) existentes no domínio consi<strong>de</strong>rado.<br />

Isso possibilita a construção <strong>de</strong> ferramentas que reduzam a <strong>de</strong>pendência<br />

entre as anotações geradas e o anotador. Consi<strong>de</strong>rando-se um ví<strong>de</strong>o como um conjunto<br />

<strong>de</strong> cenas contendo objetos, ações e relacionamentos entre estes, a semântica <strong>de</strong>ste po<strong>de</strong><br />

ser associada a uma ontologia <strong>de</strong>finida para o domínio ao qual pertence o seu conteúdo,<br />

estabelecendo assim um padrão para se criar <strong>de</strong>scrições (BERTINI, 2005; SAIBEL,<br />

2007).<br />

3 http://<strong>de</strong>wey.at.northwestern.edu/ppad2/documents/help/vi<strong>de</strong>o.html<br />

18


Há várias <strong>de</strong>finições para ontologia na literatura. Segundo Santos (2007), a<br />

ontologia é vista como uma das principais formas <strong>de</strong> se organizar o conteúdo das fontes<br />

<strong>de</strong> informação, dado que ela consiste em um método <strong>de</strong> classificação do conhecimento<br />

com o objetivo <strong>de</strong> i<strong>de</strong>ntificar as relações existentes entre as classes pertencentes a um<br />

dado domínio.<br />

Para Uschold (1999), uma ontologia po<strong>de</strong> assumir diversas formas, mas<br />

<strong>de</strong>ve incluir um vocabulário <strong>de</strong> termos e especificar seus significados. Essa<br />

especificação inclui <strong>de</strong>finições e indica como os conceitos existentes se relacionam<br />

entre si, restringindo as possíveis interpretações sobre estes.<br />

Infere-se que o último problema apontado na anotação <strong>de</strong>pen<strong>de</strong>nte do<br />

usuário po<strong>de</strong> ser minimizado com a utilização <strong>de</strong> uma ontologia do domínio<br />

consi<strong>de</strong>rado. É importante ressaltar que apenas a parte da ontologia relevante para<br />

<strong>de</strong>scrição do conteúdo <strong>de</strong>ve ser incorporada ao ambiente <strong>de</strong> <strong>de</strong>scrição (SAIBEL, 2007).<br />

A utilização <strong>de</strong> uma ontologia para <strong>de</strong>scrição <strong>de</strong> ví<strong>de</strong>os se justifica, pois a<br />

mesma permite formalizar e padronizar os termos que serão utilizados tanto na<br />

<strong>de</strong>scrição quanto na recuperação do conteúdo <strong>de</strong>sses ví<strong>de</strong>os. A ontologia utilizada <strong>de</strong>ve<br />

contemplar os objetos, ações, eventos e relacionamentos que fazem parte do domínio<br />

consi<strong>de</strong>rado e, como toda ontologia, <strong>de</strong>ve fornecer um vocabulário <strong>de</strong> termos e <strong>de</strong>finir<br />

como os seus elementos estão relacionados.<br />

19


3 O PADRÃO ISO/IEC MPEG-7<br />

Como já foi informado, o crescimento do volume <strong>de</strong> dados multimídia<br />

normalmente torna complexas as tarefas <strong>de</strong> gerenciamento, i<strong>de</strong>ntificação, recuperação e,<br />

conseqüentemente, a utilização dos mesmos. E é neste contexto, como uma solução para<br />

os problemas mencionados, que surge o padrão MPEG-7.<br />

Em outubro <strong>de</strong> 1996 o comitê MPEG (Moving Picture Experts Group) <strong>de</strong>u<br />

início à <strong>de</strong>finição da especificação MPEG-7. Este mesmo comitê também <strong>de</strong>senvolveu<br />

outros padrões já conhecidos como MPEG-1, MPEG-2 e MPEG-4 (MARTÍNEZ, 2004).<br />

O padrão MPEG-7 é formalmente conhecido como “Interface <strong>de</strong> Descrição<br />

<strong>de</strong> Conteúdo Multimídia” e, diferentemente dos outros padrões <strong>de</strong>senvolvidos pelo<br />

MPEG, ele não está relacionado a nenhum método <strong>de</strong> compressão <strong>de</strong> conteúdo<br />

multimídia, mas sim com o gerenciamento e i<strong>de</strong>ntificação <strong>de</strong>stes.<br />

No entanto, a norma não <strong>de</strong>ve ser vista apenas como um simples<br />

gerenciador <strong>de</strong> arquivos, pois ela propõe uma forma inovadora para criação <strong>de</strong><br />

<strong>de</strong>scrições <strong>de</strong> conteúdo multimídia. Estas <strong>de</strong>scrições po<strong>de</strong>m ser obtidas com ou sem<br />

intervenção do usuário anotador (SOTT, 2006).<br />

Segundo Martínez (2004), a especificação MPEG-7 preten<strong>de</strong> oferecer um<br />

conjunto <strong>de</strong> ferramentas para <strong>de</strong>scrição e i<strong>de</strong>ntificação <strong>de</strong> conteúdo multimídia, como<br />

ví<strong>de</strong>o, áudio e imagens. Essas ferramentas servem <strong>de</strong> base para a construção <strong>de</strong> um<br />

sistema <strong>de</strong> in<strong>de</strong>xação, que permita ao usuário pesquisar, filtrar e navegar com facilida<strong>de</strong><br />

através do conteúdo in<strong>de</strong>xado.<br />

3.1 Objetivos<br />

O objetivo principal do MPEG-7 é solucionar os problemas relacionados à<br />

gerência <strong>de</strong> conteúdo garantindo a interoperabilida<strong>de</strong> entre as aplicações multimídia<br />

para permitir que estas compartilhem as anotações, pesquisas e filtros (SOTT, 2006).<br />

20


Com o MPEG-7 é possível <strong>de</strong>screver o conteúdo <strong>de</strong> objetos multimídia com<br />

informações <strong>de</strong> alto e baixo nível. Para conteúdo visual, por exemplo, uma abstração <strong>de</strong><br />

baixo nível po<strong>de</strong>ria ser uma <strong>de</strong>scrição relacionada à sua estrutura (formas, cores,<br />

texturas, etc.). Já em uma abstração <strong>de</strong> alto nível a <strong>de</strong>scrição é baseada no seu<br />

significado semântico, como por exemplo: “Nesta cena o jogador X chuta a bola para o<br />

gol”. Outros níveis <strong>de</strong> abstração po<strong>de</strong>m existir a <strong>de</strong>pen<strong>de</strong>r da necessida<strong>de</strong> da aplicação<br />

(MARTÍNEZ, 2004).<br />

É importante ressaltar que a participação do usuário anotador se faz mais<br />

necessária nos níveis <strong>de</strong> abstração mais altos do que nos mais baixos.<br />

Segundo Pereira (2002), os principais elementos do padrão MPEG-7 são:<br />

• Ferramentas <strong>de</strong> Descrição (Description Tools): permitem a criar <strong>de</strong>scrições para<br />

o conteúdo e são <strong>de</strong>finidas na forma <strong>de</strong> <strong>de</strong>scritores (Descriptors - Ds) e<br />

esquemas <strong>de</strong> <strong>de</strong>scrição (Description Schemes - DS). Um <strong>de</strong>scritor representa<br />

uma característica do conteúdo e <strong>de</strong>fine a sintaxe e a semântica para sua<br />

representação. Po<strong>de</strong>m conter informações <strong>de</strong> baixo nível (como a <strong>de</strong>finição <strong>de</strong><br />

cor e textura) e <strong>de</strong> alto nível (título ou autor <strong>de</strong> um ví<strong>de</strong>o). Já um esquema <strong>de</strong><br />

<strong>de</strong>scrição especifica a estrutura e a semântica dos relacionamentos entre seus<br />

componentes, que por sua vez po<strong>de</strong>m ser <strong>de</strong>scritores ou esquemas <strong>de</strong> <strong>de</strong>scrição.<br />

Um exemplo <strong>de</strong> esquema <strong>de</strong> <strong>de</strong>scrição é um ví<strong>de</strong>o <strong>de</strong>scrito como um conjunto <strong>de</strong><br />

cenas, on<strong>de</strong> para cada cena é associada uma <strong>de</strong>scrição textual (ALVES, 2006).<br />

• Linguagem <strong>de</strong> Definição da Descrição (Description Definition Language -<br />

DDL): é uma linguagem que <strong>de</strong>fine a sintaxe das ferramentas <strong>de</strong> <strong>de</strong>scrição. A<br />

DDL permite a extensão e modificação dos esquemas <strong>de</strong> <strong>de</strong>scrição existentes,<br />

criação <strong>de</strong> novos esquemas e, consequentemente, <strong>de</strong>scritores. A linguagem <strong>de</strong><br />

<strong>de</strong>finição <strong>de</strong> <strong>de</strong>scrição foi baseada no XML Schema com o objetivo manter a<br />

interoperabilida<strong>de</strong> entre as aplicações.<br />

• Ferramentas <strong>de</strong> Sistema (System Tools): Ferramentas que permitem<br />

sincronização das <strong>de</strong>scrições com o conteúdo, fornecendo mecanismos eficientes<br />

para transmitir, codificar (nos formato textual ou binário) e armazenar as<br />

<strong>de</strong>scrições. Ainda provê ferramentas para facilitar o gerenciamento do conteúdo<br />

e proteção <strong>de</strong> proprieda<strong>de</strong> intelectual.<br />

21


Resumindo, uma <strong>de</strong>scrição criada através das ferramentas <strong>de</strong> <strong>de</strong>scrição do<br />

MPEG-7 consiste basicamente em um conjunto <strong>de</strong> esquemas <strong>de</strong> <strong>de</strong>scrição e seus<br />

<strong>de</strong>scritores, aos quais são atribuídos valores, que são utilizados para <strong>de</strong>screver o<br />

conteúdo.<br />

incluem:<br />

Segundo Pereira (2002), as <strong>de</strong>scrições <strong>de</strong> conteúdo criadas com MPEG-7<br />

• Informações sobre a criação e produção do conteúdo (criador, título e resumo).<br />

• Informações a respeito da utilização do conteúdo (informações <strong>de</strong> copyright,<br />

histórico <strong>de</strong> utilização).<br />

• Informações relacionadas ao armazenamento, como formato, codificação,<br />

espaço em disco.<br />

• Informações sobre a estrutura da informação nos aspectos espacial, temporal ou<br />

espaço-temporal (cortes na cena, segmentação em regiões, movimentos <strong>de</strong><br />

elementos na cena);<br />

• Informações contendo características <strong>de</strong> baixo nível (cores, texturas, timbres <strong>de</strong><br />

sons, etc.).<br />

• Informação conceitual sobre o conteúdo (eventos, objetos, interações e<br />

relacionamentos entre estes).<br />

• Informações sobre a interação do usuário com o conteúdo (preferências e<br />

histórico <strong>de</strong> utilização).<br />

Após ser gerada, a <strong>de</strong>scrição será associada com o próprio conteúdo,<br />

visando aumentar a eficiência das operações <strong>de</strong> busca e filtragem do conteúdo <strong>de</strong><br />

interesse do usuário. Como foi informado no capítulo 2, seção 2.1.2, essa associação<br />

po<strong>de</strong> ser feita inserindo a <strong>de</strong>scrição no próprio arquivo <strong>de</strong> dados ou em um arquivo<br />

in<strong>de</strong>pen<strong>de</strong>nte. Quando o conteúdo e as <strong>de</strong>scrições estiverem localizados em locais<br />

distintos, são necessários mecanismos que estabeleçam links entre eles.<br />

O MPEG-7 não avalia aplicações, apesar <strong>de</strong>, durante o seu <strong>de</strong>senvolvimento<br />

tenham sido <strong>de</strong>senvolvidas aplicações para enten<strong>de</strong>r os requisitos e avaliar as<br />

22


tecnologias a serem adotadas. O padrão também não está ligado a qualquer aplicação<br />

em particular, pelo contrário, os elementos <strong>de</strong>finidos na sua especificação suportam o<br />

mais largo leque <strong>de</strong> aplicações possível (MARTÍNEZ, 2004; NETO, 2005; SOTT,<br />

2006).<br />

3.2 Escopo do padrão<br />

O padrão está focado unicamente na <strong>de</strong>scrição <strong>de</strong> conteúdos multimídia. A<br />

maneira como as <strong>de</strong>scrições geradas serão utilizadas pelas ferramentas <strong>de</strong> busca está<br />

fora do seu escopo. Também não é feita nenhuma restrição quanto ao modo <strong>de</strong> obtenção<br />

das <strong>de</strong>scrições, po<strong>de</strong>ndo estas serem criadas manualmente ou extraídas<br />

automaticamente.<br />

A figura 3.1 ilustra um diagrama <strong>de</strong> bloco contendo o fluxo básico <strong>de</strong><br />

processamento do MPEG-7 e o seu escopo. O fluxo inclui a análise do conteúdo<br />

(extração das características), a <strong>de</strong>scrição propriamente dita e as operações <strong>de</strong> pesquisa.<br />

Para Martínez (2004), as possibilida<strong>de</strong>s do padrão po<strong>de</strong>riam ser melhor aproveitadas se<br />

as ferramentas <strong>de</strong> extrações automáticas <strong>de</strong> características estivessem mais evoluídas.<br />

Figura 3.1 - Escopo do MPEG-7.<br />

Fonte: (Martínez, 2004).<br />

Como mostra a figura 3.1, todas as ferramentas <strong>de</strong> busca, filtros e aplicações<br />

que possam fazer uso das <strong>de</strong>scrições estão fora do escopo do padrão, promovendo<br />

assim, a concorrência entre os sistemas <strong>de</strong> busca e, consequentemente a melhoria <strong>de</strong>stes.<br />

Na figura 3.2 é exibido o relacionamento entre os principais elementos do<br />

MPEG-7. Segundo Martinez (2004), a DDL possibilita a <strong>de</strong>finição das ferramentas do<br />

23


MPEG-7 e a estruturação dos Ds <strong>de</strong>ntro dos DSs. Através da DDL também é possível<br />

criar novos <strong>de</strong>scritores e esquemas <strong>de</strong> <strong>de</strong>scrição para aplicações específicas.<br />

Figura 3.2 - Principais elementos do MPEG-7<br />

Fonte: (Martínez, 2004).<br />

A figura 3.3 mostra o funcionamento do MPEG-7. As <strong>de</strong>scrições po<strong>de</strong>m ser<br />

obtidas através <strong>de</strong> métodos manuais ou automáticos. Após ser gerada, a <strong>de</strong>scrição do<br />

conteúdo é armazenada ou enviada diretamente ao cliente (no caso <strong>de</strong> transmissões<br />

através <strong>de</strong> re<strong>de</strong>s). Consi<strong>de</strong>rando que as aplicações cliente realizam consultas sobre um<br />

repositório <strong>de</strong> <strong>de</strong>scrições (e recebem os resultados para navegação, manipulação e<br />

recuperação <strong>de</strong> conteúdo), as aplicações servidoras são responsáveis por filtrar e<br />

retornar conteúdos com base no que foi solicitado (MARTÍNEZ, 2004; PIMENTEL<br />

2006).<br />

24


Figura 3.3 - Funcionamento do MPEG-7.<br />

Fonte: (Martínez, 2004).<br />

Como a ênfase do padrão é prover soluções para <strong>de</strong>scrição conteúdos<br />

audiovisuais, qualquer aplicação que faça uso <strong>de</strong> algum tipo <strong>de</strong> conteúdo multimídia<br />

po<strong>de</strong> ser beneficiada com o MPEG-7. Como exemplos <strong>de</strong>ssas aplicações po<strong>de</strong>-se citar:<br />

• Bibliotecas digitais (catálogos <strong>de</strong> ví<strong>de</strong>o, música e imagens, arquivos <strong>de</strong> filmes,<br />

etc.).<br />

• Provedores <strong>de</strong> conteúdo multimídia (Rádio e Canais <strong>de</strong> TV).<br />

• Educação (aplicações <strong>de</strong> e-learning).<br />

• Jornalismo (pesquisa <strong>de</strong> conteúdos como entrevistas, discursos, etc.)<br />

3.3 Estrutura do padrão MPEG-7<br />

3.3.1 Principais partes<br />

O padrão é composto por diversas partes que juntas oferecem um conjunto<br />

<strong>de</strong> ferramentas para <strong>de</strong>scrição <strong>de</strong> conteúdo multimídia audiovisual. A utilização do<br />

padrão torna possível a construção <strong>de</strong> ambientes que permitam gerenciar e i<strong>de</strong>ntificar o<br />

conteúdo armazenado <strong>de</strong> maneira mais eficaz (PEREIRA, 2002; MAGALHÃES, 2002).<br />

25


A especificação engloba diversos aspectos relacionados a conteúdos<br />

multimídia e não e necessário utilizá-la por completo em uma solução para estar em<br />

conformida<strong>de</strong> com ela.<br />

Segundo Martínez (2004), o MPEG-7 é constituído pelas seguintes partes:<br />

1) MPEG-7 Systems: especifica as ferramentas necessárias para preparar as<br />

<strong>de</strong>scrições para transporte, armazenamento e permitir a sua sincronização com o<br />

conteúdo <strong>de</strong>scrito. As <strong>de</strong>scrições po<strong>de</strong>m ser armazenadas em formato binário<br />

(pouco utilizado), conhecido como BiM, ou em forma <strong>de</strong> texto, chamado <strong>de</strong><br />

TeM. O formato textual utiliza um arquivo XML para armazenar as informações.<br />

O formato binário é mais rápido e compacto enquanto o formato textual é<br />

padronizado e também po<strong>de</strong> ser lido por uma pessoa (MAGALHÃES, 2002;<br />

SOTT, 2006).<br />

2) MPEG-7 Description Definition Language - DDL: linguagem que <strong>de</strong>fine a<br />

sintaxe das ferramentas <strong>de</strong> <strong>de</strong>scrição do MPEG-7 e dos novos esquemas <strong>de</strong><br />

<strong>de</strong>scrição que po<strong>de</strong>m ser criados. A DDL é escrita em XML, o que facilita a<br />

interoperabilida<strong>de</strong>. Como o XML não foi inicialmente projetado para <strong>de</strong>scrição<br />

<strong>de</strong> conteúdo multimídia, foi necessário acrescentar algumas extensões à<br />

linguagem.<br />

3) MPEG-7 Visual: é composto pelas ferramentas <strong>de</strong> <strong>de</strong>scrição que lidam somente<br />

com os <strong>de</strong>scritores visuais. Como exemplos <strong>de</strong>sses <strong>de</strong>scritores po<strong>de</strong>m-se citar<br />

características visuais básicas como cores, forma, textura, localização <strong>de</strong> objetos,<br />

reconhecimento <strong>de</strong> face, etc. (MAGALHÃES, 2002).<br />

4) MPEG-7 Audio: em conjunto com a parte Multimedia Description Schemes<br />

fornece ferramentas <strong>de</strong> <strong>de</strong>scrição que lidam somente com a <strong>de</strong>scrição <strong>de</strong><br />

conteúdo auditivo. Especifica um conjunto <strong>de</strong> <strong>de</strong>scritores <strong>de</strong> baixo nível (como<br />

características espectrais e temporais <strong>de</strong> um sinal) e <strong>de</strong> alto nível<br />

(reconhecimento <strong>de</strong> voz, timbre musical e melodias) (MARTÍNEZ, 2004).<br />

5) MPEG-7 Multimedia Description Schemes - MDS: lida com as <strong>de</strong>scrições <strong>de</strong><br />

conteúdo multimídia e especifica Descritores e os Esquemas <strong>de</strong> Descrição<br />

genéricos, ou seja, que não são específicos para áudio nem para ví<strong>de</strong>o. Nesta são<br />

26


consi<strong>de</strong>rados aspectos relacionados ao tempo (segmentação), ferramentas <strong>de</strong><br />

<strong>de</strong>scrição <strong>de</strong> texto, controle <strong>de</strong> vocabulário, etc. Também <strong>de</strong>fine ferramentas<br />

para gerenciamento, organização, navegação, acesso ao conteúdo e interação<br />

com o usuário (MAGALHÃES, 2002; SOTT, 2006).<br />

6) MPEG-7 Reference Software – XM (eXperimentation Mo<strong>de</strong>l): software<br />

experimental que foi <strong>de</strong>senvolvido durante a especificação e implementa<br />

algumas partes relevantes da norma MPEG-7.<br />

7) MPEG-7 Conformance Testing: <strong>de</strong>fine os procedimentos para se testar a<br />

conformida<strong>de</strong> das soluções implementadas com a especificação MPEG-7.<br />

8) MPEG-7 Extraction and use <strong>de</strong>scriptions: relatório técnico que aborda a<br />

extração e a utilização <strong>de</strong> algumas das ferramentas <strong>de</strong> <strong>de</strong>scrição.<br />

9) MPEG-7 Profiles and Levels: fornece orientações perfis <strong>de</strong> <strong>de</strong>scrição<br />

padronizados.<br />

10) MPEG-7 Schema Definition: especifica o esquema utilizado pela DDL.<br />

3.3.2 Esquemas <strong>de</strong> Descrição Multimídia - Multimedia Description<br />

Schemes<br />

Martínez (2004) <strong>de</strong>fine MPEG-7 Multimedia Description Schemes (DSs)<br />

como estruturas <strong>de</strong> metadados para anotação e <strong>de</strong>scrição <strong>de</strong> conteúdo multimídia.<br />

Também são conhecidas como MDS e provêem uma forma padronizada <strong>de</strong> se criar<br />

<strong>de</strong>scrições para conteúdo audiovisual. São contemplados importantes conceitos<br />

relacionados ao conteúdo e seu gerenciamento a fim <strong>de</strong> facilitar a busca, in<strong>de</strong>xação,<br />

filtragem e acesso ao mesmo. Os DS (esquemas <strong>de</strong> <strong>de</strong>scrição) são <strong>de</strong>finidos utilizando a<br />

DDL (Description Definition Language - Linguagem <strong>de</strong> Definição da Descrição), que é<br />

baseada na linguagem XML.<br />

Os <strong>de</strong>scritores (Ds) foram inicialmente <strong>de</strong>stinados a <strong>de</strong>screver características<br />

<strong>de</strong> baixo nível (como cores, textura, sinais <strong>de</strong> áudio, etc.) e alguns atributos do conteúdo<br />

(localização do arquivo, qualida<strong>de</strong>, duração, etc.). As características <strong>de</strong> alto nível<br />

27


(segmentos, eventos, objetos, criação, produção, histórico <strong>de</strong> utilização) são <strong>de</strong>scritas<br />

através dos esquemas <strong>de</strong> <strong>de</strong>scrição (DSs) (MARTÍNEZ 2004; ALVES, 2006).<br />

Os DSs permitem produzir <strong>de</strong>scrições mais complexas, já que integram e<br />

relacionam múltiplos Ds e DSs. No MPEG-7, os DSs são <strong>de</strong>finidos como parte do<br />

domínio multimídia, áudio ou visual. Como informado na seção anterior, os MDS<br />

<strong>de</strong>screvem conteúdos formados pela combinação <strong>de</strong> áudio e ví<strong>de</strong>o, ou até textos. Já os<br />

DSs <strong>de</strong> áudio ou <strong>de</strong> ví<strong>de</strong>o referem-se às proprieda<strong>de</strong>s restritas <strong>de</strong>sse domínio (NETO,<br />

2005).<br />

Organização das ferramentas do MPEG-7 MDS<br />

O MPEG-7 MDS lida com as características genéricas do conteúdo<br />

multimídia. As suas ferramentas <strong>de</strong> <strong>de</strong>scrição estão agrupadas (<strong>de</strong> acordo com a sua<br />

funcionalida<strong>de</strong>) nas seguintes áreas: Elementos Básicos (Basic Elements),<br />

Gerenciamento <strong>de</strong> Conteúdo (Content Management), Navegação (Navigation and<br />

Access), Organização <strong>de</strong> Conteúdo (Content Organization), Interação do usuário (User<br />

Interaction) (MAGALHÃES, 2002). A Figura 3.4 mostra uma visão geral <strong>de</strong> como está<br />

organizado o MPEG-7 Multimedia Description Schemes.<br />

Figura 3.4 - Organização do MPEG-7 Multimedia DSs.<br />

Fonte: (Martínez, 2004).<br />

28


Elementos Básicos (Basic Elements)<br />

Os Elementos Básicos constituem blocos <strong>de</strong> construção fundamentais para a<br />

construção dos esquemas <strong>de</strong> <strong>de</strong>scrição do MPEG-7. Muitos <strong>de</strong>sses elementos básicos<br />

fornecem tipos específicos <strong>de</strong> dados <strong>de</strong> gran<strong>de</strong> importância para a <strong>de</strong>scrição do<br />

conteúdo. Esses tipos <strong>de</strong> dados incluem campos para: <strong>de</strong>finição <strong>de</strong> trechos <strong>de</strong> conteúdo,<br />

lugar, tempo, pessoas, organizações e anotações textuais (MAGALHÃES, 2002).<br />

Dentre os elementos básicos <strong>de</strong>stacam-se as anotações textuais, que são <strong>de</strong><br />

gran<strong>de</strong> importância para a maioria dos DSs. O MPEG-7 <strong>de</strong>fine vários componentes que<br />

po<strong>de</strong>m ser usados para a construção das anotações textuais. Segundo Neto (2005), os<br />

mais importantes são:<br />

• Texto livre (FreeTextAnnotation): componente mais flexível e um dos mais<br />

utilizados. Possibilita a inserção <strong>de</strong> textos sem restrição <strong>de</strong> tamanho. Ainda há a<br />

opção <strong>de</strong> informar o idioma utilizado no texto.<br />

• Anotação estruturada (StructuredAnnotation): estrutura o texto através <strong>de</strong><br />

campos específicos, como: “quem?”, “o quê?”, “quando?”, “on<strong>de</strong>?”, “por que”,<br />

“como” (MARTÍNEZ, 2004).<br />

• Esquemas <strong>de</strong> classificação (ClassificationAnnotation): fornece um conjunto <strong>de</strong><br />

termos que constituem um vocabulário para uma aplicação ou domínio em<br />

particular.<br />

• Termos <strong>de</strong> controle: utilizados para fazer referência às entradas (termos) dos<br />

esquemas <strong>de</strong> classificação.<br />

Outro elemento básico importante é o Temporal Information, que permite<br />

registrar informações com base na <strong>de</strong>composição temporal do conteúdo. Os seus<br />

principais elementos são Media Time Point e o Media Time Duration. Em um ví<strong>de</strong>o (ou<br />

áudio) <strong>de</strong>scrito como um conjunto <strong>de</strong> segmentos, um Time Point representa o momento<br />

(timestamp) <strong>de</strong> início <strong>de</strong> um segmento, enquanto o Time Duration a duração <strong>de</strong>ste.<br />

29


Gerenciamento <strong>de</strong> Conteúdo (Content Management)<br />

Os esquemas <strong>de</strong> <strong>de</strong>scrição para gerenciamento <strong>de</strong> conteúdo permitem<br />

<strong>de</strong>screver informações relacionadas a:<br />

• Criação e produção: contém informações sobre a criação e classificação <strong>de</strong><br />

conteúdos audiovisuais. Descreve o título, autor, local e data <strong>de</strong> criação. A<br />

informação <strong>de</strong> classificação serve para classificar o conteúdo por gênero,<br />

linguagem, assunto, ida<strong>de</strong>, etc..<br />

• Armazenamento: <strong>de</strong>screvem aspectos como codificação, formato e<br />

armazenamento da mídia<br />

• Utilização do conteúdo: contém informações sobre os direitos autorais e <strong>de</strong><br />

utilização do conteúdo.<br />

Navegação e acesso ao conteúdo (Navigation and Access)<br />

MPEG-7 também provê recursos para facilitar a navegação e a recuperação<br />

<strong>de</strong> conteúdo audiovisual. Os principais são:<br />

• Sumários: habilitam a pesquisa, navegação, visualização do conteúdo. São<br />

oferecidos basicamente dois tipos <strong>de</strong> navegação: seqüencial e hierárquica. A<br />

seqüencial consiste em uma seqüência <strong>de</strong> imagens que representam segmentos<br />

no conteúdo (MAGALHÃES, 2002).<br />

• Visões e Partições: exibem diferentes <strong>de</strong>composições dos sinais audiovisuais<br />

no espaço, tempo ou freqüência.<br />

• Variações: relacionam os diferentes programas que controlam o conteúdo<br />

audiovisual (NETO, 2005).<br />

30


Organização <strong>de</strong> Conteúdo (Content Organization)<br />

Define ferramentas para mo<strong>de</strong>lar e organizar conteúdos audiovisuais,<br />

segmentos, eventos e objetos relacionados a estes. Permite que coleções <strong>de</strong> conteúdos<br />

sejam agrupadas com base em proprieda<strong>de</strong>s comuns (MARTÍNEZ, 2004).<br />

Interação do usuário (User Interaction)<br />

Ferramentas que lidam com a interação do usuário, Descrevem suas<br />

preferências relacionadas à navegação e apresentação do conteúdo. Também registram o<br />

histórico <strong>de</strong> utilização do conteúdo, o que é muito útil quando os mesmos são <strong>de</strong>scritos<br />

por mais <strong>de</strong> um usuário (MARTÍNEZ, 2004).<br />

3.4 Aplicações MPEG-7<br />

Durante a pesquisa foi constatado que algumas soluções para <strong>de</strong>scrição <strong>de</strong><br />

ví<strong>de</strong>os com MPEG-7 já estão disponíveis para a utilização. As soluções testadas foram a<br />

Anvil 4 e a IBM Annotation Tool 5 . Dentre as duas soluções testadas, a única que<br />

permitiu a criação <strong>de</strong> anotações foi a IBM Annotation Tool.<br />

3.4.1 Anvil<br />

Anvil é uma ferramenta para anotações <strong>de</strong> ví<strong>de</strong>o <strong>de</strong>senvolvida por Michael<br />

Kipp.<br />

Apesar <strong>de</strong> ser freqüentemente atualizada, a ferramenta apresenta vários<br />

problemas relacionados aos formatos <strong>de</strong> ví<strong>de</strong>o suportados. Durante a sua execução<br />

foram apresentadas várias mensagens <strong>de</strong> erro e na maioria das vezes não foi possível<br />

sequer reproduzir os ví<strong>de</strong>os.<br />

4 http://www.anvil-software.<strong>de</strong><br />

5 http://www.alphaworks.ibm.com/tech/vi<strong>de</strong>oannex<br />

31


3.4.2 IBM Annotation Tool<br />

A ferramenta IBM Annotation Tool é voltada para a realização <strong>de</strong> anotações<br />

manuais, permitindo ao usuário <strong>de</strong>screver cenas com informações sobre pessoas, lugares<br />

e ações (IBM, 2003). A figura 3.5 mostra a principal tela do programa.<br />

Figura 3.5 - A ferramenta IBM Annotation Tool.<br />

A tela do programa é dividida em três partes principais. No canto superior<br />

direito da janela são reproduzidos os ví<strong>de</strong>os, que <strong>de</strong>vem estar no formato MPEG-1 ou<br />

MPEG-2. Quando um arquivo <strong>de</strong> ví<strong>de</strong>o é aberto, o programa automaticamente o divi<strong>de</strong><br />

em cenas, on<strong>de</strong> cada cena contém um número <strong>de</strong> quadros pré-<strong>de</strong>finidos. Estas cenas são<br />

exibidas na parte inferior da tela. Na aba “Shots in the vi<strong>de</strong>o” estão as cenas que foram<br />

<strong>de</strong>finidas e na aba “Frames in the Shot” estão os quadros que compõem a cena<br />

selecionada.<br />

No canto superior esquerdo estão as ferramentas para anotar o ví<strong>de</strong>o. A<br />

anotação é feita selecionando os itens <strong>de</strong> uma lista <strong>de</strong> termos que po<strong>de</strong>m <strong>de</strong>screver<br />

pessoas, lugares, ações e eventos. Logo abaixo se encontra uma caixa <strong>de</strong> texto que po<strong>de</strong><br />

ser utilizada para <strong>de</strong>finição <strong>de</strong> palavras-chave para aquela cena.<br />

32


As anotações são persistidas em arquivos XML <strong>de</strong> acordo com o padrão<br />

MEPG-7. São registradas informações sobre quadros <strong>de</strong> início e fim <strong>de</strong> cada cena, além<br />

das anotações textuais associadas a esta.<br />

A ferramenta foi <strong>de</strong>scontinuada em 2003 e apresenta alguns problemas <strong>de</strong><br />

execução. Como exemplos <strong>de</strong>sses problemas po<strong>de</strong>m-se citar os travamentos ocorridos<br />

durante a segmentação automática do ví<strong>de</strong>o, sobretudo para arquivos gran<strong>de</strong>s e as<br />

constantes mensagens <strong>de</strong> operação ilegal.<br />

3.4.3 Coyote Annotation<br />

O Coyote Annotation é um framework para anotações em ví<strong>de</strong>o digitais<br />

<strong>de</strong>senvolvido por Neto (2005). Segundo o autor, o framework soluciona os problemas<br />

envolvidos na construção <strong>de</strong> aplicações voltadas este domínio do problema.<br />

No entanto, apesar <strong>de</strong> prover as ferramentas necessárias para se criar<br />

anotações <strong>de</strong> ví<strong>de</strong>os, os recursos encontrados não foram suficientes para uma<br />

compreensão mais abrangente da sua utilização.<br />

3.4.4 Vannotea<br />

O Vannotea, <strong>de</strong>senvolvido por Schroeter (2004), também é uma aplicação<br />

voltada para anotação <strong>de</strong> ví<strong>de</strong>os que utiliza o MPEG-7 como padrão <strong>de</strong> metadados. A<br />

principal diferença entre ela e as outras aplicações citadas é o fato <strong>de</strong> ela estar voltada<br />

para a in<strong>de</strong>xação e anotação <strong>de</strong> ví<strong>de</strong>os <strong>de</strong> forma colaborativa. A figura 3.6 exibe o<br />

funcionamento da aplicação.<br />

33


Figura 3.6 – Funcionamento do Vannotea.<br />

Fonte: (Schroeter, 2004).<br />

A figura 3.6 mostra um cenário on<strong>de</strong> os participantes assistem a um ví<strong>de</strong>o,<br />

po<strong>de</strong>ndo também criar, visualizar e compartilhar anotações (SCHROETER, 2004).<br />

3.5 Consi<strong>de</strong>rações finais sobre o padrão MPEG-7<br />

Ao contrário do que o seu nome sugere a norma MPEG-7 não apresenta<br />

mais um novo padrão para compressão <strong>de</strong> conteúdo. O seu objetivo é prover um<br />

conjunto <strong>de</strong> ferramentas para <strong>de</strong>screver este conteúdo com informações que vão <strong>de</strong>s<strong>de</strong><br />

características <strong>de</strong> baixo nível até informações semânticas <strong>de</strong> alto nível. O padrão visa<br />

ainda manter a compatibilida<strong>de</strong> entre as várias aplicações que se utilizem <strong>de</strong>ssas<br />

informações.<br />

A utilização do padrão não dificulta a manipulação do conteúdo pelo<br />

usuário, pois as <strong>de</strong>scrições são armazenadas em arquivos que não são acessados<br />

diretamente pelo usuário. As informações contidas nesses arquivos são gerenciadas pela<br />

aplicação que as criou ou que as utiliza (SOTT, 2006).<br />

Como a especificação do MPEG-7 não restringe a sua utilização a nenhum<br />

tipo <strong>de</strong> aplicação específica, este possui um amplo conjunto <strong>de</strong> <strong>de</strong>scritores e esquemas<br />

<strong>de</strong> <strong>de</strong>scrição. O <strong>de</strong>senvolvimento <strong>de</strong> novas aplicações geralmente requer a utilização <strong>de</strong><br />

apenas um subdomínio do MPEG-7, ou seja, apenas os <strong>de</strong>scritores mais relevantes<br />

34


<strong>de</strong>vem ser utilizados na solução, assim como novos po<strong>de</strong>m ser criados caso seja<br />

necessário (NETO, 2005).<br />

35


4 A<strong>NO</strong>TAÇÃO DE VÍDEOS DE FUTEBOL COM MPEG-7<br />

Este capítulo apresenta o <strong>de</strong>senvolvimento <strong>de</strong> uma solução para anotação <strong>de</strong><br />

ví<strong>de</strong>os <strong>de</strong> futebol baseada na especificação MPEG-7. Serão apresentados <strong>de</strong>talhes sobre<br />

a arquitetura e a implementação da solução.<br />

4.1 Requisitos<br />

A solução proposta <strong>de</strong>ve padronizar o processo <strong>de</strong> <strong>de</strong>scrição <strong>de</strong> ví<strong>de</strong>os <strong>de</strong><br />

partidas <strong>de</strong> futebol através da utilização <strong>de</strong> uma ontologia voltada para este domínio.<br />

Essa <strong>de</strong>ve oferecer as ferramentas básicas para <strong>de</strong>finição, <strong>de</strong>scrição e navegação nos<br />

segmentos cadastrados para um dado arquivo <strong>de</strong> ví<strong>de</strong>o.<br />

Não faz parte do escopo do projeto o <strong>de</strong>senvolvimento <strong>de</strong> uma ontologia,<br />

logo será utilizada será utilizada uma ontologia – <strong>de</strong>nominada Futologia - para<br />

<strong>de</strong>screver conteúdos <strong>de</strong> ví<strong>de</strong>os pertencentes ao domínio <strong>de</strong> futebol.<br />

A Futologia foi <strong>de</strong>senvolvida pelas alunas Maíra Galindo e Liliane Cruz da<br />

Silva, da UCSAL, em seu projeto <strong>de</strong> conclusão <strong>de</strong> curso, orientado pelo professor<br />

E<strong>de</strong>yson Gomes e contempla os principais conceitos e relacionamentos existentes no<br />

domínio do futebol. Este domínio foi escolhido por este ser um tema popular e<br />

facilmente compreendido.<br />

Vale ressaltar a necessida<strong>de</strong> <strong>de</strong> se filtrar a ontologia antes <strong>de</strong> incorporá-la à<br />

solução. O objetivo <strong>de</strong>ssa filtragem é selecionar apenas a parte da ontologia que contém<br />

os elementos relevantes para a <strong>de</strong>scrição dos lances <strong>de</strong> uma <strong>de</strong>terminada partida <strong>de</strong><br />

futebol.<br />

Cada segmento anotado <strong>de</strong>ve estar associado a uma ação ou evento ocorrido<br />

no <strong>de</strong>correr do jogo, sendo estes <strong>de</strong>finidos e formalizados na ontologia usada. Após<br />

marcar (<strong>de</strong>finir momento <strong>de</strong> início e <strong>de</strong> fim) um segmento, o usuário seleciona uma<br />

classe da ontologia para associar a este segmento, para que a <strong>de</strong>scrição seja criada com<br />

base no elemento selecionado.<br />

Com base na pesquisa feita sobre anotações <strong>de</strong> ví<strong>de</strong>os foi i<strong>de</strong>ntificado que o<br />

projeto <strong>de</strong>ve aten<strong>de</strong>r aos seguintes requisitos funcionais:<br />

36


• Criação e edição <strong>de</strong> segmentos: permitir ao usuário criar e editar segmentos em<br />

ví<strong>de</strong>os <strong>de</strong> partidas <strong>de</strong> futebol. Os segmentos <strong>de</strong>vem ser <strong>de</strong>scritos e classificados<br />

<strong>de</strong> maneira padronizada através da utilização <strong>de</strong> uma ontologia voltada para esse<br />

domínio.<br />

• Recuperação e navegação no conteúdo: a ferramenta <strong>de</strong>ve ser capaz <strong>de</strong> ler o<br />

arquivo <strong>de</strong> <strong>de</strong>scrição do ví<strong>de</strong>o e permitir o acesso ao conteúdo <strong>de</strong>scrito. O acesso<br />

<strong>de</strong>verá ser feito através da listagem <strong>de</strong> todos os segmentos anotados. Ao clicar<br />

em um item da lista, o segmento correspon<strong>de</strong>nte a este <strong>de</strong>ve ser reproduzido para<br />

o usuário.<br />

Os requisitos não funcionais da solução são:<br />

• Persistência das anotações: as anotações sobre o ví<strong>de</strong>o <strong>de</strong>vem ser persistidas<br />

em conformida<strong>de</strong> com a especificação do padrão MPEG-7.<br />

• Abstração: escon<strong>de</strong>r a complexida<strong>de</strong> do MPEG-7 <strong>de</strong> forma a não exigir que o<br />

usuário conheça <strong>de</strong>talhes da especificação para realizar as anotações.<br />

• Permitir que a aplicação possa ser utilizada em diversas plataformas.<br />

• Mapeamento e armazenamento das anotações: <strong>de</strong>vem ser <strong>de</strong>senvolvidos<br />

mecanismos para mapear as anotações criadas pelo usuário para a estrutura dos<br />

<strong>de</strong>scritores do MPEG-7.<br />

• Sincronização das anotações o ví<strong>de</strong>o: são necessários mecanismos para<br />

sincronizar o aparecimento das anotações durante a execução do ví<strong>de</strong>o. Essa<br />

sincronização é feita comparando o timestamp corrente no ví<strong>de</strong>o com os<br />

armazenados nas anotações. Assim, caso o tempo corrente do ví<strong>de</strong>o esteja <strong>de</strong>ntro<br />

do intervalo (início e fim) <strong>de</strong>finido por algum segmento, a <strong>de</strong>scrição<br />

correspon<strong>de</strong>nte a este será exibida (como uma legenda) enquanto este ainda<br />

estiver sendo executado (NETO, 2005).<br />

37


4.2 Ambiente <strong>de</strong> Desenvolvimento<br />

A aplicação foi <strong>de</strong>senvolvida sobre a plataforma Java. A portabilida<strong>de</strong><br />

oferecida pela linguagem foi um fator <strong>de</strong>terminante para sua escolha como plataforma<br />

<strong>de</strong> <strong>de</strong>senvolvimento. O ambiente <strong>de</strong> implementação utilizado foi o Eclipse 3.3.0. A<br />

versão do JDK (Java Development Kit) utilizada foi a 5.0. As principais tecnologias<br />

utilizadas foram JMF (Java Media Framework), JDOM (Java-based Document Object<br />

Mo<strong>de</strong>l) e Prefuse.<br />

JMF – Java Media Framework<br />

A reprodução <strong>de</strong> ví<strong>de</strong>os foi possível graças à utilização do JMF (Java Media<br />

Framework). JMF é uma API (Application Program Interface) <strong>de</strong> extensão para o Java<br />

que permite a inclusão e manipulação <strong>de</strong> conteúdo multimídia nas aplicações<br />

<strong>de</strong>senvolvidas nesta plataforma. Através da sua utilização é possível criar aplicativos<br />

Java que reproduzem, editam e capturam diferentes formatos <strong>de</strong> mídia (JMFGUIDE,<br />

1999). A figura 4.1 apresenta o mo<strong>de</strong>lo básico <strong>de</strong> processamento <strong>de</strong> mídia utilizado pelo<br />

JMF.<br />

Figura 4.1 – Mo<strong>de</strong>lo <strong>de</strong> processamento <strong>de</strong> mídia.<br />

Fonte: (JmfGui<strong>de</strong>, 1999).<br />

Como se po<strong>de</strong> observar, o mo<strong>de</strong>lo <strong>de</strong> processamento é dividido em três<br />

etapas: entrada (input), processamento (process) e saída (output). A primeira etapa é a<br />

<strong>de</strong> entrada, on<strong>de</strong> a fonte <strong>de</strong> mídia é especificada. A origem dos dados po<strong>de</strong> ser algum<br />

dispositivo <strong>de</strong> captura como microfones e câmeras, um arquivo armazenado local ou<br />

38


emotamente, ou até fluxos <strong>de</strong> mídia recebidos através da re<strong>de</strong>. Durante a etapa <strong>de</strong><br />

processamento, são realizadas a filtragem e a <strong>de</strong>codificação. Na etapa <strong>de</strong> saída esses<br />

dados po<strong>de</strong>m ser salvos em um arquivo, enviados através da re<strong>de</strong> ou simplesmente<br />

apresentados em algum dispositivo, como tela e alto-falantes.<br />

Apesar <strong>de</strong> totalmente funcional, a API JMF apresentou limitações quanto à<br />

varieda<strong>de</strong> <strong>de</strong> formatos <strong>de</strong> ví<strong>de</strong>o suportados. O problema foi solucionado com a<br />

utilização do Fobs4JMF (Ffmpeg OBjects for JMF), que é um plugin que permite ao<br />

JMF <strong>de</strong>codificar os formatos <strong>de</strong> mídia como: ogg, mp3, m4a, divx, xvid, h264, mov, avi<br />

entre outros.<br />

JDOM - Java- based Document Object Mo<strong>de</strong>l<br />

As operações sobre os arquivos <strong>de</strong> <strong>de</strong>scrição MPEG-7 foram implementadas<br />

utilizando a API JDOM (Java-based Document Object Mo<strong>de</strong>l), que é a implementação<br />

do DOM (Document Object Mo<strong>de</strong>l) para a linguagem Java. O DOM foi <strong>de</strong>senvolvido<br />

pelo W3C (World Wi<strong>de</strong> Web Consortium) e provê uma interface para facilitar a<br />

manipulação e estruturação <strong>de</strong> documentos XML.<br />

Jena<br />

A ontologia utilizada foi <strong>de</strong>finida utilizando a linguagem OWL (Ontology<br />

Web Language) e a sua representação foi baseada no mo<strong>de</strong>lo RDF (Resource<br />

Description Framework), permitindo representar as ontologias através <strong>de</strong> conceitos e<br />

proprieda<strong>de</strong>s que se relacionam <strong>de</strong> acordo com o contexto do domínio representado.<br />

A sua manipulação foi realizada através da utilização do Jena, que é um<br />

framework que permite a criação e manipulação <strong>de</strong> documentos baseados no mo<strong>de</strong>lo<br />

RDF. O framework possui um pacote específico <strong>de</strong>nominado API Jena 2 Ontology,<br />

on<strong>de</strong> são fornecidos vários recursos para manipulação <strong>de</strong> ontologias.<br />

39


Prefuse<br />

A exibição das classes da ontologia foi feita utilizando o projeto Prefuse,<br />

que é uma API criada com o objetivo <strong>de</strong> facilitar a visualização e interação dos dados.<br />

Ela utiliza a API Java 2D e simplifica a representação <strong>de</strong> dados fornecendo várias<br />

formas <strong>de</strong> visualizá-los, como o TREEMAP e o TREEVIEW. O código da API é aberto<br />

e po<strong>de</strong> ser utilizado livremente (OLIVEIRA, 2006).<br />

A forma <strong>de</strong> visualização escolhida para exibir a ontologia foi o<br />

TREEVIEW, que permite a visualização hierárquica das informações, como uma<br />

árvore. Os dados a serem exibidos são passados para o TREEVIEW através <strong>de</strong> um<br />

arquivo XML.<br />

Para que a ontologia pu<strong>de</strong>sse ser carregada e exibida pelo TREEVIEW foi<br />

necessário convertê-la para o formato XML utilizado pelo Prefuse. A conversão foi feita<br />

utilizando outra API, <strong>de</strong>nominada OWL2Prefuse, cujo objetivo é permitir a exibição das<br />

classes das ontologias escritas em OWL (Ontology Web Language) no Prefuse.<br />

4.3 Arquitetura da Solução<br />

Como informado anteriormente no capítulo 2, seção 1, as anotações <strong>de</strong><br />

ví<strong>de</strong>o po<strong>de</strong>m ser classificadas em dois tipos: as anotações que enriquecem o conteúdo<br />

dos ví<strong>de</strong>os e as anotações que <strong>de</strong>screvem esse conteúdo através da utilização <strong>de</strong><br />

metadados.<br />

O tipo <strong>de</strong> anotação utilizado neste projeto é voltado para a <strong>de</strong>scrição <strong>de</strong><br />

conteúdos e o mo<strong>de</strong>lo <strong>de</strong> metadados adotado foi o MPEG-7. A arquitetura da solução<br />

foi <strong>de</strong>finida com base no princípio <strong>de</strong> funcionamento do MPEG-7, que foi ilustrado na<br />

figura 3.3. A figura 4.2 mostra a arquitetura da solução <strong>de</strong>senvolvida.<br />

Esta arquitetura possibilita a marcação e <strong>de</strong>scrição <strong>de</strong> segmentos com as<br />

informações sobre os lances <strong>de</strong> uma partida <strong>de</strong> futebol. As informações sobre o<br />

conteúdo são armazenadas em arquivos XML estruturados conforme a especificação do<br />

MPEG-7.<br />

40


Arquivo <strong>de</strong> ví<strong>de</strong>o<br />

Ferramenta <strong>de</strong> Anotação<br />

Marcação <strong>de</strong> segmentos<br />

Descrição<br />

Associação com elementos<br />

da ontologia<br />

Ontologia<br />

OWL<br />

Descrição semântica<br />

Figura 4.2 – Arquitetura da solução.<br />

Reprodução <strong>de</strong><br />

ví<strong>de</strong>os e<br />

Visualização das<br />

anotações<br />

Carregamento do<br />

arquivo <strong>de</strong> <strong>de</strong>scrição<br />

Arquivo<br />

<strong>de</strong><br />

Descrição<br />

MPEG-7<br />

/ XML<br />

Depois da escolha do arquivo <strong>de</strong> ví<strong>de</strong>o a ser utilizado, inicia-se o processo<br />

<strong>de</strong> extração das informações genéricas. Essas informações não têm uma relação direta<br />

com o conteúdo e estão presentes em qualquer arquivo <strong>de</strong> ví<strong>de</strong>o. Como exemplos <strong>de</strong>ssas<br />

informações po<strong>de</strong>-se citar o nome do autor, data <strong>de</strong> criação, duração, formato, tamanho,<br />

resolução, quantida<strong>de</strong> <strong>de</strong> quadros (frames) etc. Esse processo é realizado <strong>de</strong> forma<br />

automática pela aplicação, e não <strong>de</strong>pen<strong>de</strong> da intervenção do usuário.<br />

Após o término do processo <strong>de</strong> extração <strong>de</strong> informações do arquivo, as<br />

ferramentas <strong>de</strong> anotação são disponibilizadas para o usuário. O processo <strong>de</strong> anotação se<br />

inicia com a marcação do segmento, que é formado por um conjunto <strong>de</strong> quadros<br />

seqüenciais. A marcação consiste em <strong>de</strong>finir os instantes <strong>de</strong> início e fim <strong>de</strong> cada trecho<br />

do ví<strong>de</strong>o.<br />

Com o segmento <strong>de</strong>finido, o usuário <strong>de</strong>ve utilizar as ferramentas <strong>de</strong><br />

<strong>de</strong>scrição para associar uma <strong>de</strong>scrição semântica ao mesmo. Para <strong>de</strong>screver o segmento,<br />

41


o usuário <strong>de</strong>verá navegar através das classes da ontologia, que representam as ações e os<br />

eventos que po<strong>de</strong>m ser utilizados na <strong>de</strong>scrição <strong>de</strong>sse segmento. Após o usuário escolher<br />

a classe que melhor representa o seu entendimento a respeito da cena, esta será <strong>de</strong>scrita<br />

com base no elemento selecionado. A ontologia é carregada a partir <strong>de</strong> um arquivo<br />

OWL e é exibida utilizando a ferramenta <strong>de</strong> visualização TREEVIEW, que é<br />

disponibilizada pelo Prefuse.<br />

Após serem <strong>de</strong>scritos, os segmentos serão apresentados ao usuário através<br />

<strong>de</strong> uma lista, permitindo que este os acesse diretamente. Se o usuário optar por assistir<br />

ao ví<strong>de</strong>o na íntegra, as anotações serão exibidas como uma legenda à medida que os<br />

trechos <strong>de</strong> ví<strong>de</strong>o <strong>de</strong>scritos forem reproduzidos.<br />

4.4 Desenvolvimento<br />

Nesta seção serão apresentados <strong>de</strong>talhes sobre o <strong>de</strong>senvolvimento da<br />

solução proposta nesse trabalho. Para o <strong>de</strong>senvolvimento do projeto, utilizou-se um<br />

processo <strong>de</strong> <strong>de</strong>senvolvimento simplificado, iterativo e incremental. A linguagem <strong>de</strong><br />

mo<strong>de</strong>lagem utilizada foi a UML (Unified Mo<strong>de</strong>ling Language).<br />

4.4.1 Mo<strong>de</strong>lo <strong>de</strong> classes<br />

Nesta seção será apresentado o mo<strong>de</strong>lo <strong>de</strong> classes utilizado no projeto. A<br />

<strong>de</strong>finição <strong>de</strong>sse mo<strong>de</strong>lo tem como objetivo aten<strong>de</strong>r a seus requisitos e representar as<br />

principais abstrações do domínio do problema.<br />

As principais classes i<strong>de</strong>ntificadas na fase <strong>de</strong> projeto são:<br />

• Ví<strong>de</strong>o: Ví<strong>de</strong>o a ser <strong>de</strong>scrito utilizando o sistema.<br />

• Descrição Ví<strong>de</strong>o: Representa o esquema <strong>de</strong> <strong>de</strong>scrição utilizado pelo<br />

sistema.<br />

• Informações Genéricas: Representação das características genéricas<br />

do ví<strong>de</strong>o.<br />

42


• Informações Específicas: Representação das informações<br />

<strong>de</strong>pen<strong>de</strong>ntes do conteúdo do ví<strong>de</strong>o.<br />

• Segmento: Classe que representa um segmento <strong>de</strong> ví<strong>de</strong>o.<br />

• Ação: Representa uma ação realizada por alguma pessoa participante<br />

da partida <strong>de</strong> futebol.<br />

• Pessoa: Representa um participante do jogo.<br />

A figura 4.3 apresenta o diagrama das classes mencionadas e seus<br />

relacionamentos.<br />

Figura 4.3 – Diagrama <strong>de</strong> classes.<br />

43


A classe Vi<strong>de</strong>o representa um ví<strong>de</strong>o escolhido pelo usuário para ser <strong>de</strong>scrito<br />

com a ferramenta. Os seus atributos arquivo e <strong>de</strong>scritor representam o caminho do<br />

arquivo em disco e o arquivo <strong>de</strong> <strong>de</strong>scrição MPEG-7, respectivamente.<br />

Cada ví<strong>de</strong>o tem um único arquivo <strong>de</strong> <strong>de</strong>scrição, que é representado pela<br />

classe DescricaoVi<strong>de</strong>o, que possui quatro atributos: arquivo, informacoesGenericas,<br />

informacoesEspecificas e listaSegmentos. O primeiro diz respeito à localização do<br />

arquivo <strong>de</strong> <strong>de</strong>scrição em disco, o segundo e o terceiro representam as informações<br />

genéricas e as informações específicas respectivamente. Finalmente, o conjunto dos<br />

segmentos do ví<strong>de</strong>o é representado pelo atributo listaSegmentos, que contém uma lista<br />

<strong>de</strong> objetos da classe Segmento, que representa os segmentos cadastrados para um<br />

<strong>de</strong>terminado ví<strong>de</strong>o. Cada Segmento é <strong>de</strong>scrito através <strong>de</strong> uma Ação, que é realizada por<br />

um participante do jogo.<br />

4.4.2 Implementação<br />

Nesta seção serão apresentadas informações sobre a implementação do<br />

sistema. A figura 4.4 apresenta os elementos básicos que compõem a sua arquitetura.<br />

Camada <strong>de</strong> Apresentação/ Interface Gráfica do Usuário<br />

Swing Prefuse - Java 2D<br />

Camada <strong>de</strong> Aplicação<br />

Manipulação <strong>de</strong> ví<strong>de</strong>os - Java Media Framework<br />

Regras <strong>de</strong> negócio<br />

Camada <strong>de</strong> Persistência<br />

Descrição XML/ MPEG-7 - JDOM<br />

Ontologia OWL – OWL2Prefuse/ Jena<br />

Figura 4.4 – Elementos da arquitetura do sistema.<br />

A arquitetura do sistema é composta por vários elementos que estão<br />

distribuídos em 3 camadas. A Camada <strong>de</strong> Apresentação/ Interface é composta por uma<br />

44


interface gráfica que foi implementada utilizando o Java Swing. A exibição e a<br />

navegação na ontologia foram implementadas através da utilização do Prefuse.<br />

A Camada <strong>de</strong> Aplicação é responsável pelo processamento das regras <strong>de</strong><br />

negócio da aplicação, pela gerência do acesso a dados persistidos e por permitir o<br />

controle da execução do ví<strong>de</strong>o através da Interface Gráfica.<br />

Já a Camada <strong>de</strong> Persistência lida diretamente com as operações <strong>de</strong> acesso<br />

ao sistema <strong>de</strong> arquivos. Nesta camada estão as classes que contém os métodos<br />

necessários para manipular os arquivos utilizados pela aplicação.<br />

A Camada <strong>de</strong> Aplicação<br />

Os componentes da Camada <strong>de</strong> Aplicação são responsáveis por executar as<br />

funcionalida<strong>de</strong>s do sistema e concentrar o processamento das regras <strong>de</strong> negócio. A<br />

Camada <strong>de</strong> Aplicação está dividida em 2 pacotes: o pacote Ví<strong>de</strong>oJMF é responsável por<br />

carregar e preparar o ví<strong>de</strong>o para ser reproduzido na Camada <strong>de</strong> Interface. Já o pacote<br />

ControleMpeg7 é responsável por processar as regras <strong>de</strong> negócio e permitir acesso aos<br />

dados gerenciados pela Camada <strong>de</strong> Persistência.<br />

O pacote Vi<strong>de</strong>oJMF<br />

Neste pacote estão concentradas todas as operações realizadas sobre a API<br />

JMF. A principal classe <strong>de</strong>sse pacote é a classe GerentePlayer. Ela contém as rotinas<br />

necessárias para reprodução e controle da execução dos ví<strong>de</strong>os.<br />

Para reproduzir uma mídia utilizando JMF <strong>de</strong>ve-se inicialmente <strong>de</strong>finir uma<br />

fonte <strong>de</strong> dados, como um arquivo <strong>de</strong> ví<strong>de</strong>o. Após o processamento da mídia, os dados<br />

são encaminhados para a saída, que neste caso é a tela.<br />

Na arquitetura do JMF uma fonte <strong>de</strong> mídia é representada pela classe<br />

DataSource, e o componente responsável pelo processamento e reprodução do conteúdo<br />

é representado pela classe Player. A listagem 4.1 mostra um trecho do código da classe<br />

45


GerentePlayer, referente ao método criarPlayer, que é responsável por criar um Player<br />

para um arquivo <strong>de</strong> ví<strong>de</strong>o.<br />

1. public void criarPlayer(String caminhoArquivo) {<br />

2. MediaLocator ml = new MediaLocator("file:"+caminhoArquivo);<br />

3. try {<br />

4. DataSource dataSource = Manager.createDataSource(ml);<br />

5. Player player = Manager.createRealizedPlayer(dataSource);<br />

6. player.addControllerListener(this);<br />

7. } catch (Exception e) {<br />

8. e.printStackTrace();<br />

9. }<br />

10. }<br />

Listagem 4.1 – Código para criação <strong>de</strong> um player.<br />

O método recebe como parâmetro uma String contendo o caminho do<br />

arquivo em disco (como por exemplo: “c:\vi<strong>de</strong>os\vi<strong>de</strong>o1.mpg”). Na linha 2 é criado um<br />

objeto do tipo MediaLocator que representa o local on<strong>de</strong> a mídia se encontra. Já na<br />

linha 2 cria-se um DataSource passando o MediaLocator criado como parâmetro.<br />

Finalmente na linha 5, um é criado um Player, que recebe como parâmetro o<br />

DataSource.<br />

A classe GerentePlayer ainda fornece um conjunto <strong>de</strong> métodos que<br />

permitem controlar a execução do ví<strong>de</strong>o através dos controles fornecidos pela interface<br />

gráfica. A comunicação com a camada <strong>de</strong> interface foi realizada utilizando o padrão <strong>de</strong><br />

projeto Command.<br />

O Command é um padrão comportamental e também é conhecido como<br />

Action ou Transaction (GAMMA, 1994). Através <strong>de</strong>le é possível encapsular operações<br />

em objetos, reduzindo o acoplamento entre as requisições dos clientes e os objetos<br />

responsáveis pela sua execução. A figura 4.5 mostra como esse padrão foi utilizado no<br />

projeto.<br />

46


Figura 4.5 – Padrão Command aplicado ao projeto<br />

A classe abstrata CommandPlayer representa um comando utilizado para<br />

controlar a execução do ví<strong>de</strong>o reproduzido pelo player através do JMF. As classes<br />

CommandPararPlayer, CommandAvancarPlayer, CommandVoltarPlayer e<br />

CommandIniciarPlayer esten<strong>de</strong>m a classe CommandPlayer e representam<br />

respectivamente as ações que permitem parar, avançar, voltar e iniciar a reprodução do<br />

ví<strong>de</strong>o. A listagem 4.2 exibe o código da classe CommandIniciarPlayer.<br />

47


1. public class CommandIniciarPlayer extends CommandPlayer {<br />

2.<br />

3. public CommandIniciarPlayer(PlayerReceiver r) {<br />

4. super(r);<br />

5. }<br />

6.<br />

7. public void execute() {<br />

8. receiver.iniciar();<br />

9. }<br />

10.<br />

11. }<br />

Listagem 4.2 – Utilização do padrão Command.<br />

A classe herda o atributo playerReceiver da sua classe pai, CommandPlayer.<br />

A interface PlayerReceiver representa o objeto responsável pela execução da ação<br />

solicitada. Nesse caso esse objeto é uma instância da classe GerentePlayer, que<br />

implementa a interface PlayerReceiver e é passado como parâmetro no construtor da<br />

classe CommandIniciarPlayer (linha 3).<br />

Na linha 7, está o método execute(), responsável por invocar o método<br />

iniciar(), que está <strong>de</strong>finido na interface PlayerReceiver e implementado na classe<br />

GerentePlayer. A listagem 4.3 mostra como esse método foi implementado.<br />

1. public void iniciar() {<br />

2. if (player != null)<br />

3. if (player.getState() == Player.Started) {<br />

4. player.stop();<br />

5. } else {<br />

6. player.start();<br />

7. }<br />

8. }<br />

Listagem 4.3 – Código do método iniciar( ).<br />

A listagem 4.4 mostra o código do método parar(), da classe<br />

GerentePlayer, que é responsável por interromper a execução <strong>de</strong> um arquivo <strong>de</strong> ví<strong>de</strong>o.<br />

48


Listagem 4.4 – Código para interromper a execução <strong>de</strong> um arquivo <strong>de</strong> ví<strong>de</strong>o.<br />

Como se po<strong>de</strong> observar, na linha 2 é feita uma verificação para saber se o<br />

player foi instanciado e na linha 3 verifica-se se o mesmo está em execução. Na linha 4,<br />

com ambas as condições satisfeitas, o player tem o seu método stop() invocado. Na<br />

linha 5, o método setMediaTime(new Time(0)) do player é invocado para posicioná-lo<br />

no início do ví<strong>de</strong>o.<br />

O pacote ControleMpeg7<br />

1. public void parar() {<br />

2. if (player != null) {<br />

3. if (player.getState() = = Player.Started) {<br />

4. player.stop();<br />

5. player.setMediaTime(new Time(0));<br />

6. }<br />

7. }<br />

8.}<br />

O pacote ControleMpeg7 é responsável pelo processamento das regras <strong>de</strong><br />

negócio e por permitir acesso aos dados gerenciados pelas classes da Camada <strong>de</strong><br />

Persistência. Nele estão concentradas as classes que lidam com o negócio da aplicação.<br />

A principal classe <strong>de</strong>sse pacote é a classe Controle, que fornece os métodos necessários<br />

para criação e remoção <strong>de</strong> segmentos.<br />

A listagem 4.5 exibe o código do método getDescricaoConteudo(), que é<br />

responsável por acessar a Camada <strong>de</strong> Persistência e disponibilizar as informações <strong>de</strong><br />

<strong>de</strong>scrição sobre um ví<strong>de</strong>o.<br />

1. public DescricaoVi<strong>de</strong>o getDescricaoConteudo(Vi<strong>de</strong>o vi<strong>de</strong>o) {<br />

2. try {<br />

3. return Persistencia.getInstancia().getDescricaoConteudo(vi<strong>de</strong>o);<br />

4. } catch (Exception e) {<br />

5. e.printStackTrace();<br />

6. return null;<br />

7. }<br />

8. }<br />

Listagem 4.5 – Código para recuperação da <strong>de</strong>scrição <strong>de</strong> um ví<strong>de</strong>o.<br />

49


Como se po<strong>de</strong> observar, na linha 3 um objeto do tipo DescricaoVi<strong>de</strong>o é<br />

obtido na Camada <strong>de</strong> Persistência e repassado para a classe que fez a requisição.<br />

A listagem 4.6 exibe o código do método adicionarSegmento(Vi<strong>de</strong>o,<br />

Segmento), que é responsável por cadastrar um segmento para um ví<strong>de</strong>o.<br />

1. public void adicionarSegmento(Vi<strong>de</strong>o vi<strong>de</strong>o, Segmento cena) {<br />

2. if (vi<strong>de</strong>o.getDescricaoVi<strong>de</strong>o() != null)<br />

4. vi<strong>de</strong>o.getDescricaoVi<strong>de</strong>o().addSegmento(cena);<br />

5. else {<br />

6. vi<strong>de</strong>o.setDescricaoVi<strong>de</strong>o(new DescricaoVi<strong>de</strong>o());<br />

7. vi<strong>de</strong>o.getDescricaoVi<strong>de</strong>o().addSegmento(cena);<br />

8. }<br />

9. }<br />

Listagem 4.6 – Código para cadastrar um segmento em um ví<strong>de</strong>o.<br />

Na listagem 4.7 está o código do método salvarDescricao(Ví<strong>de</strong>o), que é<br />

responsável por salvar as informações sobre o conteúdo do ví<strong>de</strong>o.<br />

1. public void salvarDescricao(Vi<strong>de</strong>o vi<strong>de</strong>o){<br />

2. try {<br />

3. PersistenciaMpeg7.getInstancia().gravarXML(vi<strong>de</strong>o);<br />

4. } catch (Exception e) {<br />

5. e.printStackTrace();<br />

6. }<br />

7. }<br />

Listagem 4.7 – Código para salvar as informações sobre um ví<strong>de</strong>o.<br />

A Camada <strong>de</strong> Aplicação permite o controle da execução do ví<strong>de</strong>o e processa<br />

as regras inerentes ao negócio provendo um meio <strong>de</strong> acesso à Camada <strong>de</strong> Persistência.<br />

Através <strong>de</strong>la foi possível reduzir o acoplamento entre a Camada <strong>de</strong> Interface e a<br />

Camada <strong>de</strong> Persistência.<br />

50


A Camada <strong>de</strong> Persistência<br />

A Camada <strong>de</strong> Persistência lida diretamente com as operações <strong>de</strong> acesso ao<br />

sistema <strong>de</strong> arquivos. Nesta camada estão as classes responsáveis pelo carregamento das<br />

informações da ontologia OWL e pela persistência das <strong>de</strong>scrições em arquivos<br />

XML/MPEG-7.<br />

A Camada <strong>de</strong> Persistência está dividida em 2 pacotes: o pacote XML-<br />

MPEG7 é responsável pela persistência das anotações. Já o pacote OWL é responsável<br />

por carregar as informações à respeito das classes da ontologia.<br />

O pacote XML-MPEG7<br />

Este pacote é composto pelas classes responsáveis pela criação, leitura e<br />

alteração dos arquivos utilizados para persistir as anotações. Como já foi informado, o<br />

padrão MPEG-7 permite a utilização <strong>de</strong> dois formatos <strong>de</strong> arquivo para armazenar as<br />

<strong>de</strong>scrições: o textual, que é baseado em XML e o formato binário. O formato textual foi<br />

adotado como padrão para a solução <strong>de</strong>vido à flexibilida<strong>de</strong> oferecida pelo XML.<br />

O Esquema <strong>de</strong> Descrição utilizado<br />

O padrão MPEG-7 oferece um gran<strong>de</strong> conjunto <strong>de</strong> ferramentas para<br />

<strong>de</strong>scrição <strong>de</strong> objetos multimídia. Essas ferramentas são <strong>de</strong>finidas na forma <strong>de</strong><br />

<strong>de</strong>scritores (Ds) e esquemas <strong>de</strong> <strong>de</strong>scrição (DSs) e a escolha <strong>de</strong> quais <strong>de</strong>sses elementos<br />

serão utilizados <strong>de</strong>pen<strong>de</strong> da necessida<strong>de</strong> e do objetivo <strong>de</strong> cada aplicação.<br />

Como a solução proposta lida somente com a anotação <strong>de</strong> ví<strong>de</strong>os, apenas a<br />

parte da especificação que contém os elementos (Ds e DSs) referentes à <strong>de</strong>scrição <strong>de</strong><br />

ví<strong>de</strong>os são utilizados. Como os DSs po<strong>de</strong>m ser estendidos, alguns Ds e DSs<br />

(relacionados ao domínio <strong>de</strong> futebol) foram adicionados ao esquema <strong>de</strong> <strong>de</strong>scrição básico<br />

para enriquecer e classificar melhor as anotações criadas.<br />

51


Os principais componentes do esquema <strong>de</strong> <strong>de</strong>scrição utilizado são:<br />

MediaInformation, CreationInformation, TextAnnotation, MatchInformation, e<br />

TemporalDecomposition. Estes elementos, mais especificamente DSs (compostos por<br />

outros DSs e Ds) servem <strong>de</strong> base para a estrutura do arquivo <strong>de</strong> <strong>de</strong>scrição do ví<strong>de</strong>o. Um<br />

resumo <strong>de</strong>ssa estrutura é apresentado na figura 4.6.<br />

Figura 4.6 – Estrutura resumida do arquivo <strong>de</strong> <strong>de</strong>scrição.<br />

O MediaInformation contém as informações gerais sobre a mídia, como<br />

direitos autorais, tamanho e localização do arquivo, formato e codificação. Já o<br />

CreationInformation po<strong>de</strong> trazer informações relacionadas ao conteúdo, como título,<br />

gênero, classificação <strong>de</strong> ida<strong>de</strong>.<br />

O TextAnnotation serve para guardar anotações textuais sobre o ví<strong>de</strong>o. Ele<br />

po<strong>de</strong> <strong>de</strong>screver o ví<strong>de</strong>o como um todo ou po<strong>de</strong> ser associado a algum segmento. O DS<br />

52


MatchInformation foi criado especificamente para essa aplicação e contém informações<br />

sobre a partida, como por exemplo a escalação dos times. O ClassificationAnnotation<br />

foi utilizado para associar um segmento <strong>de</strong> ví<strong>de</strong>o a uma classe <strong>de</strong>finida na ontologia.<br />

Finalmente, o TemporalDecomposition contém as informações dos<br />

segmentos <strong>de</strong>finidos pelo usuário e <strong>de</strong>scritos através da ontologia.<br />

As operações sobre os arquivos <strong>de</strong> <strong>de</strong>scrição são realizadas basicamente por<br />

duas classes: GravadorXML e LeitorXML. A sua implementação utilizou como base a<br />

API JDOM (Java-based Document Object Mo<strong>de</strong>l), que é a implementação do DOM<br />

(Document Object Mo<strong>de</strong>l) para linguagem Java. O DOM foi <strong>de</strong>senvolvido pelo W3C<br />

(World Wi<strong>de</strong> Web Consortium) e fornece uma interface para facilitar a manipulação e<br />

estruturação <strong>de</strong> documentos XML.<br />

Os principais elementos <strong>de</strong>finidos na arquitetura do JDOM são:<br />

• Document: Classe que representa o documento XML como um todo,<br />

po<strong>de</strong>ndo este conter comentários e outros elementos.<br />

• Element: Representa um elemento XML <strong>de</strong>finido <strong>de</strong>ntro <strong>de</strong> um<br />

Document. Ele po<strong>de</strong> conter outros elementos, atributos e<br />

comentários.<br />

• Attribute: Representa um atributo que po<strong>de</strong> ser atribuído a um<br />

elemento <strong>de</strong>finido no documento.<br />

• Comment: Classe que representa um comentário em XML.<br />

A listagem 4.8 exibe parte do código utilizado no método criarXML da<br />

classe GravadorXML para adicionar segmentos ao arquivo <strong>de</strong> <strong>de</strong>scrição.<br />

53


1. List listaSegmentos = <strong>de</strong>scricaoVi<strong>de</strong>o.getListaSegmentos();<br />

2. for (Segmento segmento : listaSegmentos) {<br />

3. Element vi<strong>de</strong>oSegment_ = new Element("Vi<strong>de</strong>oSegment");<br />

4. vi<strong>de</strong>oSegment_.setAttribute("id", segmento.getId());<br />

5. vi<strong>de</strong>oSegment_.setAttribute("type", "scene");<br />

6.<br />

7. Element segTextAnnotation_ = new Element("TextAnnotation");<br />

8. Element segFreeTextAnnotation_ = new Element("FreeTextAnnotation");<br />

9. segFreeTextAnnotation_.setText(segmento.getDescricaoLance());<br />

10. segTextAnnotation_.addContent(segFreeTextAnnotation_);<br />

11.<br />

12. Element segClassificationAnnotation_ = new Element("ClassificationAnnotation");<br />

13. segClassificationAnnotation_.setText(segmento.getClassificacao());<br />

14. segTextAnnotation_.addContent(segClassificationAnnotation_);<br />

15.<br />

16. Element segComentAnnotation_ = new Element("ComentAnnotation");<br />

17. segComentAnnotation_.setText(segmento.getComentario());<br />

18. segTextAnnotation_.addContent(segComentAnnotation_);<br />

19.<br />

20. Element mediaTime_ = new Element("MediaTime");<br />

21. Element mediaTimePoint_ = new Element("MediaTimePoint");<br />

22. mediaTimePoint_.setText(""+segmento.getInicio());<br />

23. Element mediaDuration_ = new Element("MediaDuration");<br />

24. mediaDuration_.setText(""+(segmento.getFim()-segmento.getInicio()));<br />

25.<br />

26. mediaTime_.addContent(mediaTimePoint_);<br />

27. mediaTime_.addContent(mediaDuration_);<br />

28. vi<strong>de</strong>oSegment_.addContent(segTextAnnotation_);<br />

29. vi<strong>de</strong>oSegment_.addContent(mediaTime_);<br />

30.<br />

31. temporalDecomposition_.addContent(vi<strong>de</strong>oSegment_);<br />

32. }<br />

Listagem 4.8 – Código utilizado para adicionar segmentos ao arquivo <strong>de</strong> <strong>de</strong>scrição.<br />

Na linha 3, um elemento XML é criado com o nome Vi<strong>de</strong>oSegment. Este<br />

elemento representa cada segmento cadastrado pelo usuário. Nas linhas 4 e 5 são<br />

<strong>de</strong>finidos os valores dos atributos id e type respectivamente.<br />

Na linha 7, um novo elemento é criado com o nome TextAnnotation. Nele<br />

estão as informações sobre o conteúdo do segmento. O TextAnnotation está dividido em<br />

3 elementos: FreeTextAnnotation (para texto livre), ClassificationAnnotation (para<br />

classificação com alguma das classes da ontologia) e ComentAnnotation (para<br />

comentários). Na linha 20, o elemento MediaTime é criado para guardar as informações<br />

sobre os instantes <strong>de</strong> início e fim do segmento. O MediaTimePoint representa o instante<br />

<strong>de</strong> início e o MediaDuration a duração <strong>de</strong>sse segmento.<br />

54


A listagem 4.9 apresenta parte <strong>de</strong> um arquivo <strong>de</strong> <strong>de</strong>scrição <strong>de</strong> um ví<strong>de</strong>o<br />

anotado com a ferramenta <strong>de</strong>senvolvida. O ví<strong>de</strong>o utilizado neste exemplo foi o da<br />

partida final da Copa do Mundo <strong>de</strong> 2006, disputada entre França e Itália.<br />

1. <br />

2. <br />

3. <br />

4. <br />

5. <br />

6. C:/vi<strong>de</strong>os/franca_x_italia.mpg <br />

7. <br />

8. <br />

9.<br />

10. <br />

11. <br />

12.<br />

13. <br />

14. <br />

15. Final da copa <strong>de</strong> 2006<br />

16. <br />

17. <br />

18. <br />

19. Futebol<br />

20. <br />

21. <br />

22. <br />

23.<br />

24. <br />

25. <br />

26. <br />

27. Pênalti<br />

28. Cobrança <strong>de</strong> Pênalti <br />

29. <br />

30. <br />

31. 13<br />

32. 10<br />

33. <br />

34. <br />

35. <br />

36. <br />

Listagem 4.9 –Arquivo <strong>de</strong> <strong>de</strong>scrição do jogo França x Itália.<br />

Na linha 2 está o elemento MediaInformation, que contém informações sobre<br />

o arquivo <strong>de</strong> mídia utilizado. Na linha 6, o <strong>de</strong>scritor MediaUri, que representa a<br />

localização da mídia é <strong>de</strong>finido como C:/vi<strong>de</strong>os/franca_x_italia.mpg. Da linha 13 até a<br />

22 estão as informações relacionadas à criação do conteúdo. Na linha 15 está o elemento<br />

Title que contém o título dado ao ví<strong>de</strong>o.<br />

55


Entre as linhas 24 e 35 estão as informações <strong>de</strong> um segmento <strong>de</strong> ví<strong>de</strong>o. Na<br />

linha 25 está o seu i<strong>de</strong>ntificador, que é <strong>de</strong>finido com base na or<strong>de</strong>m <strong>de</strong> criação do<br />

segmento. Na linha 27 está o campo utilizado para anotações com texto livre e na linha<br />

28 está a classificação <strong>de</strong>sse segmento na ontologia. Já na linha 31 é <strong>de</strong>finido o<br />

momento <strong>de</strong> início do segmento <strong>de</strong>ntro do ví<strong>de</strong>o e na linha 32 a sua duração.<br />

O pacote OWL<br />

Neste pacote está a classe LeitorOWL, responsável pela leitura das<br />

informações da ontologia. As operações sobre o arquivo OWL foram implementadas<br />

utilizando o framework Jena.<br />

As principais classes <strong>de</strong>finidas no framework para manipulação <strong>de</strong><br />

ontologias são:<br />

• OntResource: superclasse <strong>de</strong> qualquer classe do framework que<br />

represente algum recurso da ontologia.<br />

• OntClass: representa uma classe da ontologia.<br />

• OntMo<strong>de</strong>l: representa um mo<strong>de</strong>lo <strong>de</strong> ontologia, oferecendo os<br />

recursos necessário para acessar os elementos presentes em uma<br />

ontologia, como classes e proprieda<strong>de</strong>s.<br />

• OntProperty: representa proprieda<strong>de</strong>s da ontologia e das suas<br />

classes.<br />

A listagem 4.10 exibe o código da classe LeitorOWL referente ao método<br />

mostrarClasses(), que percorre a ontologia e exibe as suas classes e suas proprieda<strong>de</strong>s.<br />

56


1. public void mostrarClasses() {<br />

2. OntMo<strong>de</strong>l ontologia = Mo<strong>de</strong>lFactory.createOntologyMo<strong>de</strong>l();<br />

3. ontologia.read("file:owl//Futologia21nov.owl");<br />

4.<br />

5. Exten<strong>de</strong>dIterator classes = ontologia.listClasses();<br />

6. while (classes.hasNext()) {<br />

7. OntClass ontClass = (OntClass) classes.next();<br />

8. System.out.println(ontClass.getLocalName());<br />

9.<br />

10. Exten<strong>de</strong>dIterator prop = ontClass.listDeclaredProperties(false);<br />

11. while (prop.hasNext()) {<br />

12. OntProperty property = (OntProperty) prop.next();<br />

13. System.out.println(property.getLocalName());<br />

14. }<br />

15. }<br />

16. }<br />

Listagem 4.10 – Código para listar as classes da ontologia e suas proprieda<strong>de</strong>s.<br />

Na linha 2 um objeto do tipo OntMo<strong>de</strong>l é criado utilizando o método<br />

createOntologyMo<strong>de</strong>l(), da classe Mo<strong>de</strong>lFactory. Na linha 3 este é utilizado para<br />

carregar a ontologia <strong>de</strong> futebol, que está <strong>de</strong>finida no arquivo “Futologia21nov.owl”.<br />

Já na linha 5 um objeto do tipo Exten<strong>de</strong>dIterator é utilizado para iterar a<br />

lista das classes <strong>de</strong>finidas na ontologia carregada. Na linha 7 um objeto da classe<br />

OntClass (que representa as classes da ontologia) é criado. O método<br />

OntClass.getLocalName() é utilizado para recuperar o nome dado à classe durante a<br />

<strong>de</strong>finição da ontologia.<br />

Na linha 10, um outro objeto do tipo Exten<strong>de</strong>dIterator é utilizado para iterar<br />

lista das proprieda<strong>de</strong>s <strong>de</strong>finidas para a classe corrente. Essa lista é obtida através do<br />

método OntClass.getListDeclaredProperties(boolean), que recebe um parâmetro<br />

booleano para indicar se as proprieda<strong>de</strong>s herdadas <strong>de</strong> uma superclasse também serão<br />

incluídas na lista.<br />

Através do Jena também é possível recuperar outras informações sobre as<br />

classes da ontologia, como os comentários associados a estas e informações sobre a<br />

hierarquia <strong>de</strong> classes.<br />

57


A Camada <strong>de</strong> Apresentação<br />

A Camada <strong>de</strong> Apresentação é composta por uma interface gráfica que<br />

permite ao usuário reproduzir os ví<strong>de</strong>os, marcar e <strong>de</strong>screver os lances da partida que<br />

julgar mais interessante. A sua implementação foi baseada no Java Swing e é divida em<br />

quatro elementos básicos:<br />

• Player <strong>de</strong> ví<strong>de</strong>o: responsável pela reprodução do ví<strong>de</strong>o e oferece os controles<br />

básicos encontrados na maioria dos reprodutores <strong>de</strong> mídia. Nele também estão as<br />

ferramentas para marcação e ajuste dos segmentos anotados.<br />

• Lista <strong>de</strong> segmentos: responsável pela exibição dos segmentos cadastrados pelo<br />

usuário em forma <strong>de</strong> lista.<br />

• Painel <strong>de</strong> <strong>de</strong>scrição: permite que o usuário navegue através da ontologia para<br />

<strong>de</strong>screver os segmentos marcados.<br />

• Painel <strong>de</strong> informações sobre a partida: oferece campos para que o usuário<br />

informe os dados relacionados à partida, como data <strong>de</strong> realização, nomes <strong>de</strong><br />

equipes, jogadores, entre outros.<br />

O Player <strong>de</strong> ví<strong>de</strong>o e os controles <strong>de</strong> marcação<br />

O Player <strong>de</strong> Ví<strong>de</strong>o permite a reprodução e anotação do conteúdo,<br />

fornecendo os controles básicos para controlar a execução do ví<strong>de</strong>o e realizar a<br />

marcação das cenas. Após pausar a execução do ví<strong>de</strong>o, os momentos <strong>de</strong> início e <strong>de</strong> fim<br />

<strong>de</strong> um segmento po<strong>de</strong>m ser facilmente ajustados. A quantida<strong>de</strong> <strong>de</strong> frames que serão<br />

avançados ou retrocedidos é <strong>de</strong>terminada pelo usuário, como mostra a figura 4.7.<br />

58


Figura 4.7 – O player <strong>de</strong> ví<strong>de</strong>o e as ferramentas <strong>de</strong> marcação.<br />

Abaixo do painel <strong>de</strong> reprodução do ví<strong>de</strong>o estão a barra <strong>de</strong> progresso e o<br />

controle <strong>de</strong> volume. Logo abaixo, estão os controles <strong>de</strong> execução do ví<strong>de</strong>o. A figura 4.8<br />

mostra os controles <strong>de</strong> execução explicando a função <strong>de</strong> cada um dos botões.<br />

Figura 4.8 – Controles <strong>de</strong> execução do ví<strong>de</strong>o.<br />

59


Como mostra a figura 4.8, a ferramenta oferece os controles básicos<br />

presentes na maioria dos tocadores <strong>de</strong> ví<strong>de</strong>o. Abaixo dos controles <strong>de</strong> execução há uma<br />

área reservada para exibir a <strong>de</strong>scrição associada ao trecho <strong>de</strong> ví<strong>de</strong>o que está sendo<br />

reproduzido (na Figura 4.7, <strong>de</strong>stacada como “Área reservada para exibição das<br />

<strong>de</strong>scrições”).<br />

No painel inferior estão as ferramentas utilizadas para <strong>de</strong>finição <strong>de</strong> novos<br />

segmentos. Os botões “Início” e “Fim” servem para marcar os momentos <strong>de</strong> início e fim<br />

<strong>de</strong> um segmento, respectivamente. Este painel é exibido na figura 4.9.<br />

Figura 4.9 – Painel <strong>de</strong> criação <strong>de</strong> segmentos.<br />

Para iniciar a marcação <strong>de</strong> um novo segmento o usuário <strong>de</strong>ve clicar no botão<br />

“Início”. A execução do ví<strong>de</strong>o será pausada até que o usuário clique novamente no<br />

botão para continuar a reprodução do mesmo. Para marcar o instante final <strong>de</strong> um<br />

segmento o usuário <strong>de</strong>ve clicar no botão “Fim”. A execução será pausada novamente<br />

para que o usuário possa ajustar o segmento, caso julgue necessário.<br />

O ajuste dos segmentos é feito utilizando os botões responsáveis por<br />

avançar e retroce<strong>de</strong>r quadros no ví<strong>de</strong>o, como foi explicado na figura 4.8. Como mostra a<br />

figura 4.9, a quantida<strong>de</strong> <strong>de</strong> quadros a serem ajustados é configurável (com valores que<br />

variam <strong>de</strong> 1 a 10).<br />

60


O Painel <strong>de</strong> Descrição<br />

Após marcar o segmento (<strong>de</strong>finir instantes <strong>de</strong> início e fim) é necessário criar<br />

uma <strong>de</strong>scrição para o mesmo. Como cada segmento contém um lance ocorrido na<br />

partida, a sua <strong>de</strong>scrição po<strong>de</strong> ser obtida navegando nas classes da ontologia referentes<br />

aos lances <strong>de</strong> uma partida.<br />

Para que a ontologia seja exibida o usuário <strong>de</strong>ve clicar no botão <strong>de</strong><br />

<strong>de</strong>scrição, exibido na figura 4.10.<br />

Figura 4.10 – Botão que ativa a exibição da ontologia.<br />

Após o usuário clicar no botão, a ontologia será exibida do lado esquerdo da<br />

tela. A figura 4.11 mostra a ontologia já integrada ao ambiente <strong>de</strong> <strong>de</strong>scrição.<br />

Figura 4.11 – Ontologia integrada ao ambiente <strong>de</strong> <strong>de</strong>scrição.<br />

61


Na ontologia estão todas as classes que po<strong>de</strong>m ser utilizadas para <strong>de</strong>screver<br />

um segmento. As classes representam as ações que po<strong>de</strong>m ser realizadas e eventos que<br />

po<strong>de</strong>m ocorrer durante uma partida <strong>de</strong> futebol e estão organizadas hierarquicamente.<br />

São contempladas as ações relacionadas aos jogadores e aos membros da comissão <strong>de</strong><br />

arbitragem. No caso da figura 4.11 a ação associada ao segmento foi “Cobrança <strong>de</strong><br />

Escanteio”, que na ontologia é uma subclasse da classe “Chutar a Bola”.<br />

A ferramenta <strong>de</strong> visualização escolhida para exibir a ontologia foi o<br />

TREEVIEW, que permite a visualização hierárquica das informações, como uma<br />

árvore.<br />

Após o usuário selecionar uma classe para associar ao segmento, este será<br />

classificado <strong>de</strong> acordo com a classe escolhida e será adicionado à lista dos segmentos<br />

cadastrados, como mostra a figura 4.12.<br />

Figura 4.12 – Lista <strong>de</strong> segmentos cadastrados.<br />

Os segmentos são listados na or<strong>de</strong>m em que são cadastrados e po<strong>de</strong>m ser<br />

acessados diretamente pelo usuário. Através da lista o usuário po<strong>de</strong> reproduzir, alterar e<br />

excluir segmentos. A lista exibida na figura 4.12 mostra os segmentos cadastrados para<br />

a partida entre França e Itália.<br />

62


Para reproduzir um segmento o usuário <strong>de</strong>ve clicar na foto correspon<strong>de</strong>nte<br />

ao <strong>de</strong>sejado. Os botões localizados acima da listagem servem para salvar e excluir os<br />

segmentos cadastrados, respectivamente.<br />

4.5 AVALIAÇÃO DA <strong>SOLUÇÃO</strong> DESENVOLVIDA<br />

A solução proposta no projeto foi avaliada através da realização <strong>de</strong><br />

comparações qualitativas entre as <strong>de</strong>scrições geradas por uma ferramenta <strong>de</strong> anotação<br />

baseada em texto livre e as <strong>de</strong>scrições geradas com a ferramenta proposta, que é<br />

baseada em uma ontologia voltada para o domínio <strong>de</strong> futebol.<br />

Para realizar a comparação, foi <strong>de</strong>senvolvida outra ferramenta para anotação<br />

<strong>de</strong> ví<strong>de</strong>os, on<strong>de</strong> as <strong>de</strong>scrições são criadas a partir das informações fornecidas<br />

diretamente pelo usuário. Esta ferramenta é exibida na figura 4.13.<br />

Figura 4.13 – Ferramenta <strong>de</strong> anotação baseada em texto livre.<br />

63


Como mostra a figura 4.13, a ferramenta oferece os mesmos controles para<br />

<strong>de</strong>finição dos segmentos apresentados na solução proposta, diferindo apenas na forma<br />

como as <strong>de</strong>scrições associadas aos segmentos são obtidas.<br />

A avaliação realizada consi<strong>de</strong>rou os seguintes aspectos:<br />

• Controle <strong>de</strong> vocabulário;<br />

• Precisão das <strong>de</strong>scrições;<br />

• Completeza das <strong>de</strong>scrições.<br />

Na ferramenta <strong>de</strong> anotação baseada em texto livre, o usuário tem a liberda<strong>de</strong><br />

<strong>de</strong> <strong>de</strong>screver o conteúdo com qualquer tipo <strong>de</strong> informação, não havendo restrições<br />

quanto aos termos que po<strong>de</strong>m ser utilizados para <strong>de</strong>screver uma cena no ví<strong>de</strong>o.<br />

A partir dos conceitos formalizados pela ontologia, foi possível <strong>de</strong>finir um<br />

vocabulário <strong>de</strong> termos comuns à maioria das pessoas que estão habituadas a assistir<br />

partidas <strong>de</strong> futebol. Através da navegação nas classes da ontologia, o usuário seleciona<br />

um dos termos disponíveis para associar ao segmento que <strong>de</strong>seja <strong>de</strong>screver.<br />

Estes mesmos termos também po<strong>de</strong>m ser utilizados futuramente por<br />

ferramentas <strong>de</strong> recuperação <strong>de</strong> conteúdo. Por exemplo, se um segmento foi classificado<br />

com a classe “Defesa”, este também po<strong>de</strong>ria ser recuperado por uma ferramenta que<br />

permita a recuperação <strong>de</strong> segmentos <strong>de</strong> ví<strong>de</strong>o através da navegação na ontologia.<br />

Logicamente, a ferramenta <strong>de</strong> recuperação <strong>de</strong>ve levar em conta as relações<br />

<strong>de</strong> herança existentes entre as classes da ontologia, permitindo que um segmento<br />

<strong>de</strong>scrito com a classe “Defesa” seja recuperado através da classe “Ação do Goleiro”,<br />

dado que na ontologia usada essa classe é subclasse <strong>de</strong>sta. A ontologia encontra-se no<br />

Apêndice A.<br />

Na solução proposta, a imprecisão das anotações foi reduzida, através da<br />

redução da quantida<strong>de</strong> <strong>de</strong> texto registrada diretamente pelo usuário. A figura 4.14<br />

mostra uma <strong>de</strong>scrição realizada através da ferramenta <strong>de</strong> anotação baseada em texto<br />

livre utilizada nos testes.<br />

64


Figura 4.14 – Anotação baseada em texto livre.<br />

As anotações baseadas em texto livre po<strong>de</strong>m ser semanticamente mais ricas<br />

e, conseqüentemente mais completas, já que permitem ao usuário expressar melhor o<br />

seu entendimento a respeito do conteúdo. Mas isso também as torna mais sujeitas a<br />

erros.<br />

Como mostra a figura 4.14, a <strong>de</strong>scrição gerada com texto livre po<strong>de</strong> conter<br />

mais <strong>de</strong>talhes a respeito do conteúdo apresentado, porém erros <strong>de</strong> sintaxe e semântica<br />

po<strong>de</strong>m acontecer com mais freqüência, pois as <strong>de</strong>scrições são mais <strong>de</strong>pen<strong>de</strong>ntes das<br />

informações fornecidas pelo usuário do que na ferramenta proposta.<br />

65


Problemas comuns em Recuperação <strong>de</strong> Informação, como sinonímia e<br />

polissemia, são barreiras <strong>de</strong> representação textual que interferem diretamente em buscas<br />

com texto livre usando-se palavras-chave, como no problema anteriormente <strong>de</strong>scrito.<br />

(YATES, 1999).<br />

A <strong>de</strong>finição prévia dos termos a serem utilizados na <strong>de</strong>scrição dos<br />

segmentos po<strong>de</strong> facilitar a recuperação <strong>de</strong>stes pelo usuário, já que a busca <strong>de</strong>stes<br />

também po<strong>de</strong> ser realizada utilizando estes mesmos termos. No caso do exemplo<br />

anterior, seria difícil recuperar o segmento se a busca fosse realizada através da frase<br />

“Cobrança <strong>de</strong> Pênalti”.<br />

A padronização das informações utilizadas para <strong>de</strong>screver os ví<strong>de</strong>os evita<br />

que o usuário tenha que realizar a sua busca <strong>de</strong> diferentes formas, ou seja, utilizando<br />

termos diferentes até que a pesquisa retorne algum resultado realmente relevante para<br />

ele.<br />

66


5 CONCLUSÃO<br />

Os resultados obtidos com a solução permitiram concluir que é possível<br />

padronizar as informações utilizadas para <strong>de</strong>screver a semântica <strong>de</strong> ví<strong>de</strong>os através da<br />

utilização <strong>de</strong> uma ontologia.<br />

A ontologia utilizada pela solução foi <strong>de</strong>senvolvida para o domínio do<br />

futebol e nela estavam previamente <strong>de</strong>finidos os termos a serem utilizados na <strong>de</strong>scrição<br />

dos lances ocorridos em uma partida.<br />

Através da solução <strong>de</strong>senvolvida é possível dividir o ví<strong>de</strong>o em cenas, que<br />

po<strong>de</strong>m ser classificadas através das classes existentes na ontologia. Uma solução <strong>de</strong>ste<br />

tipo se mostra bastante útil para pessoas que lidam com este tipo <strong>de</strong> ví<strong>de</strong>o e necessitam<br />

realizar buscas nos seus conteúdos com freqüência.<br />

Sendo assim, a solução po<strong>de</strong> ser facilmente utilizada por usuários<br />

domésticos, por jornalistas, ou qualquer outro indivíduo que <strong>de</strong>seje acessar o conteúdo<br />

presente nos ví<strong>de</strong>os <strong>de</strong> futebol com mais facilida<strong>de</strong>.<br />

Apesar da solução apresentada neste trabalho ser voltada para o domínio <strong>de</strong><br />

futebol, nada impe<strong>de</strong> que a solução <strong>de</strong>senvolvida possa ser utilizada para <strong>de</strong>scrição <strong>de</strong><br />

outros tipos <strong>de</strong> ví<strong>de</strong>o. Para isso é necessário alterar a ontologia utilizada por outra e<br />

realizar alterações na estrutura do arquivo <strong>de</strong> <strong>de</strong>scrição, se necessário.<br />

O objetivo <strong>de</strong> padronizar as <strong>de</strong>scrições foi alcançado, entretanto, notou-se<br />

que a solução <strong>de</strong>senvolvida ainda apresenta uma limitação relacionada à semântica das<br />

<strong>de</strong>scrições.<br />

O problema observado está relacionado ao fato <strong>de</strong> que as <strong>de</strong>scrições geradas<br />

pela solução proposta, apesar <strong>de</strong> serem precisas e padronizadas, não são<br />

semanticamente tão ricas e completas quanto as <strong>de</strong>scrições geradas pelas ferramentas <strong>de</strong><br />

anotação baseadas em texto livre. Sendo assim, outros trabalhos ainda são necessários<br />

para melhorar a solução proposta.<br />

Como sugestão <strong>de</strong> melhoria para a solução estaria o enriquecimento da<br />

semântica das <strong>de</strong>scrições, através da criação <strong>de</strong> campos que permitam ao usuário<br />

informar qual o indivíduo protagoniza o lance <strong>de</strong>scrito nos segmentos. Para evitar erros<br />

67


<strong>de</strong> digitação, as informações sobre os times, jogadores e os outros indivíduos que<br />

participam da partida po<strong>de</strong>riam estar previamente armazenados em uma base <strong>de</strong> dados.<br />

Uma outra sugestão é a exibição dos relacionamentos existentes entre as<br />

classes que representam as ações e as classes que representam os participantes do jogo.<br />

A última sugestão seria o <strong>de</strong>senvolvimento <strong>de</strong> uma ferramenta para<br />

recuperação <strong>de</strong> segmentos <strong>de</strong> ví<strong>de</strong>os, on<strong>de</strong> a busca seria realizada com base nos<br />

elementos especificados pela ontologia.<br />

68


REFERÊNCIAS<br />

ALVES, Luis G. P.; Kulesza, Raoni; Silva, Fábio S.; Jucá, Paulyne, Bressan, Graça.<br />

2006. Análise Comparativa <strong>de</strong> Metadados em TV Digital. Disponível na Internet.<br />

Acessado em 07 <strong>de</strong> outubro <strong>de</strong> 2007.<br />

BERTINI, Marco; Cucchiara, R.; Del Bimbo, A. e Torniai, C. 2005. Ontologies<br />

Enriched with Visual Information for Vi<strong>de</strong>o Annotation. Disponível na Internet.<br />

http://www.acemedia.org/ESWC2005_MSW/papers/ESWC_2005_MMSW_Bertini_On<br />

tologies_Enriched.pdf. Acessado em: 25 <strong>de</strong> novembro <strong>de</strong>. 2007.<br />

BORBINHA, José. Metadados. 2002. Disponível na Internet. http://metadados.bn.pt.<br />

Acessado em 25 <strong>de</strong> novembro <strong>de</strong> 2007.<br />

CERQUEIRA, Andréa. Introdução a Metadados. 2004. Disponível na Internet.<br />

http://www.linha<strong>de</strong>codigo.com.br/Artigo.aspx?id=298. Acessado em 25 <strong>de</strong> novembro<br />

<strong>de</strong> 2007.<br />

CHELLA, Marco Túlio. Sistema para Classificação e Recuperação <strong>de</strong> Conteúdo<br />

Multimídia Baseado no Padrão MPEG-7. 2004. Disponível na Internet.<br />

http://www.nied.unicamp.br/~siros/doc/2232.pdf.<br />

DUTRA, Renato L. S.; Tarouco, Liane R. M.; Dallacosta, Adriana. A Utilização da<br />

In<strong>de</strong>xação <strong>de</strong> Ví<strong>de</strong>os com MPEG-7 e sua Aplicação na Educação. 2004. Disponível<br />

na Internet. http://www.cinted.ufrgs.br/renote/mar2004/artigos/35-autilizacao.pdf.<br />

Acessado em: 25 <strong>de</strong> novembro <strong>de</strong>. 2007.<br />

GAMMA, Erich; Helm, Richard; Johnson, Ralph e Vlissi<strong>de</strong>s John M. 1994. Design<br />

Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley.<br />

GUARI<strong>NO</strong>, Nicola. Formal Ontology and Information Systems. 1998. Disponível na<br />

Internet. http://www.loa-cnr.it/Papers/FOIS98.pdf. Acessado em: 25 <strong>de</strong> novembro <strong>de</strong>.<br />

2007.<br />

69


JMFGUIDE. Java Media Framework API Gui<strong>de</strong>. 1999. Disponível na Internet.<br />

http://java.sun.com/products/java-media/jmf/2.1.1/gui<strong>de</strong>/in<strong>de</strong>x.html. Acessado em 07 <strong>de</strong><br />

novembro <strong>de</strong> 2007.<br />

MAGALHÃES, João M. C. Universal Access to Multimedia Content Based on the<br />

MPEG-7 Standard. Salvador, 2002. 98p. Dissertação (Mestrado em Engenharia<br />

Eletrotécnica e <strong>de</strong> Computadores) – Universida<strong>de</strong> Técnica <strong>de</strong> Lisboa – Instituto<br />

Superior Técnico.<br />

MARTÍNEZ, José M.. MPEG-7 Overview. Version 10, 2004. Disponível na Internet.<br />

http://www.chiariglione.org/mpeg/standards/mpeg-7/mpeg-7.htm. Acessado em 05 <strong>de</strong><br />

outubro <strong>de</strong> 2007.<br />

NETO, Almerindo N. R; Santos, Celso A. S.. Uma Abordagem para Anotação em<br />

Ví<strong>de</strong>os Digitais com Aplicações em Telemedicina. 2004.<br />

NETO, Almerindo N. R.. Coyote Annotation: Um framework para anotações <strong>de</strong><br />

vi<strong>de</strong>os digitais. Salvador, 2005. 98p. Dissertação (Mestrado em Re<strong>de</strong>s <strong>de</strong><br />

Computadores) – Universida<strong>de</strong> Salvador - UNIFACS.<br />

OLIVEIRA, Lúcio J. N. e Vita, Fábio C. R.. 2007. ADIÇÃO DE MINERAÇÃO<br />

VISUAL DE DADOS <strong>NO</strong> FIDUS USANDO TREEVIEW E TREEMAP. Salvador,<br />

2007. 48p. Monografia (Bacharelado em Informática) – Universida<strong>de</strong> Católica do<br />

Salvador - UCSAL.<br />

PEREIRA, Fernando; Koenen, Rob e Martinéz, José M.. 2002. MPEG – 7: The<br />

Generic Multimedia Content Description Standard. Disponível na Internet.<br />

http://www.chiariglione.org/mpeg/tutorials/papers/IEEEMM_mp7overview_withcopyri<br />

gth.pdf. Acessado em 07 <strong>de</strong> outubro <strong>de</strong> 2007.<br />

PIMENTEL, Carlos A. F.. Uma análise do uso do padrão MPEG-7 pela ferramenta<br />

IBM Annotation Tool. 2006. Disponível na Internet.<br />

http://fragapimentel.googlepages.com/Artigo_mpeg7_.pdf. Acessado em 07 <strong>de</strong><br />

novembro <strong>de</strong> 2007.<br />

70


SAIBEL Santos, Celso A.. Uma Estratégia para a Construção <strong>de</strong> Ambientes para a<br />

Descrição Semântica <strong>de</strong> Ví<strong>de</strong>os. 2007. WEBMEDIA. XIII Simpósio Brasileiro <strong>de</strong><br />

Sistemas Multimídia e Web. Porto Alegre: Socieda<strong>de</strong> Brasileira <strong>de</strong> Computação.<br />

SANTOS, Cristiane; Santos, Luciana. Utilização <strong>de</strong> Ontologias em Acervo<br />

Eletrônico: Uma Aplicação na Faculda<strong>de</strong> Ruy Barbosa. Salvador, 2007. 67p.<br />

Monografia (Graduação em Ciências da Computação) – Faculda<strong>de</strong> Ruy Barbosa.<br />

SCHROETER, Ronald; Hunter, Jane e Kosovic, Douglas. Vannotea: A Collaborative<br />

Vi<strong>de</strong>o In<strong>de</strong>xing, Annotation and Discussion System For Broadband Networks.<br />

2004. Disponível na Internet. http://metadata.net/filmed/pub/Vannotea.pdf. Acessado<br />

em 12 <strong>de</strong> novembro <strong>de</strong> 2007.<br />

SILVA, Erick L.. Anotação em Ví<strong>de</strong>o para Telediagnóstico usando TV-Digital em<br />

Dispositivos Móveis. Recife, 2005. 55p. Monografia (Graduação em Ciência da<br />

Computação) – Universida<strong>de</strong> Fe<strong>de</strong>ral <strong>de</strong> Pernambuco.<br />

SOTT, Juliano e Cantarelli, Elisa M. P.. 2006. In<strong>de</strong>xação e Recuperação <strong>de</strong><br />

Informações Digitais para Ví<strong>de</strong>o Usando MPEG-7. Disponível na Internet.<br />

http://www.dcc.unesc.net/sulcomp/06/artigos/sessaoOral/21944.pdf . Acessado em: 25<br />

<strong>de</strong> novembro <strong>de</strong>. 2007.<br />

USCHOLD, Mike e Robert, Jasper. 1999. A Framework for Un<strong>de</strong>rstanding and<br />

Classifying Ontology Applications. Disponível na Internet.<br />

http://www.cs.man.ac.uk/~horrocks/Teaching/cs646/Papers/uschold99.pdf.<br />

em: 25 <strong>de</strong> novembro <strong>de</strong>. 2007.<br />

Acessado<br />

VIEIRA, Luiz C. M.. Interface WEB para Acesso Orientado ao Conteúdo Digital.<br />

Salvador, 2005. 44p. Monografia (Graduação em Ciência da Computação) –<br />

Universida<strong>de</strong> Salvador - UNIFACS.<br />

YATES, Ricardo B.; Neto, Berthier R. Mo<strong>de</strong>rn Information Retrieval. Addison<br />

Wesley, 1999.<br />

71


APÊNDICE A<br />

Ontologia <strong>de</strong> Futebol <strong>de</strong>senvolvida por Liliane Cruz e Maíra Galindo.<br />

<br />

- <br />

<br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

72


+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

73


+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

74


+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

75


+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

+ <br />

<br />

- <br />

76

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!