• Nenhum resultado encontrado

Capture & Access Service (CAS): Um serviço de arquivamento para salas inteligentes

N/A
N/A
Protected

Academic year: 2021

Share "Capture & Access Service (CAS): Um serviço de arquivamento para salas inteligentes"

Copied!
5
0
0

Texto

(1)

Capture & Access Service (CAS): Um serviço de

arquivamento para salas inteligentes

Felipe Albuquerque Portella

Departamento de Informática / PUC-Rio

[email protected]

Renato Cerqueira

Departamento de Informática / PUC-Rio

[email protected]

ABSTRACT

In this paper we describe a general architecture to support Capture & Access in ubiquitous computing environments, as found in smart classrooms and collaborative rooms. For this extensible architecture, was developed specialized components in audio, video and presentation capture, which maintains the synchronization between the many media streams through the automatic building of a NCL hypermedia document – the standard for Brazilian digital TV.

RESUMO

Neste artigo nós descrevemos uma arquitetura para suporte de Captura & Acesso em ambientes de computação ubíqua, como salas de aula inteligentes e salas colaborativas. Para esta arquitetura extensível foram desenvolvidos componentes especializados na captura de mídias de áudio, vídeo e apresentações, sendo a sincronia dos diversos fluxos mantidas através da geração automática de um documento hipermídia NCL, padrão da TV digital brasileira.

Informações Gerais:

Titulo da dissertação: Capture & Access Service (CAS): Um serviço de arquivamento para salas inteligentes

Aluno: Felipe Albuquerque Portella Orientador: Renato Cerqueira Programa: Mestrado Universidade: PUC-Rio Data de início: março/2005

Data esperada para conclusão: fevereiro/2008

Descritores de Categorias e Assuntos

H.4.0 [Information Systems Applications]: General; H.5.1 [Information Interfaces and Presentation]: Multimedia Information Systems.

Termos Gerais

Computação Ubíqua.

Palavras-Chaves

Aplicações de Captura e Acesso, Aplicações Multimídia, Captura de Vídeo, Captura de Áudio.

1. INTRODUÇÃO

A Computação Ubíqua é, em essência, a utilização de modo transparente ao usuário de muitos computadores espalhados no ambiente [10]. Ela é uma grande área emergente na pesquisa e desenvolvimento da Ciência da Computação, que engloba de forma integrada várias outras áreas já conhecidas como sistemas distribuídos, interação humano-computador e computação móvel, proporcionando um novo paradigma na utilização da computação. Mark Weiser observou [11] que a Computação Ubíqua pode ser apresentada como o oposto da Realidade Virtual: segundo ele, a Realidade Virtual tenta colocar o mundo real dentro do computador, simulando-o parcialmente e envolvendo o usuário neste mundo virtualizado, enquanto na Computação Ubíqua os equipamentos computacionais é que permeiam o mundo real do usuário, enriquecendo-o.

Ambientes que exploram este conceito de computação ubíqua podem oferecer vantagens para alguns tipos de eventos como ocorre com as atividades colaborativas. Reuniões ou aulas sobrecarregam seus participantes com grandes quantidades de informações que, em sua maioria, as pessoas não conseguem assimilar pelos mais diversos fatores como interrupções, necessidade de anotação ou sobrecarga cognitiva. Num ambiente ubíquo com captura automatizada, a responsabilidade de gravar o evento é transferida para os computadores, permitindo que as pessoas tenham seu foco de atenção no que realmente interessa (por ex: sumarizar, compreender e interpretar) [1].

Dentro da área de computação ubíqua, “a tarefa de preservar a gravação de alguma experiência ao vivo para ser revisada em algum ponto no futuro” [9] é conhecida como Captura & Acesso (C&A). As aplicações de C&A vão além da captura automática de informações e abordam aspectos de armazenamento, recuperação, visualização e até extensão com o reuso das informações capturadas.

