STITCH 2.0 UMA FERRAMENTA PARA VISUALIZAO DE SEGMENTOS DE VDEO
Salvador - BA 2009
Jailson do Amor Divino Santos da Silva
STITCH 2.0 UMA FERRAMENTA PARA VISUALIZAO DE SEGMENTOS DE VDEO
Monografia apresentada por Jailson do Amor Divino Santos da Silva ao Departamento de Informtica da Universidade Catlica do Salvador como requisito parcial para aprovao na disciplina Projeto Final.
Orientador: Prof. Msc. Edeyson Gomes.
Salvador BA 2009
UCSAL UNIVERSIDADE CATLICA DO SALVADOR BACHARELADO EM INFORMTICA
STITCH 2.0 UMA FERRAMENTA PARA VISUALIZAO DE SEGMENTOS DE VDEO
Cludio Neiva Edeyson Andrade Gomes Osvaldo Requio
Salvador - BA 2009
CERTIFICADO
Certifico que a presente memria STITCH 2.0 UMA FERRAMENTA PARA VISUALIZAO DE SEGMENTOS DE VDEO, foi realizada, sob a minha orientao, por Jailson do Amor Divino Santos da Silva, constituindo o Projeto Final do curso de Bacharelado em Informtica da Universidade Catlica do Salvador UCSal.
AGRADECIMENTOS Primeiramente, agradeo a Deus por me conceder a vida, por estar sempre do meu lado me dando sade e fora para lutar, tanto nos momentos de alegria quanto nos de tristeza. A minha me Janete por ser essa pessoa maravilhosa e guerreira que s. Por investir em mim todos esses anos, por enfrentar tudo e todos para que eu e meus irmos sejamos sempre pessoais de bem e comprometidas com o futuro e por sempre esta ao meu lado, pois sem a senhora me seria bem mais difcil chegar aqui. A meu irmo Jean Carlos pelo apoio e conselhos nos momentos oportunos e tambm por ser um exemplo de perseverana a ser seguido. A minha noiva Jamile pela pacincia, carinho, companheirismo e considerao aplicados ao longo desse perodo de faculdades, pois foi de fundamental importncia tal compreenso. Ao meu pai astro Jorge por sempre incentivar a mim e aos meus irmos a estudar, nunca desistir de sermos pessoas melhores sempre respeitando o espao do prximo e por estar sempre presente em minha vida nos momentos mais importantes. A minha famlia como um todo, pois acredito e sempre vou acreditar que a famlia base de tudo em nossa vida. Aos amigos, colegas de faculdade, colegas de trabalho e todos aqueles que acreditaram em mim, e sempre me incentivaram a no desistir jamais dos meus estudos. A todos os professores da UCSal pelo profissionalismo e dedicao aplicados nesses cinco anos. Em especial agradeo ao meu orientador Prof. Msc. Edeyson Gomes pela confiana, profissionalismo, comprometimento e respeito que possui para com os seus alunos de todas as instituies de ensino que faz parte hoje. Muito Obrigado a todos!
A tecnologia digital a arte de criar necessidades desnecessrias, que se tornam absolutamente imprescindveis (Joelmir Beting)
RESUMO
O objetivo deste projeto foi promover a evoluo do STITCH, uma ferramenta de visualizao de vdeo anotado desenvolvida na UCSAL por Melilla Andrade e Daniela Guedes, orientadas pelo professor Edeyson Andrade Gomes. Pretendeu-se melhorar a forma como os usurios interagem com a ferramenta, atravs do acrscimo de uma tela adicional contendo as anotaes do vdeo e foram includos links nas anotaes dos vdeos viabilizando o acesso direto ao trecho do vdeo desejado para com isso prover ao usurio uma interface mais completa e de fcil manuseio, proporcionando assim uma interao maior dos consulentes com a mesma. Alm das alteraes anteriormente informadas pretendeu-se criar a opo do idioma ingls, visando disponibilizar uma opo adicional de lngua e abranger um nmero maior de usurios. A ferramenta STITCH foi desenvolvida atravs da tecnologia HTML+TIME pelo fato da mesma permitir o sincronismo entre texto e vdeo. As alteraes visando seu aprimoramento sero feitas utilizando a linguagem PHP pelo fato da mesma atender aos requisitos da aplicao e ser direcionada para o desenvolvimento de aplicaes web.
Figura 3.1 - Escopo do MPEG-7 ..............................................................................................21 Figura 3.2 - Principais elementos do MPEG-7 ........................................................................23 Figura 5.1 - Utilizao do atributo begin .................................................................................28 Figura 5.2 - Utilizao dos mtodos beginElement(), resumeElement() e endElemen() .........29 Figura 5.3 A interao sncrona padro tradicional de uma aplicao web (superior) em comparao com o padro assncrono de uma aplicao AJAX .............................................31 Figura 5.1 - Estrutura resumida do XML .................................................................................34 Figura 5.2 - Arquitetura da soluo .........................................................................................36 Figura 5.3 - Tela Listagem dos Vdeos.....................................................................................42 Figura 5.4 - Tela de Seleo da Lngua....................................................................................43 Figura 5.5 - Tela Listagem das Marcaes ..............................................................................44 Figura 5.6 - Tela de Reproduo do Vdeo ..............................................................................45 Figura 5.7 Ajuste automtico da tela para exibio completa do contedo..........................46 Figura 5.8 - Controles do Vdeo ..............................................................................................47
LISTA DE LISTAGENS
Listagem 5.1 Recuperao de informaes do vdeo ............................................................37 Listagem 5.2 Cdigo para exibio das marcaes ..............................................................37 Listagem 5.3 Cdigo para incluso da biblioteca Jquery.......................................................38 Listagem 5.4 Cdigo para exibio das marcaes...............................................................39 Listagem 5.5 Cdigo para avanar ou voltar o vdeo............................................................39 Listagem 5.6 Identificao da tecnologia HTML+TIME......................................................40 Listagem 5.7 Declarao do atributo style ............................................................................40 Listagem 5.8 Importao do comportamento time2 ..............................................................40 Listagem 5.9 Cdigo para chamada das marcaes ..............................................................41
LISTA DE ABREVIATURAS
AJAX - Asynchronous JavaScript and XML CASE - Computer Aided Sotfware Engineering CGI - Common Gateway Interface CSS - Cascading Style Sheets CSS2 - Cascading Style Sheets - Level 2 D - Descriptors DDL - Description Definition Language DOM - Document Object Model DS - Description Schemes FI - (Form Interpreter) HTML - HyperText Markup Language HTML+TIME - Timed Interactive Multimedia Extensions MPEG - Moving Picture Experts Group OLAP - On-line Analitical Processing PHP - PHP Hypertext Pre-processor SMIL - (Synchronized Multimedia Integration Language), URL - Uniform Resource Locator W3C - World Wide Web Consortium XML - Extensible Markup Language
SUMRIO
1 INTRODUO .................................................................................................................... 13 2 MANIPULAO DE VDEO ............................................................................................ 15 2.1 ANOTAO EM VDEO ................................................................................................ 16 2.1.1 A Importncia da Anotao .......................................................................................... 17 2.2 RECUPERAO DE VDEOS ...................................................................................... 18 3 PADRES DE INDEXAO E FERRAMENTAS ......................................................... 20 3.1 O PADRO MPEG-7 ....................................................................................................... 20 3.1.1 Estrutura do Padro MPEG-7 ...................................................................................... 21 3.2 SMIL ................................................................................................................................. 25 3.3 ANNODEX( Annotation And Indexing) ......................................................................... 25 3.4 CONSIDERAES FINAIS ........................................................................................... 25 4 TECNOLOGIAS ASSOCIVEIS AO MPEG-7 .............................................................. 27 4.1 HTML+TIME .................................................................................................................. 27 4.2 AJAX ................................................................................................................................. 29 5 STITCH ............................................................................................................................... 32 5.1 REQUISITOS ................................................................................................................... 32 5.2 ARQUITERURA DO STITCH ....................................................................................... 34 5.3 AMBIENTE DE EXECUO ....................................................................................... 37 5.3.1 Jquery ............................................................................................................................. 38 5.3.2 Utilizao do HTML+TIME no STITCH .................................................................... 39 5.3.3 SimpleXML .................................................................................................................... 41 5.4 INTERFACE DO STITCH ............................................................................................. 41 5.4.1 Tela de Listagem dos Vdeos ......................................................................................... 41 5.4.2 Tela de Seleo da Lngua ............................................................................................. 42 5.4.3 Tela de Listagem das Marcaes .................................................................................. 43
5.4.4 Tela de Repoduo do Vdeo ......................................................................................... 44 5.4.4.1 rea de Exibio do Contedo das Marcaes ........................................................ 45 5.4.4.2 Controle dos Vdeos .................................................................................................... 47 5.5 LIMITAES DO STITCH ........................................................................................... 47 6 CONCLUSO ...................................................................................................................... 49 REFERNCIAS
13 1 INTRODUO
Atualmente a rea de informtica ainda se depara com alguns desafios a serem ultrapassados, como, por exemplo, a grande quantidade de dados multimdia disponveis e sua recuperao de forma eficiente e eficaz. A ausncia de semntica associada ao contedo multimdia um dos fatores que dificulta a recuperao de forma precisa. Segundo Konrath (2005), a utilizao de vdeos ganhou importantes recursos com a utilizao de padres, como MPEG-7, que auxiliam a descrev-los de forma padronizada, possibilitando a busca de vdeo ou parte dele. O processo de recuperao de informao consiste em identificar, no conjunto de documentos de um determinado sistema, quais satisfazem as reais necessidades do usurio, ou seja, o usurio est interessado em recuperar informaes sobre determinado contexto e no simplesmente em recuperar dados ou documentos que atendem sua expresso de busca (FERNEDA, 2003). Com a necessidade de recuperar segmentos de um vdeo (ao invs de todo o vdeo) utilizou-se a anotao, que tem como principal objetivo descrever a informao multimdia. Segundo Neto (2005), as anotaes textuais so utilizadas para permitir uma descrio eficaz do seu contedo, pois elas adicionam muito mais conhecimento e semntica ao contedo de um vdeo do que poderia ser obtido atravs das tcnicas atuais de viso computacional e de reconhecimento de padres de imagem e udio.
O objetivo principal do presente projeto foi aprimorar a forma como os segmentos de vdeo so exibidos juntamente com suas anotaes no sistema STITCH, visando tornar mais simples a busca cena desejada. Hoje os mesmos so mostrados em uma tela nica contendo o bloco de exibio, controle e marcaes do vdeo, o que acarreta a utilizao de barra de rolagem no bloco das marcaes quando existe mais de um comentrio no mesmo instante. Para isso prope-se criar uma tela adicional contendo as marcaes do vdeo selecionado e nestas incluir links que levam direto ao referido trecho do vdeo. Alm disso, pretendeu-se disponibilizar ao usurio a opo de visualizar marcaes em ingls.
No captulo dois apresentam-se as dificuldades enfrentadas hoje para a manipulao de vdeos na web, bem como o conceito de anotaes em vdeo, seus tipos
14 e sua importncia. No captulo trs descreve-se a especificao do padro de indexao MPEG-7, suas caractersticas, objetivos e estrutura, alm dos padres SMIL e ANNODEX.
No captulo quatro detalhamos os conceitos, caractersticas e objetos das tecnologias associadas ao MPEG-7, que no caso do presente projeto so: HTML+TIME e AJAX.
No captulo cinco so mostradas as modificaes propostas neste projeto. Concluindo o trabalho, o captulo seis apresenta sugestes para trabalhos futuros visando aprimorar ainda mais a soluo tratada neste projeto.
15
2 MANIPULAO DE VDEO Devido a pouca ou nenhuma descrio semntica dos vdeos que so colocados na WEB, a recuperao precisa das informaes dificultada. Uma soluo para os problemas de captura de conhecimento em vdeo a associao de metadados aos seus contedos. de fundamental importncia o desenvolvimento de abordagens que organizem e estruturem de maneira eficiente e particular o dado multimdia. Atravs do uso de informaes de alto nvel contidas nos metadados isso possvel. Hoje, a grande parte das solues para organizao, identificao, segurana, descrio, localizao e indexao de informaes digitais so implementadas a partir de metadados (REHEM, 2004). Metadado uma abstrao do dado capaz de indicar se uma determinada base de dados existe, quais so os atributos de uma tabela e suas caractersticas, tais como: tamanho e/ou formato (CERQUEIRA, 2004). Os metadados so constitudos de informaes genrica (descrevem o vdeo como um todo) e de informaes especficas (descrevem o contedo do vdeo) (DEL BIMBO, 1999). Com base nas informaes fornecidas pelo o usurio, os metadados podem ser criados atravs de texto livre, sem nenhum tipo de limitao, ou podem ser voltados para um domnio que deve ser formalizado e conhecido atravs de uma ontologia (SAIBEL, 2007). Segundo Freitas (2003) ontologia uma forma estruturada do conhecimento, dentro de uma determinada rea de domnio que possui algumas vantagens como: Reuso da informao; A portabilidade; Padronizao Objetivada de Termos; Formalizao dos Conceitos.
16 Tais vantagens caracterizam uma descrio adequada que facilita o gerenciamento da informao.
2.1 ANOTAO EM VDEO
O surgimento do vdeo veio agregar maior riqueza de informaes, o que vem despertando interesses de comunidades de busca e indexao de dados, pois muito relevante o carter dinmico que os vdeos apresentam. A rea da informtica j se deparou com muitos desafios. A modelagem de um vdeo para permitir uma indexao em seu contedo e para propiciar aos usurios uma efetiva interface de acesso para busca e navegao neste mesmo contedo um desses desafios, mas uma vez que a extrao automtica da semntica de um vdeo (ou parte dele) ainda um problema a ser resolvido, as anotaes textuais em vdeos so utilizadas para permitir uma descrio eficaz do seu contedo. A descrio desse contedo deve ser realizada a partir da necessidade e compreenso do consulente que esta manipulando o vdeo (MELO, 2007). Saibel (2007) afirma que as anotaes podem ser classificadas das seguintes maneiras: Anotaes para enriquecimento de contedo: Permite a insero de outros objetos visuais no vdeo original, de maneira que as informaes possam ser compartilhadas, de modo a facilitar a compreenso de outro usurio que esteja buscando a mesma informao. Esses aspectos facilitam o entendimento do contedo, pois os trechos que so relevantes ao usurio so salientados, o que torna este tipo de anotao facilmente adaptvel para vdeos de fins educacionais. Anotaes para descrio de contedo: So utilizados metadados associados ao contedo do vdeo com a finalidade de enriquec-lo e complement-lo, atravs de um desenvolvimento de abordagens bem definidas e organizadas. Nesse contedo pode ter informaes genricas (utilizadas para descrever o vdeo como um todo) como exemplo nome do
17 autor, formato, etc. ou especficas (descreve o contedo presente nos vdeos). Uma observao importante a ser feita que um arquivo de vdeo quando separado do arquivo de contedo precisa de ferramentas de gerenciamento de contedo para que a ligao e sincronizao entre eles seja estabelecida. Neto (2005) afirma que funcionalidades de ferramentas deste tipo que podem ser implementadas so: Associao do vdeo com suas anotaes levando em conta o tempo (segundos ou milissegundos), ou quadros (frame); Atributos que identifiquem o real momento em que a anotao foi associada ao vdeo; Permisso de alterao consulta e insero da anotao pelo usurio; Navegao pelo contedo anotado para fcil visualizao de todo o contedo existente para determinado vdeo. Estas funcionalidades tornam o gerenciamento do vdeo mais fcil, pois possibilitam a visualizao direta, no precisando assim percorrer o contedo inteiro at chegar ao ponto de interesse (VIEIRA, 2005).
2.1.1 A Importncia da Anotao
percebvel a grande importncia que as anotaes em vdeo tm no s na rea da informtica, mas tambm em reas como educao, sade, segurana, etc. Anotaes essas que ajudam a compreender melhor as informaes, o que por sua vez facilita bastante a utilizao dessas informaes digitais em vdeo, pois a partir das anotaes possvel selecionar as partes mais importantes de um vdeo de acordo com a necessidade de cada usurio.
A utilizao de vdeos educacionais no processo de ensino e aprendizagem ganhou importantes recursos com o surgimento de padres, como o MPEG-7, que
18 auxiliam descrev-los de forma padronizada, possibilitando a busca e seleo de vdeos ou partes dele. A utilizao das descries MPEG-7, escritas em XML e integradas a um repositrio de materiais audiovisuais, possibilitaro aos professores de forma simples e rpida, localizar vdeos educacionais adequados para o apoio em sala de aula. Adicionalmente servir como ferramenta para que o aluno navegue, de forma hipertextual, nos diversos vdeos armazenados neste repositrio. (Novas Tecnologias na Educao, CINTED-UFRGS, 2005) Podemos perceber o quanto a informtica pode ser til nas diversas reas existente, e como foi citado acima tambm na rea de educao. Sendo assim, o usurio deixa de apenas assistir o vdeo, e sim selecionar as partes do vdeo que lhe convm, deixando assim de ser um agente passivo e se tornando um agente ativo, facilitando assim os processos de construo do conhecimento decorrente da efetiva participao do aluno (TIMM, 2003).
2.2 RECUPERAO DE VDEOS
Para falarmos de recuperao de vdeos necessrio que entendamos o conceito de recuperao de informaes, pois a maioria dos sistemas de recuperao de vdeos parte do princpio da recuperao de informao. Calvin Mooers nos d a seguinte definio: A recuperao de informao trata dos aspectos intelectuais da descrio da informao e sua especificao para busca e tambm de qualquer sistema, tcnicas ou mquinas que so empregadas para realizar esta operao (MOOERS, 1951, p.25).
A recuperao de informao de extrema importncia na utilizao de um vdeo, pois atravs dela que as informaes so obtidas de maneira eficazes e eficientes de forma que sejam passadas para o usurio apenas aquelas potencialmente relevantes s suas necessidades, tornando as informaes digitais mais claras e objetivas e de fcil entendimento. Mas, para que a recuperao de informao consiga atingir melhores resultados necessrio que os dados pr-analisados estejam subordinados a um tratamento como catalogao, indexao e classificao. So componentes como visualizao, descrio e indexao, que influenciam diretamente na distribuio da informao e na sua recuperao (TAVARES, 2007).
19 Com isso, a utilizao de padres que possibilitam a criao de descries textuais em diferentes nveis de abstrao para contedo multimdia (em especial o vdeo) surge para facilitar sua compreenso, pois estes disponibilizam meios para acesso de tal forma que sua consulta, recuperao e seu gerenciamento sejam eficientes e satisfatrios. A ausncia de uma formalizao para descrever vdeos e para classific-los torna seu processo de recuperao menos preciso e mais complexo, fazendo com que este possa retornar resultados sem nenhuma ou pouca relevncia. Diante disto de extrema importncia padronizar as informaes utilizadas para descrever o contedo do vdeo (GUEDES, 2008; ANDRADE, 2008). Baeza-Yates e Ribeiro Neto (1999) afirmam que um sistema de recuperao de informao lida com as tarefas de representao, armazenamento, organizao e acesso a itens de informao. atravs da recuperao de informaes que as vrias formas de expresses digitais podem ser aproveitadas para obter resultados positivos com maior preciso e que facilitem a comunicao na internet.
20 3 PADRES DE INDEXAO E FERRAMENTAS
Atualmente um grande volume de informaes multimdia na forma de arquivos digitais de udio, vdeos e imagens so criados e esto disponveis na Internet.
A crescente utilizao de vdeos digitalizados ganhou importantes recursos com o surgimento de padres (MEPG-7, SMILL e ANNODEX), que permitem descrev-los e index-los de forma padronizada. So ferramentas que possibilitam a busca e seleo de vdeos ou partes deles.
3.1 O PADRO MPEG-7 Formalmente chamado de Interface de Descrio de Contedo Multimdia, o padro MPEG-7 foi desenvolvido em meados de 1996 pelo grupo MPEG (Moving Picture Experts Group), um grupo de trabalho da ISO / IEC criado em 1988, encarregado pelo desenvolvimento de padres para representao codificada de udio e vdeo digitais. Grupo este tambm responsvel pelo desenvolvimento dos padres MPEG-1, MPEG-2 e MPEG-4 (MARTINEZ, 2004). Segundo Hunter (2000), o padro MPEG-7 tem o objetivo de fornecer um rico conjunto de instrumentos padronizados para descrever o contedo multimdia. Trata-se de um padro nico que fornece um simples, flexvel e interopervel soluo para os problemas de indexao, pesquisa e recuperao dos recursos multimdia. Martinez (2004) afirma que o MPEG-7 no destinado a uma aplicao em particular, mas sim que os elementos que o MPEG-7 possui padronizam um apoio amplo a um leque de aplicaes possveis. O MPEG-7 descreve as caractersticas de contedos multimdia para que os usurios possam pesquisar e recuperar estes contedos de forma similar ao que ocorre nos mecanismos de busca no WWW (World Wide Web). Para a criao destas descries, o MPEG-7 disponibiliza um conjunto de elementos de metadados descritos em XML. Alm das descries textuais em arquivos XML, muitas vezes extensas, o MPEG-7 especifica descries em formato binrio, o BiM, permitindo o streaming e a compresso em at 98% das descries (TAROUCO, 2005).
21 Guedes e Andrade (2008) afirmam que o MPEG-7 padroniza a sintaxe e a semntica das informaes contidas nas descries de contedo audiovisual. Para o padro o que importa como as informaes esto descritas e no como foram extradas. O modo como as descries sero obtidas no tm restrio, podem ser criadas de forma automtica ou manual. Podemos visualizar na figura 3.1 um diagrama de bloco onde possvel observar o fluxo bsico de processamento do MPEG-7. Nele includa a anlise do contedo (extrao das caractersticas), a descrio propriamente dita e as operaes de pesquisa (Andrade;Guedes, 2008). Martinez (2004) afirmar que se as ferramentas de extraes automticas estivessem mais avanadas, as possibilidades do padro poderiam ser muito melhor aproveitadas.
Figura 3.1 - Escopo do MPEG-7. Fonte: (Martnez, 2004). Com isso, como mostra a figura 3.1, todas as ferramentas de busca, filtros e aplicaes que possam fazer uso das descries no esto no padro do escopo, o que permite que tal sistema seja aperfeioado.
3.1.1 Estrutura do Padro MPEG-7 O padro MPEG-7 dispe de um conjunto de ferramentas de descrio (Description Tools), representados por componentes com metadados, e suas estruturas e relacionamentos, definidos na forma de descritores (Descriptors) e esquemas de descrio (Description Schemes) para criar descries que sero utilizadas por ferramentas com funes para pesquisar, filtrar e navegar de forma eficiente em contedos multimdia (CHELLA, 2003). As descries anotadas so associadas com cada parte de vdeo e armazenadas como uma descrio MPEG-7 em um arquivo XML.
22 Segundo Chella (2003), o propsito do padro MPEG-7 determinar um conjunto de mtodos e ferramentas que viabilizem o acesso pelas mais variadas aplicaes nos mais diversos ambientes, desta forma tem-se a necessidade de se utilizar um modelo flexvel e com possibilidades de extenses. A tecnologia que possui este requisito o XML que foi utilizado como linguagem para representao textual da descrio de contedo. O XML Schema a base para o DDL (Description Definition Language - DDL), usada para a definio sinttica das ferramentas de descrio (Descriptions Tools).
Os componentes mais importantes da norma MPEG-7 so os (Descritores D), (Esquemas de Descrio DS), (Linguagem de Definio de Descrio DDL) e Ferramentas de Sistema (Zibreira, 2004).
Descritores representam uma caracterstica. Define a sintaxe e a semntica da representao da caracterstica. Os descritores foram desenvolvidos para descrever caractersticas de baixo nvel, como cor, textura, localizao e tempo, que podem ser extradas automaticamente por aplicaes.
O Esquema de Descrio descreve caractersticas audiovisuais de alto nvel, como regies, segmentos e objetos, que devem ser extradas com a ajuda de ferramentas auxiliares. Os DSs so compostos por vrios Descritores e outros Esquemas de Descrio. Define a estrutura e semnticas dos relacionamentos entre seus componentes.
A Linguagem de Definio de Descrio uma linguagem que permite a criao de novos DSs e Ds e a extenso e modificao dos Esquemas de Descrio e Descritores existentes. No padro MPEG-7 isso pode ser visto no formato XML onde so armazenadas as descries.
As Ferramentas de Sistema servem para dar suporte a multiplexao de descries, sincronizao das descries com o contedo, mecanismos de entrega, e representaes codificadas para armazenamento e transmisso eficientes e gerencia e proteo de propriedade intelectual.
23 A seguir temos a figura 3.2 que ilustra a relao entre os diferentes elementos j descritos.
Figura 3.2 - Principais elementos do MPEG-7. Fonte: (Martnez, 2004). O padro MPEG-7 composto de diversas partes, que podem ser utilizadas separadamente conforme o objetivo principal da aplicao (MARTINEZ, 2004).
MPEG-7 Systems Descreve o sistema de ferramentas para preparar as Descries MPEG-7 para transporte e armazenamentos eficientes para viabilizara sincronizao entre contedo e descries. O padro MPEG-7 utiliza dois formatos para armazenar as descries. Um formato binrio chamado de BiM e um formato textual, chamado de TeM. O ultimo formato armazena as informaes em arquivos XML. Enquanto que o formato binrio mais compacto e rpido, o formato textual em XML pode ser facilmente lido por uma pessoa e padronizado e bastante difundido;
Linguagem de Definio de Descrio MPEG-7 (DDL) Proporciona a criao de novos Descritores e Esquemas de Descrio e estender os existentes. A DDL adiciona extenses ao XML para atender requerimentos do MPEG-7, como suporte a vetores e matrizes;
24 MPEG-7 Visual Refere-se s ferramentas para descries somente visuais, como cor, textura, forma, movimento, localizao e reconhecimento de faces;
MPEG-7 udio Refere-se s ferramentas para descries somente de udio, como reconhecimento de som, timbre instrumental, falas, assinaturas de udio e melodias;
Esquemas de Descries Multimdia MPEG-7 - Diz respeito aos Descritores e Esquemas de Descrio que no so especficos para udio e vdeo, como vetores, tempo e descrio textual. So especificadas ainda as ferramentas avanadas como as de descrio, gerenciamento, organizao, navegao, acesso e uso de contedo.
Software de referencia MPEG-7 (MPEG-7 XM) - Implementao das partes listadas do padro MPEG-7. O Software de referencia MPEG-7 normativo com respeito ao padro de decodificao. Isto significa que todas as implementaes compatveis devem produzir os mesmos resultados decodificados que o software de referncia. O software de referencia pode ser utilizado livremente para o desenvolvimento de aplicaes MPEG-7, respeitando os direitos autorais. As descries de contedo do MPEG-7 devem incluir, segundo Martinez (2004) as seguintes in formaes: Informaes sobre o vdeo como identificao do autor, diretor, ttulo; Descrio da forma de armazenamento do contedo (Ex: binrio, textual); Informaes relacionadas com a utilizao do contedo, ou seja, identificar segmentaes do vdeo, cenas; Interao com o usurio, entre outros. Estas descries devem ser utilizadas com a finalidade de agilizar a busca, captura e filtro das informaes desejadas.
25 3.2 SMIL O SMIL (Synchronized Multimedia Integration Language) possibilita a criao de apresentaes audiovisuais interativas. O SMIL tipicamente utilizado para apresentaes multimdia do tipo rich media, que so a unio de udio e vdeo streaming, texto ou qualquer outro tipo de arquivo. O SMIL uma linguagem baseada no XML, trabalhando com tags semelhantes ao HTML (HyperText Markup Language), que pode ser editado por qualquer editor de texto comum, pois os elementos multimdia no so inseridos, somente referenciados. Com o SMIL possvel gerenciar a transmisso de arquivos multimdia por streaming, sincronizando estes arquivos com animaes flash, pginas HTML, figuras, etc (DUTRA, 2004). 3.3 ANNODEX Annotation and Indexing O padro Annodex possibilita a manipulao de arquivos de tempo-contnuo (udio e vdeo) na Web. O formato Annodex, junto com o CMML (Continuous Media Markup Language), o Temporal URI Reference, servem de base para viabilizar a busca e navegao atravs de arquivos de tempo contnuo. Permite a especificao de ncoras em bitstreams de tempo-contnuo, juntos com anotaes textuais no formato de hiperlinks URI. Estas ncoras so anexadas sincronizadamente com os arquivos de tempo-contnuo, quando desenvolvidas no formato Annodex. Este formato permite ainda a encapsulao de qualquer arquivo do tipo streaming, independente dos formatos. Adicionalmente, as tags XML escolhidas pelo Annodex so semelhantes ao do XHTML, facilitando assim a vida dos desenvolvedores de contedos. O principal objetivo do Annodex permitir a integrao de arquivos de tempo-contnuo dentro das funcionalidades de procura e navegao existente na Web (DUTRA, 2004). 3.4 CONSIDERAES FINAIS Os padres anteriormente descritos no so os nicos, nem os ltimos voltados para a recuperao e descrio de informaes digitais, porm com base neles consegue-se ter um conjunto bsico de opes. Segundo Tarouco (2005), o padro MPEG-7 se destaca entre estes e os demais, por ser desenvolvido pela ISO e por ter sido criado especialmente com a finalidade de descrever e indexar vdeo, e que seu diferencial sua abrangncia, pois possvel atravs deste fazer descries que nos
26 permitem indexar no apenas palavras-chaves em determinados intervalos do vdeo, mas tambm viabiliza a indexao por padres de imagem, som e outros tipos de descrio. Como se pode perceber o padro MPEG-7 se diferencia de outros padres como SMIL e ANNODEX por suportar inmeros nveis de abstrao, de caracteres de baixo nvel at informao semntica de alto nvel. Sott (2005) afirma que o MPEG-7 padroniza a sintaxe e a semntica das informaes contidas nas descries de contedo audiovisual. O padro MPEG-7 sugere ainda sistemas de extrao automtica de caractersticas audiovisuais e sistemas de busca e armazenamento de mdia, porm no obrigatria a utilizao dos mesmos para estar de acordo com o padro, pois para que ocorra a leitura das informaes o que importa como esto descritas e no como foram extradas. Com isso o padro MPEG-7 possibilita que a concorrncia entre as empresas possa melhorar os sistemas de busca e extrao de informaes (SOTT, 2005).
27 4 TECNOLIGIAS WEB ASSOCIAVEIS AO MPEG-7
Nesta parte do presente trabalho sero descritas as tecnologias HTML+TIME e Ajax, juntamente com seus conceitos, objetivos e caractersticas, pelo fato destas, alm de formarem a base do projeto STITCH, serem os principais alicerces visualizao de vdeo segmentado na Web. 4.1 HTML+TIME Timed Interactive Multimedia Extensions (HTML+TIME) foi implementada por uma equipe de colaboradores das empresas Microsoft, Macromedia e Compaq / Digital, integrantes da comisso de desenvolvimento do SMIL (Synchronized Multimedia Integration Language), e um padro de sincronizao multimdia. Trata-se de uma proposta submetida ao W3C (World Wide Web Consortium) com a finalidade de unir interatividade e temporizao linguagem HTML ao adicionar novos atributos e componentes (W3C, 1998). HTML+TIME tem como base a utilizao da linguagem HTML (HTML, 1998) e de CSS2 (Cascading Style Sheets - Level 2) (CSS2, 1998) para exposio e modelagem dos componentes, da linguagem XML (XML, 1998) para soma de dados estruturados e da linguagem SMIL (SMIL, 1998) para determinar comportamentos temporais e interativos em um determinado documento. O HTML+TIME proporciona inmeras vantagens aos desenvolvedores HTML, pois no necessrio que estes mudem a forma como desenvolvem atualmente para descrever estrutura e temporizao em seus documentos, basta acrescentar novos atributos para os elementos HTML, o qual ficar mais dinmico e interativo. O objetivo principal do HTML+TIME integrar vdeo, imagem, udio, e/ou texto numa nica aplicao, definindo quando e por quanto tempo devem permanecer vlidas cada uma destas mdias (MICROSOFT, 2002). Com a utilizao desta tecnologia os documentos tero seu comportamento temporal definido atravs de atributos que indicam o incio, o fim e a durao dos elementos a serem exibidos como tambm o nmero de vezes que deve ser repetido em seqncia.
28 Os atributos e propriedades se diferenciam pela forma como so utilizados, pois os atributos so aplicados junto com as tags HTML e as propriedades so usadas atravs de scripts. Seguem alguns atributos: begin Define em segundos quando um elemento dever ser exibido; dur Define por quanto tempo o elemento ficar ativo; end Especifica o prazo final do elemento. A durao normal de todos os elementos HTML indefinida; repeatDur Determina que um elemento permanecer ativo dentro da durao especificada, sendo esta durao indeterminada o elemento s ser interrompido por outro evento. Por exemplo:
Figura 4.1 Utilizao do atributo begin A figura 4.1 nos mostra a utilizao do atributo begin. Conforme o presente exemplo, a ativao do objeto se dar a partir da interao do consulente, pois o valor do atributo begin indefinido. Caso o valor do atributo tivesse definido o mesmo seria iniciado aps determinado valor em segundos. Alguns mtodos da linguagem controlam a exibio dos elementos, por exemplo: beginElement(), resumeElement() e endElement(), para determinar o incio da exibio de um elemento, a continuidade e o seu trmino respectivamente.
29
Figura 4.2 Utilizao dos mtodos beginElement(), resumeElement() e endElement(). A figura 4.2 nos mostra a utilizao desses trs mtodos. Na linha 3, caso exista um evento do tipo Play, verificado se na linha 4 um evento do tipo Avanar est habilitado, se tiver, o mtodo beginElement() ativado na linha 5 e o elemento ser exibido, seno, o mtodo resumeElement() ser acionado na linha 7 e o elemento continuar de onde parou. Na linha 17, caso exista um evento do tipo Stop, o mtodo endElement() ser ativado na linha 24 marcando o fim do elemento. 4.2 AJAX Segundo Silveira (2005), oficialmente o Ajax significa Asynchronous JavaScript and XML, podendo ser melhor definido como uma metodologia de desenvolvimento que utiliza diversas tecnologias disponveis nos browsers atuais para melhorar a interface de aplicaes Web. Para que essa melhora da interface ocorra necessrio que alguns elementos e tecnologias se unam, pois segundo o pessoal da Adaptive Path, empresa que desenvolveu o AJAX, o mesmo no uma tecnologia e sim uma forma de criar sites utilizando diversas tecnologias. So elas: Web standards e CSS: Sites desenvolvidos conforme os padres da W3C (World Wide Web Consortium) e utilizando a tecnologia CSS, que separa o que programao, o que contedo e o que estilo visual.
30 DOM (Document Object Model): um padro de estrutura do HTML para que a programao encontre o que necessrio dentro de uma pgina sem problemas. XML (Extensible Markup Language): Um padro de linguagem que torna mais fcil a transferncia de dados entre um banco de dados e outra interface qualquer. XML Http Request: Conjunto de ferramentas que possibilitam que os dados perpassem de forma assncrona. JavaScript: Responsvel pela unio dos elementos e tecnologias citadas anteriormente. Uma aplicao AJAX elimina a forma natural de interao hoje na Web, na qual a cada interao do usurio a pgina totalmente carregada, atravs da introduo de um elemento intermedirio - um motor Ajax - entre o usurio e o servidor. Ao invs de carregar uma pgina da Web, no incio da sesso, o navegador carrega um motor Ajax escrito em Javascript e, geralmente, adicionado em uma moldura oculta. Este motor responsvel tanto por tornar a interface do usurio mais amigvel quanto se comunicar com o servidor. O motor Ajax permite que a interao do usurio com a aplicao ocorra assincronamente, ou seja, independente da comunicao com o servidor. (GARRETT, 2005)
31
Figura 4.3 - A interao sncrona padro tradicional de uma aplicao web (superior) em comparao com o padro assncrono de uma aplicao Ajax (parte inferior). Fonte: (GARRETT, 2005).
Conforme figura 4.3, uma ao do usurio que, geralmente, levaria a uma solicitao HTTP tem a forma de uma chamada ao "motor" Ajax Javascript 1 . Desta maneira qualquer resposta a uma ao do usurio que no requer uma consulta ao servidor - como uma simples validao de dados, edio de dados na memria, etc. - o "motor" traz por conta prpria. Caso o "motor" necessite de algo que dependa do servidor para disponibilizar uma resposta, o mesmo realiza as consultas assincronamente, normalmente usando XML, sem aguardar uma interao do usurio com o browser.
1 Linguagem de ambiente Web executada na mquina do cliente, de processamento local e compatvel com os navegadores mais conhecidos (Internet Explorer, Mozilla Firefox, entre outros).
32 5 STITCH
Segundo Andrade e Guedes (2008), o STITCH tem como objetivo mostrar uma soluo para visualizao de vdeos descritos no padro MPEG-7 atravs de uma interface Web, assim como facilitar o processo de recuperao a partir da navegao entre suas marcaes. Tal navegao permite que a cena desejada seja visualizada ao mesmo tempo em que mostrada sua descrio semntica, ou seja, sua marcao ou suas marcaes. O projeto STITCH utiliza a biblioteca Jquery, que faz parte do conjunto de bibliotecas do Javascript e que chama a ateno dos programadores por ser leve e de fcil manuseio. No presente captulo sero abordadas a arquitetura e as modificaes realizadas no STITCH.
5.1 REQUISITOS O presente projeto tem o objetivo de viabilizar a visualizao completa do vdeo descrito no padro MPEG-7, permitindo assim o acesso direto aos trechos do vdeo de interesse do usurio. O acesso direto ao trecho desejado ser possvel a partir da seleo de uma marcao na lista de marcaes, que ser exibida ao lado do vdeo em reproduo numa tela adicional que foi includa na tela de reproduo do vdeo. Alm disso, medida que o vdeo reproduzido a marcao referente ao trecho em reproduo selecionada automaticamente sinalizando ao usurio a qual marcao se refere tal parte do vdeo. Tal ferramenta deve possibilitar tambm que o usurio tenha a opo de assistir as anotaes do vdeo em ingls. Para isso foi criada a tela de seleo da lngua, a qual exibida aps a seleo do vdeo desejado. A presente soluo deve permitir que o vdeo e sua respectiva anotao sejam exibidos de forma sincronizada e que o usurio possa interagir com o mesmo ao selecionar quais partes deseja assistir. Hoje a interface da tela de reproduo do vdeo do Stitch composta apenas por trs blocos, que so os de reproduo, controle e marcaes do vdeo e no disponibiliza ao usurio a opo de lngua, mostrando apenas as marcaes em portugus.
33 Assim como no projeto de Andrade e Guedes (2008), no faz parte do escopo do presente projeto o desenvolvimento de uma ferramenta para descrever semanticamente um vdeo e associ-lo a uma ou mais anotaes levando em conta o tempo. Com isso, ser utilizada a ferramenta desenvolvida pelo aluno Alexsandro de Olinda Nascimento, da UCSAL, em seu projeto de concluso de curso, orientado pelo professor Edeyson Gomes. Esta ferramenta gera um arquivo XML, com base no MPEG-7, contendo dados referentes ao vdeo como ttulo, autor, data, gnero bem como informaes sobre suas anotaes como incio e durao marcados em segundos, entre outros. O presente projeto tomar como base este arquivo XML a fim de recuperar as descries do vdeo, podendo ser feitas atravs do uso de uma ontologia ou texto livre. Os requisitos funcionais permaneceram os mesmos identificados na verso original do STITCH, os quais se encontram abaixo listados, onde dentre eles foi acrescentado o requisito 2 Escolha do perfil para visualizar as marcaes , pois os demais j existiam e dois deles foram complementados, so eles: Visualizao dos trechos do vdeo e Visualizao de mltiplas marcaes. 1. Visualizao das marcaes: permite que o usurio tenha um conhecimento antecipado das marcaes, antes mesmo de acessar o vdeo, podendo ele assistir o vdeo ou no. 2. Escolha do perfil para visualizar as marcaes: permite ao usurio escolher em qual lngua deseja visualizar as marcaes do vdeo escolhido, se em ingls ou portugus. 3. Navegao entre as marcaes do vdeo: possibilita que o usurio percorra entre as marcaes do vdeo e escolha qual parte do mesmo quer assistir. 4. Visualizao completa do vdeo: possibilita que o vdeo (por completo) e suas anotaes sejam exibidos ao mesmo tempo. 5. Visualizao dos trechos do vdeo: o usurio pode escolher qual trecho do vdeo deseja visualizar, podendo fazer essa escolha com o vdeo em execuo ou em pausa. Isso pode ser feito com base em uma ou mais marcaes listadas, pois cada marcao possui um link no qual permiti que o usurio acesse direto o trecho do vdeo correspondente.
34 6. Visualizao de mltiplas marcaes: existindo mais de uma marcao por segundo, o usurio poder visualiz-las de uma s vez. O campo de visualizao ser ajustado automaticamente, ou seja, no ser necessrio mais a utilizao da barra de rolagem. Os requisitos no funcionais so: 1. Escalabilidade: Devido ao grande volume de acessos ao mesmo tempo (tratando-se de uma aplicao da internet), os recursos devem ser utilizados sem com isso perder sua qualidade. 2. Usabilidade: permitir que os usurios utilizem os recursos disponveis, sem a necessidade de, para isso, possuir um conhecimento prvio do padro MPEG-7, garantindo assim uma interface mais simples. 3. Portabilidade: permitir que a ferramenta seja utilizada nas mais variadas plataformas. 4. Desempenho: possibilita maior agilidade da ferramenta em relao as respostas as requisies, ou seja, no ser necessrio que a pgina seja carregada por completo. 5. Sincronizao do vdeo e suas marcaes: o vdeo escolhido pelo usurio deve ser exibido simultaneamente com suas anotaes de forma que os mesmos estejam sincronizados.
5.2 ARQUITETURA DO STITCH Da mesma maneira que a verso anterior, o STITCH 2.0 faz uso do modelo de arquitetura adotado pelo padro MPEG-7 para extrao das informaes sobre o contedo dos vdeos armazenadas em arquivos XML. Conforme descrito no Captulo 2, Seo 2, essas informaes influenciaro diretamente na recuperao do vdeo. Conforme Andrade e Guedes (2008) os principais elementos de anotao textuais utilizados so: O CreationInformation, TextAnnotation, TemporalDecomposition e
35 VideoSegment. A seguir temos a ilustrao, atravs da figura 5.1, da estrutura resumida do arquivo XML no padro MPEG-7, a qual foi mantida no presente trabalho.
Figura 5.1 - Estrutura resumida do XML. CreationInformation: possui informaes com relao ao contedo do vdeo como ttulo e gnero. O ttulo informado em title e o gnero em genre. TextAnnotation: componente que guarda as anotaes textuais sobre o vdeo ou associadas a algum segmento do mesmo. TemporalDecomposition: contm informaes dos segmentos que foram determinados pelo usurio atravs de uma ferramenta de anotao. Tais anotaes so feitas fundamentadas em uma ontologia ou em texto. VideoSegment: possui informaes dos segmentos do vdeo tais como: comentrio, quem foi o autor da ao, quando foi executada, o tempo inicial da ao e a sua durao; essas duas ltimas definidas pelo MediaTimePoint e MediaDuration respectivamente. Na verso atual, com base no padro MPEG-7, a arquitetura do STITCH permite a visualizao da lista de vdeos disponveis, escolhendo-se qual se deseja assistir, da mesma forma que ocorre na verso anterior, logo em seguida o usurio escolhe o perfil no qual deseja ver as anotaes, ou seja, em ingls ou portugus. Esta opo o consulente no dispe na verso anterior. Aps essa escolha tem-se o conhecimento das anotaes existentes do mesmo no perfil escolhido e assim iniciada a exibio
36 propriamente dita do vdeo, conforme ocorri na verso inicial da ferramenta. Esta pode ser realizada com a interveno do usurio atravs dos controles como parar, avanar, voltar, selecionando uma anotao especifica do vdeo, atravs dos links acrescentados na nova verso, ou sem sua interveno, visualizando o vdeo por completo. A figura 5.2 ilustra essa arquitetura.
Figura - 5.2 Arquitetura da soluo A lista de vdeo continua sendo criada automaticamente pela aplicao. A mesma formulada com base nos arquivos de vdeo que esto na pasta nomeada de Vdeos. Os vdeos possuem um arquivo XML associados a estes, onde sero recuperadas informaes de titulo e gnero. A listagem 5.1 detalha como essas informaes so recuperadas.
37 A linha 1 coloca em uma varivel o caminho do XML (como por exemplo: ./XML/video2.mpg.port.mp7.xml) pertencente ao vdeo sob analise . Na linha 2 o XML carregado atravs da API SimpleXML, aps isso nas linhas 4 e 5 o ttulo recuperado atravs do acesso a tag Title e o gnero nas linhas 6 e 7 atravs da tag Genre. Aps a exibio da lista de vdeos disponveis, o usurio deve decidir entre estes qual deseja assistir. Depois de escolher um dos vdeos o usurio ter a opo de selecionar em qual lngua deseja visualizar as marcaes do mesmo. Aps o processo de escolha do vdeo e da lngua desejada, so exibidas as marcaes deste para o usurio. Tais informaes so descries feitas pela ferramenta de anotao que esto alocadas em um arquivo XML. A listagem 5.2 detalha como ocorre esse processo.
Listagem 5.2 - Cdigo para exibio das marcaes Diferente da verso anterior, na linha 1 a funo exibirMarcacoes recebe agora dois parmetros o nome do vdeo selecionado e a lngua escolhida (como por exemplo: video2.mpeg,port) e no apenas o nome do vdeo. Daqui em diante o fluxo o mesmo da verso anterior. Na linha 4 realizada a contagem das marcaes que o vdeo possui. Aps a contagem das marcaes feita uma iterao tomando como base o total de marcaes da linha 7 a 13. As linhas 8, 9 e 10 recuperam do XML essas marcaes e por fim so exibidas nas linhas 11 e 12. 1. function exibirMarcacoes($video,$lingua){ 2. 3. $xml = simplexml_load_file('../xml/'.$video.'.'.$lingua.'.mp7.xml'); 4. $total = $total = count($xml->Description->MultimediaContent->Video- 5.>TemporalDecomposition->VideoSegment); 6. 7. for($i=0;$i<$total;$i++){ 8. $comentario = trim($xml->Description->MultimediaContent- 9.>Video->TemporalDecomposition->VideoSegment[$i]->TextAnnotation- 10.>FreeTextAnnotation); 11. echo "<div><center><font face=\"Verdana\" size=\"1\" 12.color=\"#ffffff\">".$comentario."</font></center></div>"; 13. } 14.}
38
5.3 AMBIENTE DE EXECUO A plataforma de desenvolvimento da ferramenta permanece o PHP 5.2.3 (PHP Hypertext Pre-processor), pois esta alm de atender aos requisitos da soluo uma linguagem simples e direcionada para aplicaes Web (ANDRADE E GUEDES, 2008). Para implementar as modificaes propostas foi utilizado o Notepad++ 5.3.1 juntamente com o servidor EasyPHP 3.0 que executa cdigo PHP. A seguir as principais tecnologias utilizadas: Jquery, HTML+TIME e SimpleXML.
5.3.1 Jquery Para que fosse possvel a exibio das marcaes no STITCH 2.0, da mesma maneira que a verso anterior foi utilizado a Jquery biblioteca Javascript muito adotada pelos desenvolvedores web, pois facilita a implementao pelo fato de utilizar o AJAX. As vantagens de se utilizar a Jquery so muitas, tais como: Seu peso bastante leve ficando em torno de 20kb (compressed); Otimizao de cdigo, evitando programar linhas e linhas de cdigo; Compatibilidade com qualquer navegador; Acesso a qualquer elemento ou combinaes de elementos; No caso da presente soluo no h necessidade que a pgina inteira de exibio do vdeo seja carregada, apenas as marcaes so atualizadas. Pelo fato de ser uma biblioteca, existe a necessidade que seja feita a importao da Jquery para que seus comandos possam ser utilizados.
Listagem 5.3 Cdigo para incluso da biblioteca Jquery. Na linha 1 da listagem 5.3 exibido como feita a incluso da Jquery dentro da pgina responsvel por mostrar o vdeo. A listagem 5.4 mostra a funo em JavaScript que exibe as marcaes utilizando a biblioteca Jquery. 1.<script language="javascript" 2.src="../jquery/jquery1.2.3.js"></script>
39
Listagem 5.4 Cdigo para exibio das marcaes. Vemos na linha 1, que a funo ChamaMarcacoes recebe agora trs parmetros devido a incluso da opo de lngua, so eles: o tempo corrente, o vdeo em questo e a lngua escolhida. Por meio do post na linha 2 e 3 chamada a pgina busca.php passando esses trs parmetros. Os resultados gerados em busca.php ficam na linha 4, e na linha 6 esses resultados sero mostrados em uma tag HTML div denominada rolagem. Alm de exibir as marcaes, a presente funo passou a ser responsvel pela seleo (destaque) das mesmas, a qual possvel utilizando javascript para atribuir a cor de fundo e de fonte atravs do StyleSheet. A Listagem 5.5 representa como avanar e voltar trechos do vdeo.
Listagem 5.5 Cdigo para avanar ou voltar o vdeo Conforme linha 1 a funo avancarVoltar recebe agora por parmetro quatro informaes, tambm devido a incluso da opo de lngua, so elas: o tempo corrente, o vdeo, o tipo de operao, ou seja, avanar ou voltar e a lngua selecionada. J nas linhas 2 e 3, avancarVoltar.php ser requisitado via post passando esses quatro parmetros. A linha 4 vai conter o tempo que o vdeo dever reiniciar, na linha 6 a funo ChamaMarcacoes executada para atualizar a posio da seleo (destaque) nas 1. function ChamaMarcacoes(tempo,video,lingua){ 2. $.post("busca.php", {tempo: ""+tempo+"",video: 3.""+video+"",lingua: ""+lingua+""}, 4.function(data){ 5. if(data.length >0) { 6. $('#rolagem').html(data); 7. } 8. }); 9. } 1. function avancarVoltar(tempo,video2,tipo,lingua){ 2. $.post("avancarVoltar.php", {tempo: ""+tempo+"",video: 3.""+video2+"",tipo: ""+tipo+"",lingua: ""+lingua+""}, 4. function(response){ 5. if (response != 0){ 6. ChamaMarcacoes(tempo,video2,lingua); 7. video.seekTo(1, response); 8. } 9. }); 9.}
40 marcaes, conforme informado anteriormente e por fim na linha 7 o vdeo ser reproduzido a partir do tempo selecionado. 5.3.2 Utilizao do HTML+TIME no STITCH Conforme afirmao de Andrade e Guedes (2008), a tecnologia HTML+TIME esta presente no STITCH, a qual foi mantida na verso atual, com o objetivo de assegurar a sincronizao entre o vdeo e suas marcaes. A identificao e utilizao dos elementos do HTML+TIME dentro de um cdigo HTML s possvel a partir da declarao do XMLNS (XML nomespace) dentro da tag HTML (MICROSOFT, 2002), conforme a listagem 5.6.
Listagem 5.6 Identificao da tecnologia HTML+TIME A garantia da vinculao do tempo ao vdeo, segundo a Microsoft (2002), assegurada com o acrscimo do atributo style ao HTML incluindo a declarao da classe time. Para exemplificarmos essa situao temos a seguir a listagem 5.7, que mostra a utilizao do atributo.
Listagem 5.7 Declarao do atributo style Por meio de um CSS gerado a partir da tag style vista na linha 1 o atributo class time vinculado a um comportamento time2, conforma exposto na linha 2. Depois de criado o style, precisamos importar o comportamento time2, conforme afirma a Microsoft (2002). Tal comando mostrado na listagem 5.8.
41 Na listagem 5.9 temos os conceitos do evento onrepeat, o qual responsvel pela repetio dos elementos tantas vezes quanto necessrio, determinada pela propriedade repeatCount, a qual possui como critrio de parada todos os outros tipos de eventos, por exemplo, a interrupo do tempo associado ao vdeo.
Listagem 5.9 Cdigo para chamada das marcaes Temos na linha 1 a determinao da existncia de um tempo vinculado a tag SPAN e que tudo que venha a ocorrer na mesma ser em funo deste tempo, ou seja, class="time". Segundo Andrade e Guedes (2008), tal tempo passar de um em um segundo determinado pelo atributo dur e por meio do repeatCount, as marcaes vo ser chamadas de forma indeterminada, por quanto que o onrepeat na linha 2 executar tal chamada indefinidamente conforme descrito no pargrafo anterior e o currTimeState.activeTime possui informaes do tempo corrente do objeto vdeo.
5.3.3 SimpleXML API nativa do PHP 5, que viabiliza o acesso aos arquivos de descrio na extenso MPEG-7. A SimpleXML disponibiliza um conjunto de ferramentas muito simples e fceis de serem utilizadas para converso de XML em objeto, que passam a ser processados como vetores e arrays.
5.4 INTERFACE DO STITCH 2.0 A interface da presente soluo passou a ser composta por cinco telas, pois foi includa a Tela de Seleo da Lngua, as outras quatro telas so: Tela de Listagem dos Vdeos, Tela de Listagem das Marcaes e Tela de Reproduo do Vdeo. Estas telas vo viabilizar o acesso do usurio aos vdeos disponveis e suas marcaes. A partir disso o consulente poder manipular tais vdeos e suas descries semnticas. 1.<SPAN id="Timer" class="time" dur="1" repeatCount="indefinite" 2.onrepeat="parseInt(ChamaMarcacoes(video.currTimeState.activeTime, 3. '<?php echo $_GET['nome']; ?>'));"></SPAN>
42
5.4.1 Tela de Listagem dos Vdeos Trata-se da primeira tela que o usurio ter contato. atravs da Tela de Listagem dos Vdeos que o usurio vai conhecer dos vdeos disponveis naquele momento no diretrio www do servidor EasyPHP. Neste diretrio existe uma pasta intitulada de Vdeos que contem os arquivos de vdeo na extenso mpeg. Vale ressaltar que esta tela no sofreu alteraes. A seguir temos a figura 5.3 que nos mostra uma lista gerada pela ferramenta.
Figura 5.3 Tela Listagem dos Vdeos Depois de escolher o vdeo desejado o usurio ter acesso a nova tela do STITCH 2.0, a Tela de Seleo da Lngua, para selecionar a lngua deseja.
5.4.2 Tela de Seleo da Lngua
43 A Tela de Seleo da Lngua foi desenvolvida com o objetivo de disponibilizar ao usurio mais uma opo de idioma, neste caso o ingls. Com a adio desta tela a presente soluo passa a apresentar as marcaes do vdeo selecionado, atravs da lista de vdeo, na lngua que o usurio escolher, ou seja, portugus ou ingls. A figura 5.4 mostra a tela para seleo da lngua.
Figura 5.4 - Tela de Seleo da Lngua Para que a presente tela seja apresentada foi realizada uma alterao no destino da pgina /ndex.php para quando o vdeo desejado fosse selecionado, na lista de vdeos disponibilizada, o mesmo passasse para a Tela de Seleo da Lngua ao invs de exibir direto a Tela de Listagem das Marcaes, como na verso anterior da ferramenta. Definido a lngua desejada sero exibidas as marcaes do vdeo escolhido pelo usurio na Tela de Listagem das Marcaes conforme sua escolha.
5.4.3 Tela de Listagem das Marcaes
44 A Tela de Listagem das Marcaes tem como finalidade exibir uma lista contendo as marcaes do vdeo selecionado pelo usurio. Conforme detalhado no Captulo 6, Seo 2 estas informaes so coletadas do arquivo XML que fica na pasta nomeado de XML no diretrio WWW do servidor EasyPHP. A figura 5.5 ilustra uma lista de marcaes formulada pela presente soluo.
Figura 5.5 Tela Listagem das Marcaes O principal objetivo da presente tela disponibilizar ao usurio informaes precisas sobre o contedo do vdeo selecionado para que a partir disso o mesmo confirme sua escolha atravs do boto assistir ou retorne a Tela de Listagem dos Vdeos atravs do boto voltar, ambos disponveis na tela em questo. A partir da seleo do boto assistir o usurio ter acesso a Tela de Reproduo do Vdeo.
5.4.4 Tela de Reproduo do Vdeo A Tela de Reproduo do Vdeo como o prprio nome j defini tem o objetivo de viabilizar a reproduo do vdeo escolhido pelo usurio juntamente com seus comentrios. Foi acrescentada ao lado da tela principal de reproduo do vdeo uma
45 segunda tela contendo a lista das marcaes do vdeo selecionado. Esta ao tem por objetivo tornar mais rpido o acesso do usurio as informaes que este considere mais relevantes. A figurao 5.6 mostra a tela de reproduo do vdeo.
Figura 5.6 Tela de Reproduo do Vdeo Alm de selecionar dinamicamente cada marcao a medida que o vdeo reproduzido a ferramenta disponibiliza ao usurio a opo de assistir ao trecho do vdeo, referente a determinada marcao, quando desejar. Para isso foram includos links as marcaes, ou seja, basta que o usurio click em uma marcao para que o trecho de vdeo correspondente seja reproduzido. A incluso dos links visa facilitar ainda mais a interao do usurio com o STITCH 2.0
5.4.4.1 rea de Exibio do Contedo das Marcaes A rea de exibio do contedo das marcaes tambm foi reformulada para dinamizar a apresentao do mesmo, ou seja, caso existam trs comentrios no mesmo segundo e estes ultrapassem o limite da rea o usurio no ter mais que utilizar a barra de rolagem como anteriormente, pois a rea de exibio ser extendida para atender a
46 necessidade do contedo. Para isso foi alterado o arquivo Rolagem.css, que possui o cdigo do Stylesheet da div Rolagem, onde foi deixado o atributo Height sem especificao, desta forma a div Rolagem tem a sua altura varivel se adequando ao contedo. O arquivo rolagem.css encontra-se na pasta Telas no diretrio WWW do servidor Easyphp. A figura 5.7 ilustra a ferramenta no momento da exposio de mais de um comentrio.
Figura 5.7 - Ajuste automtico da tela para exibio completa do contedo. Vale ressaltar que devido rea de exibio do contedo das marcaes ter sido reformulada a tela s extendida com a ocorrncia de trs comentrios no mesmo momento, conforme mostrado na figura 5.7. As informaes que compem as marcaes so: Tempo, Titulo, Autor, Data e Comentrio. Essas informaes, exceto o
47 tempo, so extradas do arquivo XML. A exibio dessas informaes importante para garantir uma maior riqueza na exibio do vdeo e ao mesmo tempo valorizar o autor. 5.4.4.2 Controles do Vdeo Da mesma forma que na verso inicial do STITCH o controle do vdeo se da por meio dos botes de controle. Estes so cinco: Play, Pause, Stop, Avanar e Voltar. A funcionalidade desses componentes permanece a mesma em relao primeira verso da fermenta. A figura 5.8 exibe os controles utilizados na presente soluo. A seguir temos funo de cada controle. A figura 6.8 exibe os controles utilizados na presente soluo.
Figura 5.8 Controles do Vdeo Play Inicia a reproduo do vdeo e a reinicia quando a mesmo esta em pause ou tenha sido acionada o boto Stop; Pause Para a reproduo do vdeo momentaneamente, sendo possvel continuar a reproduo do mesmo ponto acionando o boto Play; Stop Interrompe definitivamente a execuo do vdeo, logo o mesmo retorna ao seu inicio e o tempo zerado; Avanar Adianta o vdeo para a marcao seguinte; Voltar Retorna o vdeo para a ultima marcao reproduzida.
5.5 LIMITAES DO STITCH O STITCH 2.0 tambm apresenta limitaes quanto ao navegador utilizado, pois conforme afirmao de Andrade e Guedes (2008), pelo fato de ter sido utilizada para a
48 sua implementao a tecnologia HTML+TIME, a qual foi desenvolvida pela Microsoft 2
a presente ferramenta apresenta incompatibilidade com outros browsers, como por exemplo, o Mozila Firifox, funcionando corretamente apenas no Internet Explorer.
2 Microsoft Corporation, mais informaes vide: www.microsoft.com.
49 6 CONCLUSO Conforme proposto a ferramenta STITCH 2.0 foi aprimorada, visando uma interao maior do usurio com a mesma e tornando mais simples a busca das informaes desejadas. A tela de reproduo do vdeo foi reformulada, sendo acrescentada a mesma uma nova tela com a lista das anotaes do vdeo selecionado pelo usurio, onde foram includos links a essas marcaes, visando reduzir o tempo de busca dos trechos de vdeo desejados, bem como a seleo de cada marcao do vdeo a medida que este reproduzido para que o usurio saiba em que momento do vdeo esta, melhorando assim a interao do usurio com a aplicao. Na tela de reproduo do vdeo foi eliminada a barra de rolagem, fazendo com que o ajuste, no caso do contedo a ser apresentado ultrapasse a rea destinada ao mesmo, ocorra de forma automtica, no sendo mais necessrio que o usurio tenha que pausar o vdeo para ter acesso a tal contedo. Com o objetivo de tornar a aplicao mais acessvel aos usurios de outros pases, acrescentamos a ferramenta a opo de visualizao das marcaes e seus comentrios em ingls. Atualmente apos a seleo do vdeo desejado o usurio ter que escolher na tela seguinte em qual lngua deseja ter acesso as marcaes do vdeo, se portugus ou ingls. Apesar das alteraes realizadas, visando o aprimoramento da presente soluo, existem algumas sugestes para a sua melhoria, como por exemplo, o acrscimo de outras opes de idioma, como por exemplo, o espanhol valorizando ainda mais a ferramenta bem como promovendo o acesso ferramenta de um nmero ainda maior de usurios. Outra sugesto tornar o STITCH 2.0 acessvel atravs de outros navegadores e no apenas pelo Internet Explorer, pois com isso tal ferramenta ser utilizada por um nmero maior de usurios, visto que o nmero de informaes multimdia indexadas pelo padro MPEG-7 esta crescendo a cada dia. Existem tambm as sugestes disponibilizadas por Andrade e Guedes (2008) e que at ento no implementadas, como implantao de outros modelos de acesso ao contedo, tornando a rea de exibio das marcaes interativa, permitindo que o usurio escolha a sua posio na tela bem como o seu tamanho.
50 REFERNCIAS ANDRADE, Melilla C.; GUEDES, Daniela S. STITCH Uma ferramenta para visualizao de segmentos de vdeo baseada em HTML + TIME. Salvador, 2008. 67p. Monografia de concluso de curso de graduao Departamento de Informtica, Universidade Catlica de Salvador UCSAL. BAEZA-YATES, R.; RIBEIRO NETO, B. Modem Information Retrieval. NewYork: ACM Press, 1999. 511p. CEPSRM. Pgina Dinamica para Aprendizado do Sensoriamento Remoto. Dispnivel na internet. 2006. http://www6.ufrgs.br/engcart/PDASR/linguagens.html. Acessado em 30 de Maio de 2009. CERQUEIRA, Andra. Introduo a Metadados. 2004. Disponvel na Internet. http://www.linhadecodigo.com.br/Artigo.aspx?id=298. Acessado em 15 de maio de 2009. CHELLA, Marco T. Sistema para Classificao e Recuperao de contedo multimdia Baseado no Padro MPEG-7. 2003. Dsiponivel na Internet. http://www.nied.unicamp.br/~siros/doc/2232.pdf. Acessado em 23 de Maio de 2009. CSS2, Cascading Style Sheets, level 2 Specification. W3C Recommendation, Maio 1998. Disponvel em: http://www.w3.org/TR/RECCSS2. Acessado em 27 de junho de 2009. DEL BIMBO, A. Visual Information Retrieval, Morgan Kaufmann, 1999. DUTRA, Renato L. S.; Tarouco, Liane R. M.; Dallacosta, Adriana. A Utilizao da Indexao de Vdeos com MPEG-7 e sua Aplicao na Educao. 2004. Disponvel na Internet. http://www.cinted.ufrgs.br/renote/mar2004/artigos/35-autilizacao.pdf. Acessado em: 15 de maio de 2009. FERNEDA, E. (2003). Recuperao de Informao: Anlise sobre a contribuio da Cincia da Computao para a Cincia da Informao. Cincia da Informao e Documentao. So Paulo, USP Universidade de So Paulo. Doutor: 147. FREITAS, FREDERICO L. G. Ontologias e a Web Semntica. 2003, 52f. Programa de Ps-Graduao em Informtica. Universidade Catlica dos Santos, So Paulo. GARRET, J. Ajax: a New Approach to Web Applications. fev. 2005. Disponvel em: http://www.adaptivepath.com/publications/essays/archives/000385.php. Acessado em: 28 de junho de 2009 HUNTER, JANE. MPEG-7 - Behind the Scenes. 1999. Disponivel na Internet. http://www.dlib.org/dlib/september99/hunter/09hunter.html. Acessado em 31 de maio de 2009. JUNIOR, Gilberto A. AJAX no uma tecnologia, um jeito. 2005. http://webinsider.uol.com.br/index.php/2005/11/01/ajax-nao-e-uma-tecnologia-e-um- jeito. Acessado em 28 de junho de 2009.
51 MARTNEZ, Jos M. MPEG-7 Overview. Version 10, 2004. Disponvel na Internet. http://www.chiariglione.org/mpeg/standards/mpeg-7/mpeg-7.htm. Acessado em 24 de Maio de 2009. MICROSOFT. Introduction to HTML+TIME, http://msdn.microsoft.com/library/default.asp?url=/workshop/author/behaviors/time.asp, 2002. Acessado em 27 de junho de 2009. MOOERS, C. (1951). Zatocoding applied to mechanical organization of knowledge. American Documentation, v.2, n. 1, p.25. NETO, Almerindo N. R. Coyote Annotation: Um framework para anotaes de videos digitais. Salvador, 2005. 98p. Dissertao (Mestrado em Redes de Computadores) Universidade Salvador - UNIFACS. SAIBEL Santos, Celso A. Uma Estratgia para a Construo de Ambientes para a Descrio Semntica de Vdeos. 2007. WEBMEDIA. XIII Simpsio Brasileiro de Sistemas Multimdia e Web. Porto Alegre: Sociedade Brasileira de Computao. SILVEIRA, Ricardo W. R. AJAX - Aumentando a Interatividade em aplicaes WEB. 2005. www.dca.ufrn.br/~raphaela/nataljavaday/.../palestra_7.pdf. Acessado em 28 de junho de 2009 SOTT, Juliano; Cantarelli, Elisa M. P. Indexao e Representao de Informaes Digitais para Vdeo Usando MPEG-7. 2005. Disponivel na Internet.http://200.169.53.89/download/CD%20congressos/2006/Sulcomp/pdf/21944.P DF. Acessado em 23 de Maio de 2009. TAROUCO, Liane M. R.; Dutra, Renato L. S.; Konrath, MAry L. P. SACCA - Sistema Automtico de Catalogao de contedo Audiovisual.2005. Disponvel na Internet. http://www.cinted.ufrgs.br/renote/nov2004/artigos/a18_sacca.pdf. Acessado em 15 de Maio de 2009. TAVARES, Tatiana; Santos, Alexandre; Santos, Celso S. Uma Estratgia para a Construo de Ambientes para a Descrio Semntica de Vdeos, 2007. Universidade Salvador. Salvador. TIMM, Maria Isabel; Schnaid, Fernando; Zaro, Milton; Ferreira Filho, Raymundo C. M.; Cabral Jr., Paulo Augusto de Freitas; Rosa, Ana Maria. Jesus, Marcelo Azevedo e S. de. Tecnologia educacional: mdias e suas linguagens. Disponvel em www.cinted.ufrgs.br/renote/fev2003/artigos/marai_tecnologia.pdf. Acessado em 23 de maio de 2009. VIEIRA, Luiz C. M. Interface WEB para Acesso Orientado ao Contedo Digital. Salvador, 2005. 44p. Monografia (Graduao em Cincia da Computao) Universidade Salvador - UNIFACS. W3C. Especificao de Synchronized Multimedia Integration Language 1.0 (SMIL), http://www.utad.pt/~leonelm/w3ctranslations/smil/, 1998. Acessado em 27 de Junho de 2009.
52 XML, Extensible Markup Language 1.0. W3C Recommendation, Fevereiro 1998. Disponvel em: http://www.w3.org/TR/REC-xml. Acessado em 27 de junho de 2009. ZIBREIRA, C. (2004) MPEG-7, tese de doutorado.