A geração de documentos hipermídia como resultado da captura é abordada em vários trabalhos de C&A, mas poucos como [2], [4] e [5], exploram a separação em modelos conceitual, navegacional e de apresentação. Mesmo os sistemas que fazem esta separação, não costumam investigar o potencial de diferentes formas de consulta, navegação e apresentação destes documentos. Normalmente apenas separam a camada de apresentação do conteúdo, aplicando uma transformação para gerar o documento que é visualizado pelo usuário. Apesar deste documento hipermídia poder ter diferentes navegações e apresentações, elas são estáticas do ponto de vista do usuário pois são definidas a

priori. Nossa proposta é investigar documentos mais interativos,

que permitam ao usuário decidir por alternativas de navegação, consulta e até apresentação no momento da visualização.

Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee.

(2)

Apesar do tema C&A ser largamente estudado na literatura, são muitos poucos os sistemas disponibilizados para uso pela comunidade e que ainda ofereçam uma arquitetura extensível que nos permitam explorar nosso objetivo de geração de documentos mais flexíveis. Assim, o projeto e implementação de uma arquitetura extensível para sistemas de C&A se mostrou necessário como uma primeira contribuição deste trabalho. Neste artigo, apresentamos esta arquitetura que oferece suporte à captura de áudio, vídeo e apresentações em formato Microsoft PowerPoint®, sua respectiva recuperação e visualização. O sistema de C&A proposto foi intitulado Capture & Access Service (CAS) e nós descrevemos a nossa abordagem com foco em salas de aula inteligentes de universidades e em salas multifuncionais encontradas em grandes empresas.

Este artigo está organizado da seguinte forma: na seção 2 apresentamos a visão geral do sistema, seguida da descrição mais detalhada de cada componente, apresentando nossas decisões de projeto; a seção 3 apresenta os casos de uso trabalhados, relatando os testes realizados; a seção 4 trata de trabalhos futuros ligados a problemas da atual implementação, bem como temas de extensão e pesquisa; a seção 5 fecha o artigo com algumas conclusões.

2. DESCRIÇÃO DA ARQUITETURA

O CAS foi planejado para dar suporte inicialmente a captura de apenas algumas mídias (áudio, vídeo e apresentações), mas sua arquitetura deve permitir a fácil incorporação de outras mídias, como anotações feitas pelos alunos em tablets PCs, por exemplo. Para prover tal funcionalidade o sistema foi dividido em duas partes principais: CASIn - um barramento central que provê a infra-estrutura básica para a integração dos diversos componentes do sistema; e SpeedCars - componentes especializados para cada tipo de mídia a ser capturada, atuando como drivers para um dispositivo específico.

Figura 1. Visão geral da arquitetura do CAS

Na Figura 1 é apresentada a visão geral desta arquitetura, com o barramento de infra-estrutura no centro, se comunicando com diversos componentes especializados ao seu redor. No detalhe da

figura, podemos observar que a infra-estrutura além de ser responsável pela comunicação com os drivers, coordena um pós-processamento nas mídias capturadas, garantindo seu armazenamento e sincronismo.

2.1 CASIn

O CASIn (Capture & Access Service Infrastructure) é o componente central do CAS, responsável desde a interface com usuário, passando pela ativação dos SpeedCars, indo até o pós-processamento para armazenamento das mídias. Na Figura 2 vemos em detalhes a arquitetura do CASIn, seguindo um modelo de n-camadas. Sua implementação foi realizada em C#.

Figura 2. Arquitetura detalhada do CASIn

No nível mais baixo, temos um banco de dados responsável pelo armazenamento de inúmeras meta-informações do evento. Algumas destas são informadas pelo usuário (ex.: assunto, tipo de evento etc.), outras são obtidas automaticamente do CAS (ex.: data, usuário, mídias capturadas etc.) e por fim informações extraídas automaticamente das mídias (ex.: imagem para identificação do evento no site, palavras-chaves dos títulos dos slides etc.). O armazenamento das mídias se dá no sistema de arquivos, sendo arquivado no banco de dados apenas a referência para a pasta do evento. Esta camada também possui procedimentos armazenados para manipulação destes dados. Temos uma camada comum de negócio acima da camada de dados, responsável pelo registro dos componentes, processamento de pedidos do usuário no site, manutenção do estado dos eventos dentre outras funcionalidades. Esta camada é a ponte de comunicação entre a camada de acesso a dados e todas as demais listadas a seguir.

A camada de apresentação do CASIn é um Web Site desenvolvido em ASP.NET com C#, que centraliza toda a interação do usuário. Através do site, ilustrado na Figura 3, os usuários autorizados podem agendar gravação de eventos e controlar eventos que estejam sendo gravados. Já os usuários não autenticados podem navegar pelos eventos já realizados ou efetuar uma busca específica por uma das meta-informações disponíveis e recuperar um arquivo compactado com o todo o evento gravado.

O CAS possui dois serviços Windows: “SpeedCar Launcher Service” – responsável por monitorar os eventos agendados e

(3)

controlar a ativação/desativação das capturas desejadas; e “Post Processing Service” – ativado após um evento ter sido capturado, este serviço faz um pós-processamento das mídias e arquiva propriamente o evento, tornando-o disponível para o usuário através do site. Ambos os serviços se comunicam com a camada de dados através de serviços web que lhes garantem uma independência de máquina para execução.

Figura 3. Site do CAS

Como os SpeedCars implementados, listados na sessão 2.2, trabalham com formatos de baixa compressão, o serviço de pós-processamento recodifica as mídias de áudio e vídeo utilizando codecs compatíveis com o padrão de TV digital brasileiro. Para o áudio ele utiliza a biblioteca LAME1 para gerar um MP3, e para o vídeo ele utiliza o MEncoder2 para gerar arquivos MPEG4. Para garantir que na recuperação de uma sessão as mídias armazenadas sejam exibidas de forma síncrona, o CASIn tem em seu serviço de pós-processamento um gerador de documento hipermídia, que no nosso caso será um documento NCL [3] - padrão brasileiro de TV Digital. Ao escolher a NCL, e não criarmos a nossa própria estrutura em XML como alguns projetos de C&A [1, 7] ou usarmos outras linguagens hipermídia como em outros projetos [5, 6], poderemos com pouco esforço exibir uma sessão capturada numa TV digital. Este gerador utiliza informações de tempo de eventos registrados pelos SpeedCars para sincronizar todas as mídias.

Na nossa abordagem atual de sincronização, cada SpeedCar é responsável por gerar um arquivo com informações sobre a sua sincronização que deve ser disponibilizado junto com a mídia gravada. Neste arquivo é informado o timestamp do início da captura e os tempos relativos de cada evento registrado. Nesta implementação, precisamos garantir a sincronização dos relógios dos diferentes computadores, o que fazemos através do protocolo NTP3. 1 http://lame.sourceforge.net/ 2 http://www.mplayerhq.hu/ 3

Network Time Protocol

2.2 SpeedCar

O SpeedCar (Specialized Capture Driver) é um componente especializado na captura de um dado dispositivo. Logo, para cada recurso do ambiente ubíquo que se deseja capturar, será necessário ter uma instância específica do SpeedCar. Desta forma, um micro que esteja ligado a um smartboard e à uma webcam, por exemplo, deverá ter duas instâncias ativas do SpeedCar (uma especializada em cada dispositivo).

Para ser um SpeedCar, um componente de captura deve obedecer um conjunto de regras:

i. Ser um componente CORBA implementando a IDL: interface CAS {

void RunNow(in string EventID); void StopNow();

};

A escolha da tecnologia CORBA foi influenciada pela necessidade de interoperabilidade entre diferentes linguagens e sistemas operacionais, incluindo sistemas de dispositivos móveis.

ii. Gerar como saída mídia suportada pela NCL;

iii. Gravar esta mídia numa subpasta com o nome do componente, dentro da pasta temporária do evento; iv. Gravar junto com a mídia, o arquivo sync.ncl com as

informações de sincronização. O exemplo abaixo poderia ser a mudança do slide 1 para o 2 numa apresentação.

8/9/2007 1:05:40 PM <media... >

<area begin="0s" end="4s" id="part1" /> <area begin="4s" end="9s" id="part2" /> </media>

Foram desenvolvidos quatro SpeedCars, contemplando 3 mídias, para esta versão inicial do CAS:

• SpeedCar Audio: componente C# que utiliza DirectSound para a captura do dispositivo principal de áudio do micro e gravação em formato WAVE; • SpeedCar D-Link Video: componente C# que utiliza um

objeto COM+ fornecido pelo SDK da D-Link para controlar todos os modelos PTZ disponíveis da fabricante menos o DCS-950G e realizar a captura do vídeo em formato AVI com compressão INDEO5; • SpeedCar PPT Lua: componente Lua que se utiliza o

objeto COM+ do Microsoft PowerPoint® para, através da biblioteca LuaCOM, capturar todos os eventos de transição de slides e exportação dos mesmos;

• SpeedCar PPT CS: componente C# com COM+, com a mesma funcionalidade da versão Lua. Seu objetivo é a prova de conceito da abstração da arquitetura, permitindo usar um ou outro componente análogo de forma transparente.

2.3 Visualização de Eventos

O arquivo compactado recuperado do site possui um arquivo NCL e uma pasta com todas as mídias envolvidas naquele evento.

(4)

Através de um apresentador de documentos NCL – o NCL Ginga Player4 – é possível reproduzir o evento com todas as mídias capturadas em sincronia, como ilustrado na Figura 4.

Figura 4. Reprodução do evento no Ginga NCL Player4

3. CASOS DE USO

Apesar da recém implementação da primeira versão completamente funcional do CAS, já foi possível realizar alguns testes reais de captura de eventos em três ambientes distintos:

1) Uma sala de aula inteligente da PUC-Rio chamada de ActiveClassroom, montada com o patrocínio da Microsoft Research. Esta sala serviu como ambiente de teste durante o desenvolvimento do CAS, e também orientou várias decisões de projeto, como o desenvolvimento do SpeedCar D-Link Vídeo, visto que a sala possui 4 câmeras PTZ da D-Link. Os eventos realizados na ActiveClassroom, foram capturados pelo CAS com sucesso. Apenas o áudio ficou relativamente baixo por ter sido gravado com um microfone de mesa e não com um headset.

2) Uma sala multifuncional da Petrobras com recursos computacionais bem distintos do ambiente da ActiveClassroom. O uso do CAS neste ambiente demonstrou a necessidade de desenvolvimento de mais componentes de captura. O evento gravado ficou pobre em termos de mídia capturada pelo fato do apresentador não usar uma apresentação Microsoft PowerPoint® e a sala possuir câmeras IP não suportadas pelo nosso

SpeedCar D-Link Vídeo. Um SpeedCar para captura da

tela e outro para captura de webcams se mostrou importante para cobrir um maior escopo de combinações entre aplicações e ambientes utilizados. 3) Uma sala de visualização da Petrobras com dispositivos

compatíveis com os SpeedCars. Este evento obteve uma qualidade superior devido à preparação acústica da sala e o uso de microfones de lapela.

4

http://www.ncl.org.br/

Estes testes reais demonstraram a viabilidade da solução proposta, mas somente com uma maior utilização do CAS, poderemos validar se a nossa proposta de facilitar o processo de cognição foi atingido. Existe o planejamento de se utilizar a ActiveClassroom no segundo semestre de 2007 para a realização de algumas aulas utilizando os recursos oferecidos pela sala, dentre eles o CAS. Com este maior universo de testes e o desenvolvimento de novos SpeedCars, poderemos realizar esta melhor avaliação além de direcionar os esforços dos trabalhos futuros.

4. TRABALHOS FUTUROS

A implementação atual possui algumas limitações que restringem seu funcionamento a uma estrutura física específica do ambiente. Os dois primeiros trabalhos futuros listados a seguir buscam resolver estas limitações e serão implementados o mais breve possível, já os demais estão relacionados a pesquisas que desejamos realizar para melhorar a experiência do usuário. A primeira limitação está relacionada à necessidade de uma área de disco compartilhada na rede para a gravação das diversas mídias pelos SpeedCars de forma centralizada, permitindo que o serviço de pós-processamento tenha acesso a todas às mídias. A integração do CAS com um servidor de arquivos distribuídos como o GridFS [8] vai resolver este problema e dar mais flexibilidade para o sistema.

A outra limitação está relacionada à localização dos objetos CORBA, no caso os SpeedCars, pois atualmente o IOR (referência do objeto CORBA) de cada componente é gravado em um arquivo que deve ser disponibilizado para o CASIn. A solução anterior do GridFS até soluciona este problema, mas o uso de um serviço de descoberta de SpeedCars nos dará mais flexibilidade de configuração desses componentes. Podemos citar a navegação estruturada por um catálogo de SpeedCars disponíveis como uma dessas vantagens, pois permitirá, por exemplo, que um administrador do sistema substitua um componente que não esteja mais respondendo por outro disponível em outra máquina com as mesmas características.

Um trabalho já em andamento é a automação do controle de câmeras PTZ (Pan Tilt Zoom), permitindo que as mesmas sigam o professor pela sala. Esta funcionalidade está sendo feita integrando um componente desenvolvido para manipulação de câmeras D-Link, que usa o objeto COM+ disponibilizado pelo fabricante, com um algoritmo de facetracking desenvolvido pelo Tecgraf 5.

Findo estes trabalhos mais ligados à infra-estrutura de C&A, que permitirão maior usabilidade do sistema e conseqüente aumento do uso pelos usuário e geração de conteúdo, pretendemos voltar para a investigação de documentos mais interativos. A utilização da linguagem NCL nesta primeira versão foi muito centrada apenas no sincronismo das mídias capturadas e exibidas, não explorando possibilidades interessantes de navegações mais interativas, que é o nosso grande objetivo de estudo. Ainda dentro da dissertação, desejamos trabalhar adicionando a possibilidade de o usuário escolher que mídias ele quer visualizar e qual ele quer ver em maior destaque, tendo assim uma infinidade de formas de apresentação geradas dinamicamente. Múltiplas formas

5

(5)

de navegação de acordo com o conteúdo ou contexto de apresentação também serão estudadas.

Outros trabalhos futuros são:

Um player para o site de forma que o usuário não precise baixar os eventos para o seu micro nem instalar o Ginga NCL Player. Isto envolve o desafio de criar um interpretador do formato de TV digital como um plugin dos navegadores de internet.

• Possibilitar a transmissão ao vivo do evento com todos os recursos da NCL, além da possibilidade de adição de interatividade do espectador remoto com a sala. Os desafios neste caso se concentram no streaming das mídias balanceando qualidade e retardo, e na edição do documento hipermídia em tempo real mantendo a interatividade com usuário remoto.

• Extração de meta-informação do áudio e vídeo para melhorar as formas de pesquisa. Por exemplo, o sistema poderia extrair palavras-chaves usando algoritmos de

speech-to-text e as registrando em sincronia com as

demais mídias, de forma que ao usuário pesquisar por um termo falado explicitamente em uma apresentação, ele possa recuperar e visualizar diretamente naquele ponto de interesse.

Destes três trabalhos listados, apenas o último será realizado dentro do escopo da dissertação devido a limitações de tempo e à sua relevância para o estudo de navegações alternativas dos documentos hipermídia.

5. CONSIDERAÇÕES FINAIS

Neste trabalho foi apresentado resumidamente o projeto de mestrado sendo desenvolvido atualmente, composto de uma infra-estrutura básica e componentes especializados para Captura & Acesso em salas inteligentes. Nossa abordagem já permitiu a captura de alguns eventos com o mínimo de intervenção humana, gerando documentos hipermídia padronizados dentro do formato de TV digital brasileiro, possibilitando que estas experiências colaborativas sejam revividas a qualquer momento.

Este projeto ainda está em sua versão inicial e muitos itens de pesquisa só vão ser estudados a partir deste momento, em que temos um conjunto mínimo funcional para testes. Nosso foco imediato será melhorar alguns pontos da infra-estrutura CASIn e expandir os componentes SpeedCar disponíveis, permitindo o uso do sistema por mais usuários. Até o final da dissertação nos concentraremos na exploração das facilidades da NCL e pesquisa de extração automática de meta-informações.

6. AGRADECIMENTOS

Nós gostaríamos de agradecer à Microsoft Research pelo seu suporte financeiro.

7. REFERÊNCIAS

[1] ABOWD, G. D.; ATKESON, C. G.; BROTHERTON, J.; ENQVIST, T.; et al. Investigating the capture, integration and access problem of ubiquitous computing in an educational setting. Proceedings of CHI '98, Los Angeles. Abril, 1998.

[2] ANDRADE, A. Geração automática de aplicações Web para aplicações de captura e acesso. Dissertação de Mestrado. Instituto de Ciências Matemáticas e de Computação, USP, 2004.

[3] ANTONACCO, M. J. . NCL: Uma Linguagem Declarativa para Especificação de Documentos Hipermídia com Sincronização Temporal e Espacial. Dissertação de Mestrado. Departamento de Informática, PUC-Rio, 2000. [4] BALDOCHI, L.; ANDRADE, A.; CATTELAN, R.;

PIMENTEL, M. Architecture and Components for Capture and Access Applications. Em: Proceedings WebMedia and LA-Web, 2004.

[5] BULTERMAN, D. Using SMIL to encode interactive, peer-level multimedia annotations. Em: Proceedings of the 2003 ACM symposium on Document engineering. Grenoble, France. 2003. p. 32-41

[6] CATTELAN, R. G.; ANDRADE, A. R. DE; ROCHA, C. F. P.; PIMENTEL, M. G. C. iClass: um sistema para captura e acesso de sessões em ambiente educacional. Revista Eletrônica de Iniciação Científica. 2003. Ano 3, Volume 3, Número 1. p. 1519-8219.

[7] GEYER, W.; RICHTER, H.; FUCHS, L.; FRAUENHOFER, T.; et al. A Team Collaboration Space Supporting Capture and Access of Virtual Meetings., Em: ACM 2001 International Conference on Supporting Group Work, Boulder, Colorado, USA. 2001.

[8] SANTOS, M. N. GridFS — Um Servidor de Arquivos para Grades e Ambientes Distribuídos Heterogêneos.. Dissertação de Mestrado. Departamento de Informática, PUC-Rio, Rio de Janeiro, Brasil, 2006.

[9] SANTE, D. G.; CAMACHO-GUERRERO, J. A.; MACEDO, A. A.; FORTES, R. P. Preparing, Extending and Retrieving Captured Information. Em: Proceedings of the Webmedia & La-Web 2004 Joint Conference 10th Brazilian Symposium on Multimedia and the Web 2nd Latin American Web Congress - Volume 00 (October 12 - 15, 2004). LA-WEBMEDIA. IEEE Computer Society, Washington, DC. 2004. p. 158-160.

[10] WEISER, M. Some computer science issues in ubiquitous computing. Communications of the ACM, 1993. p. 36(7):75-84

[11] WEISER, M. The computer for the twenty-first century. Scientific American, 1991, Set. p. 94-100

Referências

Documentos relacionados

8- Bruno não percebeu (verbo perceber, no Pretérito Perfeito do Indicativo) o que ela queria (verbo querer, no Pretérito Imperfeito do Indicativo) dizer e, por isso, fez

indicado pelo Sindicato dos Trabalhadores da Educação do Estado de Santa Catarina,

XI – ter autonomia para definir produção, programação e distribuição de conteúdo no sistema público de radiodifusão, em consonância com o seu Conselho

Nesse contexto, foi possível pensar que não devemos ignorar as diferenças existentes entre uns e outros como seres em si diante de um determinado viés ou contexto social aos quais

A pesquisa pode ser caracterizada como exploratória e experimental em uma primeira etapa (estudo piloto), na qual foram geradas hipóteses e um conjunto de observáveis, variáveis

humanos; condução de pesquisa envolvendo seres humanos; reconhecimento de autoria; propriedade intelectual; relação empresa/indústria- universidade; o processo de

servidores, software, equipamento de rede, etc, clientes da IaaS essencialmente alugam estes recursos como um serviço terceirizado completo...