14

· PDF filefotogametria e computa c~ gr a ca (McMillan & Bishop, 1995). A represen ta c~ ao do am bien te virtual e criada a partir de um n umero de fotogra as, que p o dem ter sido

  • Upload
    hangoc

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

O Sistema Visorama:

Um Novo Ambiente de Multim��dia e Realidade

Virtual

Andr�e Matos1;3 Jonas Gomes1 Andr�e Parente2 Heloisa Si�ert2 Luiz Velho1

1 IMPA{Instituto de Matem�atica Pura e Aplicada

famatos,jonas,[email protected] de Comunica�c~ao UFRJ

fhsiffert,[email protected] Departamento de Inform�atica, PUC-Rio

[email protected]

Abstract

The recent developments in image-based rendering have enabled a repre-

sentation of virtual environments based on a simulation of panoramas,which we call virtual panoramas. Current virtual panorama systems donot provide a natural and immersive interaction with the environment.

We present the architecture of a new system that uses hardware andsoftware components to provide a natural and immersive interaction wi-

th virtual panoramas. As part of the system we propose a well suitedrepresentation for the interactions in a virtual panorama. This represen-tation can be used as a basis for the design of a high-level language for

the creation of such environments.

Resumo

O recente desenvolvimento de t�ecnicas de visualiza�c~ao baseada em ima-gens possibilitaram a representa�c~ao de ambientes virtuais utilizando pa-noramas geradas por computador, que chamamos de panoramas virtuais.

Os sistemas de panoramas virtuais existentes n~ao permitem uma inte-

ra�c~ao natural e imersiva com o ambiente virtual. Propomos a arqui-

tetura de um novo sistema que utiliza componentes de hardware e desoftware para oferecer esse tipo de intera�c~ao. Propomos tamb�em uma re-presenta�c~ao para essas intera�c~oes que pode ser utilizada como base para

o desenvolvimento de uma linguagem de alto n��vel para a cria�c~ao desses

ambientes.

Palavras Chaves: Multim�idia, Realidade Virtual, Panoramas, Ambien-

tes Virtuais e Interativos, Renderica�c~ao Baseada em Imagens.

1

1 Introdu�c~ao

Os recentes desenvolvimentos na �area de computa�c~ao gr�a�ca tem possibilitado a

cria�c~ao de um grande n�umero de sistemas de realidade virtual. Esses sistemas uti-

lizam modelos geom�etricos para representar um mundo virtual por onde os seus

usu�arios podem navegar, por vezes com o aux��lio de algum equipamento adicional

que proporciona uma interface mais realista �a navega�c~ao (imersibilidade) (Kalawsky,

1993). A visualiza�c~ao desse mundo �e feita atrav�es de t�ecnicas de computa�c~ao gr�a�ca

3D que s~ao executadas durante a navega�c~ao. Para que isso seja feito em tempo real,

esses mundos virtuais s~ao geralmente bastante simples e as imagens geradas para o

usu�ario n~ao s~ao foto-realistas.Com o objetivo de superar essas limita�c~oes surgiram

os sistemas de visualiza�c~ao baseada em imagens.

As t�ecnicas utilizadas por esses sistemas para representar e visualizar ambientes

virtuais tem origens nas �areas de vis~ao computacional, fotogametria e computa�c~aogr�a�ca (McMillan & Bishop, 1995). A representa�c~ao do ambiente virtual �e criada �a

partir de um n�umero de fotogra�as, que podem ter sido obtidas do mundo real, oude um ambiente modelado. Essa representa�c~ao �e utilizada para reconstruir a vis~aoque um observador teria navegando pelo ambiente virtual.

Alguns m�etodos de visualiza�c~ao baseada em imagens foram propostos utilizando re-presenta�c~oes diferentes. McMillan e Bishop (McMillan & Bishop, 1995) fazem umaan�alise dos m�etodos existentes e apresentam um novo m�etodo. Outros m�etodos

foram propostos recentemente baseados em t�ecnicas de hologra�a (Gortler et al. ,1996)(Levoy & Hanrahan, 1996). A representa�c~ao utilizada por alguns m�etodos per-

mite que os usu�arios interajam com o ambiente virtual como se esse fosse mostradopor uma panorama. Chamaremos esse tipo de representa�c~ao de panorama virtual.

O primeiro sistema comercial a utilizar panoramas virtuais foi o Quicktime VR da

Apple Computer (Chen, 1995), mas outros sistemas semelhantes foram desenvolvi-dos recentemente. Apesar de suas diferen�cas, todos esses sistemas possuem certaslimita�c~oes em comum. Entre essas ressaltamos o fato de n~ao oferecerem uma inte-

ra�c~ao natural e imersiva com o ambiente virtual.

Neste trabalho propomos a arquitetura de um novo sistema, o Sistema Visorama,

que combina componentes de hardware e de software para oferecer uma intera�c~ao

natural e imersiva com panoramas virtuais. O sistema tamb�em possui um ambientede autoria que permite a especi�ca�c~ao de intera�c~oes caracter��sticas de ambientes

representados por panoramas virtuais. Um prototipo deste sistema est�a atualmenteem desenvolvimento.

O artigo come�ca com uma introdu�c~ao �as panoramas. Em seguida discute panoramas

virtuais e os sistemas que as utilizam. Apresenta ent~ao a arquitetura do sistema

Visorama com seus componentes de hardware e de software. Finalmente discuteautoria no sistema visorama.

2 Panoramas

Uma panorama �e um tipo de pintura mural constru��da ao redor de uma plataformacircular onde espectadores podem olhar em qualquer dire�c~ao e ver uma cena como se

2

Figura 1: Se�c~ao de uma panorama.

estivessem no seu interior. Foi patenteada por Robert Baker em 1787 e nesse tempoera uma forma extremamente popular de representa�c~ao da natureza e de eventoshist�oricos. As panoramas eram normalmente constru��das em pr�edios com dois ou

tres andares de modo que os espectadores podiam passar por ambientes diferentes(Comment, 1993). A Figura 1 ilustra a se�c~ao transversal de uma panorama de tres

andares constru��da em 1810.

Muitas varia�c~oes das panoramas foram criadas desde esse per��odo at�e meados destes�eculo. Um exemplo dessas varia�c~oes �e o Cinerama onde imagens cinematogr�a�cas

eram projetadas em uma superf��cie circular cobrindo 180 graus. Tres proje�c~oeseram utilizadas mas a imagem gerada aparentava ser criada por uma �unica proje�c~ao.Algumas dessas varia�c~oes utilizavam outros recursos para tornar a intera�c~ao com o

mundo �ct��cio mais imersiva. O Hale's Tour, por exemplo, simulava uma viagemde trem e os espectadores sentavam-se realmente no interior de um vag~ao. Durantea viagem simulada, imagens passavam pelas janelas do vag~ao. J�a o Sensorama

utilizava efeitos como som stereo e odores para simular uma viagem de motocicletapelo bairro do Brooklin, em Nova York.

Todas essas varia�c~oes compartilham algumas caracter��sticas em comum. Os espec-

tadores permanecem sempre no interior de um ambiente e imagens s~ao projetadasao seu redor. Essas imagens mostram a vis~ao que o espectador teria se estivesse no

interior do ambiente simulado, e buscam sempre o realismo com o objetivo de fazercom que o espectador se sinta imerso neste ambiente simulado. Essa forma de in-

tera�c~ao oferecida pelas panoramas �e naturalmente aceita pelos espectadores por ser

muito semelhante ao modo como estamos acostumados a observar o mundo, comose estiv�essemos no seu centro. Talvez essa seja a explica�c~ao psicol�ogica de porque

as panoramas e suas varia�c~oes tem sido t~ao populares.

3 Panoramas Virtuais

O recente desenvolvimento das t�ecnicas de visualiza�c~ao baseada em imagens possi-

bilitou a simula�c~ao de panoramas no computador. Chamaremos essa simula�c~ao de

3

Figura 2: Uma camera virtual observando a panorama.

panorama virtual.

Em uma panorama virtual, uma imagem �e pintada em uma superf��cie panoramica

S � R3 utilizando t�ecnicas de mapeamento de textura (Heckbert, 1996). Uma

camera virtual �e utilizada para observar a superf��cie panoramica interativamente(Figura 2) e o usu�ario possui a liberdade de girar a camera em torno de seu centro

e mudar o fator de zoom. A imagem mapeada na superf��cie �e chamada de imagem

panoramica.

A imagem panoramica representa a proje�c~ao do ambiente na superf��cie panoramica.

Os sistemas de panorama virtual proporcionam ferramentas para a cria�c~ao dessaimagem �a partir de fotogra�as, que podem ter sido obtidas do mundo real ou de ummundo modelado. Ap�os o mapeamento na superf��cie, a imagem panoramica pode

ser interativamente observada, reconstruindo assim vistas arbitr�arias do ponto doambiente onde as fotos foram tiradas. A forma da superf��cie determina as vistas que

poder~ao ser reconstruidas.

O processo que acabamos de descrever envolve duas proje�c~oes:

� Proje�c~ao do ambiente na superf��cie panoramica.

� Proje�c~ao da superf��cie panoramica na tela da camera virtual.

A superf��cie panoramica deve ter uma forma geom�etrica simples para facilitar essas

duas proje�c~oes. Os tipos de superf��cies panoramicas mais utilizadas s~ao o cilindro,

a esfera e o cubo. No caso do cilindro, a imagem panoramica deve ser obtida poruma camera panoramica. O mapeamento dessa imagem na superf��cie do cilindro

pode ser feito \enrolando" a imagem ao seu redor. Essa transforma�c~ao de�ne uma

isometria entre o cilindro e o dom��nio da imagem e assim a transforma�c~ao n~ao

deforma a imagem. No caso da esfera, a imagem panoramica �e dividida em duas

partes que devem ser obtidas com uma objetiva grande angular (\�sheye"), de ummesmo ponto, em dire�c~oes opostas. Cada imagem �e mapeada ortogonalmente em

um hemisf�erio diferente. No caso do cubo, a imagem panoramica �e dividida em

4

seis partes, obtidas com uma lente comum de um mesmo ponto e em seis dire�c~oes

perpendiculares diferentes. Cada imagem �e mapeada em uma face do cubo.

Segundo os processos descritos acima, um sistema de panorama virtual tem dois

componentes principais: um ambiente de autoria e um visualizador.

O ambiente de autoria permite que se crie a imagem panoramica. Para que essa

imagem represente uma proje�c~ao do mundo real, cameras e lentes especializadas para

cada tipo de superf��cie panoramica devem ser utilizadas, conforme mencionamos

anteriormente. Essas cameras e lentes podem tamb�em ser simuladas para a cria�c~ao

de uma imagem panoramica representando uma proje�c~ao de um ambiente modelado.

Alternativamente, alguns sistemas permitem a cria�c~ao da imagem panoramica �a

partir de fotogra�as obtidas com camera e lente comuns. Nesse caso as imagens

obtidas de cada foto s~ao deformadas, alinhadas entre si, e combinadas, criando uma

imagem panoramica muito semelhante �a imagem obtida utilizando-se as cameras e

lentes especializadas.

O visualizador reprojeta a superf��cie panoramica na camera virtual interativamente,permitindo ao usu�ario modi�car a sua dire�c~ao de visualiza�c~ao e o seu fator de zoom.Para que essa reproje�c~ao seja executada em tempo real, ela �e aproximada por uma

opera�c~ao de deforma�c~ao na imagem panoramica e o resultado dessa deforma�c~ao �emostrado diretamente na tela (Smith, 1987).

4 Sistemas Existentes de Panoramas Virtuais

Vamos comparar tres sistemas que utilizam panoramas virtuais dispon��veis comer-cialmente: Quicktime VR 1.0 da Apple Computer, PhotoBubbles da OmniView e

RealVR da RealSpace.

4.1 Descri�c~ao

O Quicktime VR 1.0 utiliza apenas superf��cies panoramicas cil��ndricas, e oferece

um ambiente de autoria completo para a cria�c~ao de panoramas virtuais. A imagempanoramica pode ser uma fotogra�a obtida com uma camera panoramica, ou uma

sequencia de fotogra�as parcialmente coincidentes que s~ao compostas pelo programade autoria em uma imagem panoramica. Atualmente, o sistema n~ao oferece nenhum

suporte a audio, e n~ao permite que anima�c~oes ou objetos 3D sejam compostos com

a panorama. Algumas dessas funcionalidades foram prometidas para a vers~ao 2.0do programa, onde panoramas poder~ao ser compostas com video e audio Quicktime

e objetos Quickdraw 3D, ambos padr~oes da Apple.

O PhotoBubbles utiliza apenas superf��cies panoramicas esf�ericas. A imagem pa-

noramica deve ser obtida �a partir de duas fotos tiradas com uma lente �sheye de

180 graus, ou gerada por um programa de modelagem. O PhotoBubbles n~ao tem

ambiente de autoria e todas as panoramas devem ser preparadas pela Omniview.

O RealVR, por outro lado, suporta cilindros, esferas e cubos como superf��cie pa-

noramica. No entanto, n~ao oferece, atualmente, nenhum ambiente de autoria paraqualquer uma dessas superf��cies, oferecendo apenas um programa para converter

5

panoramas do Quicktime VR para o formato do RealVR. Esse formato �e uma ex-

tens~ao do VRML 2.0 criado pelo RealSpace, que permite a inclus~ao da panorama

em um mundo especi�cado por VRML. Como consequencia, �e relativamente simples

incluir-se objetos modelados em 3D, �guras, v��deo e audio nas panoramas virtuais.

Os tres sistemas discutidos oferecem um visualizador para suas panoramas com

uma interface que utiliza o mouse para modi�car a dire�c~ao de visualiza�c~ao. No

Quicktime VR e RealVR, o teclado �e utilizado para o controle do fator de zoom.

Nenhum desses sitemas utiliza m�etodos baseado em multiresolu�c~ao para melhorar

a qualidade das imagens durante a modi�ca�c~ao do fator de zoom. Finalmente, o

Quicktme VR e o RealVR devem, no futuro, oferecer uma API em C, o que permitir�a

o desenvolvimento de programas para controlar os parametros do visualizador desses

sistemas.

4.2 An�alise

Em uma panorama real, o ambiente �e pintado em uma parede e essa pintura �eprojetada diretamente nos olhos do observador. Como descrevemos na se�c~ao 3, ossistemas de panoramas virtuais tentam simular esse processo de duas proje�c~oes.

No entanto, uma panorama virtual utiliza tres proje�c~oes: proje�c~ao da imagem nasuperf��cie panoramica, reproje�c~ao da panorama na camera virtual, produzindo aimagem no monitor, e a reproje�c~ao do monitor nos olhos do usu�ario. Em grande

parte dos sistemas n~ao existe uma correla�c~ao (acoplamento) entre a proje�c~ao nomonitor e a observa�c~ao do usu�ario. O modo de manipula�c~ao da dire�c~ao de visua-

liza�c~ao na panorama virtual, utilizando o mouse, n~ao �e natural, pois exige que ousu�ario associe o movimento da sua m~ao com a mudan�ca. na dire�c~ao de visualiza�c~ao.Com isso, esses sistemas n~ao permitem que o usu�ario se sinta imerso no ambiente

virtual e, por essa falta de imersibilidade, n~ao podem ser considerados sistemas derealidade virtual, uma vez que a imersibilidade �e uma das caracter��sticas principais

desses sistemas.

Outro problema �e que os sistemas de panoramas virtuais n~ao oferecem uma lingua-

gem de alto n��vel para a especi�ca�c~ao da intera�c~ao entre o usu�ario e o ambiente

virtual. Grande parte desses sistemas oferecem uma interface para especi�ca�c~ao de

intera�c~oes de baixo n��vel envolvendo a movimenta�c~ao do mouse na janela do visua-lizador. Mas os autores deveriam ser capazes de especi�car intera�c~oes de alto n��vel,

como por exemplo uma sequencia de opera�c~oes na camera virtual.

Relacionado a este problema, est�a a incapacidade desses sistemas de suportar o

conceito de ambiente virtual representado por uma panorama. Grande parte dos

sistemas permitem que o usu�ario se movimente em um ambiente 3D "pulando"entre

panoramas. Mas quando o usu�ario interage com uma s�o panorama, n~ao oferecem

meios para a especi�ca�c~ao das intera�c~oes neste mundo virtual representado pela

panorama. Uma exce�c~ao �e o sistema RealVR, que tem todo o suporte da linguagem

VRML para a cria�c~ao do ambiente virtual. Essa linguagem, no entanto, exige que se

especi�que o mundo utilizando informa�c~oes 3D, o que n~ao est�a dispon��vel em uma

panorama virtual. Em geral, n~ao �e trivial a determina�c~ao de posi�c~oes em 3D que

devem ser associadas a objetos para que uma determinada intera�c~ao na panorama

virtual seja criada. Por outro lado, as intera�c~oes neste tipo de ambiente virtual s~ao

6

mais facilmente representadas em termos das opera�c~oes que podem ser executadas

na camera virtual, pois essa informa�c~ao est�a sempre dispon��vel.

5 O Sistema Visorama

Nesta e nas pr�oximas se�c~oes apresentamos a arquitetura do sistema Visorama, seus

componentes de software e de hardware, e mostramos como o sistema oferece uma

solu�c~ao para as limita�c~oes dos sistemas existentes descritos na se�c~ao anterior:

� Imersibilidade do usu�ario

� Interface de mudan�ca da dire�c~ao de visualiza�c~ao

� Linguagem de autoria de alto n��vel

� Suporte para ambientes virtuais baseados em panoramas

Como descrevemos anteriormente, o problema de imersibilidade do usu�ario e in-terface de visualiza�c~ao ocorre nos sistemas existentes porque s~ao utilizadas duasproje�c~oes na visualiza�c~ao: a proje�c~ao na camera virtual e a proje�c~ao do monitor nos

olhos do usu�ario. Al�em disso, as duas proje�c~oes n~ao s~ao acopladas.

Para resolver esses problemas, �e preciso utilizar-se um dispositivo com a seguintefuncionalidade:

� Acoplar as duas proje�c~oes de visualiza�c~ao.

� Correlacionar as proje�c~oes com o movimento da cabe�ca do usu�ario.

Esse dispositivo de observa�c~ao cria uma abstra�c~ao de que o usu�ario est�a no meio doambiente virtual, interagindo com este atrav�es do dispositivo. A sua implementa�c~ao

�e feita por um visualizador que simula um bin�oculo, por�em ao inv�es de mostrar

o mundo atrav�es de lentes, mostra a panorama virtual em um par de pequenos

monitores. A Figura 3 ilustra um modelo do equipamento de observa�c~ao utilizado

no sistema Visorama.

O display binocular oferece ao usu�ario a imersibilidade visual na panorama virtual.

Embora n~ao possa ser transladado, esse dispositivo pode rodar em torno de doiseixos, vertical e horizontal, e quando isso �e feito, a imagem da panorama na tela �e

modi�cada para que a resposta visual para a rota�c~ao seja produzida. Essa forma de

manipula�c~ao direta da dire�c~ao de visualiza�c~ao �e uma interface natural para panora-

mas virtuais. Al�em disso, o usu�ario n~ao pode, em princ�ipio, mudar sua localiza�c~ao,

o que tamb�em �e natural para panoramas virtuais.

O usu�ario tamb�em pode interagir com o ambiente virtual atrav�es de um conjunto decontroles adicionais. Para responder de modo apropriado a todas essas intera�c~oes, o

software do sistema armazena uma representa�c~ao interna do ambiente virtual. Essa

representa�ca~o �e espec���ca para ambientes representados por panoramas, e inclui oconjunto de intera�c~oes do usu�ario a que o ambiente deve responder. Uma linguagem

de alto n��vel permite a autores desse sistema especi�carem essas intera�c~oes.

7

Figura 3: O equipamento de observa�c~ao do Visorama

Nas pr�oximas se�c~oes descreveremos a arquitetura do sistema Visorama com maiores

detalhes. Um prototipo baseado na arquitetura apresentada a seguir est�a atualmenteem desenvolvimento.

6 O Hardware do Visorama

Os principais componentes de hardware do Visorama, o relacionamento entre eles eseus grupamentos funcionais s~ao mostrados na Figura 4. Esses componentes podem

ser classi�cados em tres subsistemas de hardware: subsistema de entrada, subsistemade sa��da e subsistema de controle.

O subsistema de controle �e um computador com as interfaces necess�arias para a

comunica�c~ao com os componentes dos subsistemas de entrada e de sa��da. O compu-tador armazena todas as informa�c~oes sobre o ambiente virtual e executa programasque utilizam essas informa�c~oes para gerar a resposta do sistema �as intera�c~oes do

usu�ario. Esse processo deve ser feito em tempo real, o que imp~oe uma restri�c~ao de

velocidade m��nima no processador, j�a que esse deve ser capaz de receber as entradasdo usu�ario e gerar a sa��da apropriada sem introduzir quaisquer efeitos de retarda-

mento (\latency"). Tamb�em �e importante que os sistemas existentes de panoramasvirtuais possam ser executados nessa plataforma j�a que esses ser~ao parte do sistema

Visorama.

Para o subsistema de controle, decidimos utilizar um computador Macintosh daApple com processador PowerPC. Essa plataforma tem diversas vantagens: tem a

capacidade de processamento necess�aria; diversos sistemas existentes de panoramasvirtuais executam nessa plataforma; e todos os outros componentes de hardware do

Visorama podem ser conectados a esse computador.

O subsistema de controle gera dois tipos de dados para o subsistema de sa��da:

imagem e som. O primeiro tipo �e enviado para o display binocular e o segundo para

8

Figura 4: Componentes de Hardware.

o sistema de som stereo.

O display binocular �e um dispositivo imersivo que se assemelha a bin�oculos mas aoinv�es de ter um par de lentes, tem, para cada visor, um display CRT miniatura.

As imagens mostradas nesses displays aparecem para o usu�ario como se fossemproje�c~oes do mundo real atrav�es de lentes de um bin�oculo comum. Cada displayCRT est�a conectado a uma sa��da de v��deo no computador. Se duas sa��das estiverem

dispon��veis, cada diplay pode estar conectado de forma independente, e imagensdiferentes podem ser mostradas para cada olho do observador. Isso permitiria que se

mostrasse imagens estereosc�opicas, mas a primeira vers~ao do Visorama n~ao suportaessa funcionalidade.

O equipamento de som stereo �e basicamente um par de headfones conectados a uma

porta de sa��da de audio stereo no computador. Caixas de som podem tamb�em serutilizadas mas essas tem a desvantagem de permitir que o som do ambiente real sejaconfundido com o som do sistema, o que resulta numa perda da imersibilidade sono-

ra. A utiliza�c~ao de audio stereo permite que sons diferentes sejam associados a cada

canal de sa��da, permitindo a simula�c~ao de som 3D em panoramas onde fontes de somestejam associados a dire�c~oes de visualiza�c~ao espec���cas. Essa funcionalidade, no

entanto, n~ao ser�a suportada pela primeira vers~ao do sistema devido a complexidadeda sua implementa�c~ao.

Toda sa��da gerada pelo subsistema de controle depende das informa�c~oes de autoria

e dos dados de entrada. Esses dados s~ao de dois tipos: dados de dire�c~ao de visua-

liza�c~ao, gerados por uma cabe�ca de rota�c~ao e um conjunto de sensores, e dados de

controle do usu�ario, gerados por um conjunto de controles adicionais.

A cabe�ca de rota�c~ao permite a manipula�c~ao direta da dire�c~ao de visualiza�c~ao napanorama. Potenciometros s~ao acoplados aos dois eixos de rota�c~ao, vertical e hori-

zontal, da cabe�ca para capturar o movimento do display binocular.

O subsistema de entrada tem um conjunto de controles adicionais: dois bot~oes e um

potenciometro. O potenciometro �e utilizado para controlar o angulo de zoom. Um

dos bot~oes �e utilizado para eventos discretos em geral, como por exemplo a sele�c~ao

9

Figura 5: M�odulos e seus relacionamentos.

de um objeto na panorama. Esses dois controles devem ser facilmente acessados pelousu�ario, j�a que s~ao muito utilizados. Juntamente com o potenciometro da cabe�ca

de rota�c~ao, esses dois controles permitem a execu�c~ao das tarefas de posicionamento,sele�c~ao e quanti�ca�c~ao (veja (Foley et al. , 1987)). O segundo bot~ao �e utilizadopara que o sistema entre em um modo de controle que permite a especi�ca�c~ao de

con�gura�c~oes como, por exemplo, o controle do volume de som. Nesse modo, opotenciometro �e utilizado para controle do parametro selecionado.

Um circuito simples amostra todos os equipamentos de entrada periodicamente.

Esses dados s~ao enviados para o subsistema de controle, que gera a resposta parao usu�ario conforme especi�cado pelo autor do ambiente virtual. Isso �e feito peloscomponentes de software do sistema.

7 Componentes de Software

O software do sistema tamb�em pode ser dividido em tres m�odulos funcionais: entra-

da, sa��da e controle. Esses tres m�odulos e o relacionamento entre eles s~ao ilustradosna Figura 5. O m�odulo de entrada recebe todos os dados dos dispositivos de hard-

ware e os envia para os outros m�odulos. O de sa��da recebe esses dados e utilizando

os dados de comando do m�odulo de controle, gera a sa��da de imagens e sons. Final-mente, o m�odulo de controle examina os dados de entrada e envia comandos para o

m�odulo de sa��da.

7.1 Entrada e Saida

Om�odulo de entrada le os dados que chegam pela porta de comunica�c~ao e os converte

para um formato que seja entendido pelos outros m�odulos. Essa convers~ao garanteque os demais m�odulos n~ao precisem ser modi�cados quando algum dispositivo de

entrada for trocado. Os valores resultantes s~ao periodicamente enviados para os

outros dois m�odulos.

10

O m�odulo de sa��da recebe os dados diretamente para que possa gerar com rapidez a

resposta visual �as intera�c~oes do usu�ario. Assim, qualquer atraso que possa ocorrer

devido a processamentos feitos no m�odulo de controle n~ao afetam a resposta do

sistema com rela�c~ao a mudan�cas de dire�c~ao de visualiza�c~ao e de angulo de zoom.�E fundamental para a imersibilidade oferecida pelo sistema que essa resposta esteja

sincronizada com o movimento do display binocular, j�a que qualquer efeito de latency

poderiam confundir o usu�ario.

O m�odulo de sa��da tem dois componentes, o componente de gera�c~ao de imagens e

o componente de gera�c~ao de som. O primeiro mostra a panorama virtual, imagens

est�aticas ou objetos 3D, todos combinados em uma �unica sa��da. Qualquer sistema

existente de panoramas virtuais pode ser utilizado, desde que possa mostrar imagens

e objetos 3D compostos com a panorama e tenha uma API que possa ser usada

para controlar a visualiza�c~ao da panorama virtual. O componente de gera�c~ao de

imagens recebe comandos do m�odulo de controle determinando qual panorama deveser mostrada, quais objetos ou imagens devem ser compostos com a panorama, entreoutros comandos. A dire�c~ao de visualiza�c~ao e fator de zoom s~ao obtidos diretamente

do m�odulo de entrada e s~ao modi�cados cada vez que esse m�odulo envia novos dados,produzindo assim a resposta esperada pelo usu�ario.

O componente de gera�c~ao de som utiliza recursos do sistema para tocar audio no

hardware de som do computador. Um ambiente como o Quicktime da Apple podeser utilizado como base para esse componente, que recebe comandos do m�odulo decontrole determinando quais arquivos de som devem ser tocados, a posi�c~ao corrente

no arquivo de som, al�em de comandos comuns de manipula�c~ao de audio como play,pause, stop, e controle de volume. Esse componente tem acesso direto aos arquivos

de som.

7.2 O M�odulo de Controle

Os comandos gerados pelo m�odulo de controle s~ao baseados em dados obtidos do

m�odulo de entrada e em informa�c~oes de intera�c~oes no ambiente virtual. Essas in-forma�c~oes relacionam sequencias de entrada com as suas respostas correspondentes,

conforme especi�cado pelo autor do ambiente virtual.

A estrutura interna �e conceitualmente equivalente a um diagrama de estados. Uti-lizando essa representa�c~ao, o sistema est�a sempre em um estado discreto conhecido

e um n�umero de eventos s~ao especi�cados que fazem com que o sistema sofra umatransi�c~ao para um estado diferente. Uma transi�c~ao �e especi�cada pelos seus estados

de origem e destino, por um conjunto de eventos que a causam, e por um conjunto

de a�c~oes que devem ser executadas quando ela ocorre. Uma transi�c~ao deve ent~aoocorrer se algum dos seus eventos for gerado pelo usu�ario ou pelo pr�oprio sistema.

A�c~oes podem ser especi�cadas para execu�c~ao quando uma transi�c~ao for efetuada.

As a�c~oes que podem ser executadas utilizando-se os sistemas de panoramas virtuais

existentes s~ao: mudar a panorama sendo visualizada; modi�car os parametros devisualiza�c~ao; tocar, parar, interromper ou pular para uma posi�c~ao em um arquivo

de audio; mostrar ou esconder uma imagem ou objeto 3D; iniciar um temporiza-dor. Outras a�c~oes devem estar dispon��veis no futuro como, por exemplo, fazer uma

11

Figura 6: Diagrama de estado para um exemplo de intera�c~ao.

interpola�c~ao entre duas panoramas.

Um diagrama de estados representando as informa�c~oes de intera�c~ao no ambientevirtual guia a execu�c~ao do m�odulo de controle. Essa execu�c~ao �e basicamente com-posta de um �unico loop onde o programa le os dados de entrada e veri�ca se algum

evento de�nido em alguma transi�c~ao partindo do estado atual se torna verdadeirocom essa entrada. Caso haja tal evento, o programa executa as a�c~oes especi�cadaspara aquela transi�c~ao e troca o estado atual para o estado destino da transi�c~ao.

8 Autoria no Sistema Visorama

O principal problema com a representa�c~ao baseada em diagramas de estados �e a

di�culdade do processo de cria�c~ao do diagrama para intera�c~oes complexas. Essarepresenta�c~ao �e poderosa no sentido de representar todas as intera�c~oes poss��veis

em panoramas virtuais e permitir uma implementa�c~ao e�ciente. Mas quando as

intera�c~oes s~ao complexas, n~ao �e trivial para o autor do sistema quais estados e

transi�c~oes devem ser criados. Podemos ver isso pelo diagrama de estados ilustrado

na Figura 6, que representa a seguinte especi�ca�c~ao de intera�c~ao: se o usu�ario

visualizar a regi~ao R1 por mais de t0 segundos, toque um audio S1 com dura�c~ao

t1 segundos. Se o usu�ario mudar a visualiza�c~ao para uma regi~ao R2 e se S1 tiver

acabado de tocar, toque outro audio S2. Se n~ao tiver acabado, espere acabar e ent~ao

toque o audio S2. Se o usu�ario parar de visualizar as regi~oes R1 e R2, pare de tocaro audio S1. Se o usu�ario parar de visualizar a regi~ao R2, pare de todar o audio S2.

Para permitir que autores especi�quem as intera�c~oes poss��veis com esse sistema semque tenham que especi�car diagramas de estado complexos, estamos desenvolvendo

um ambiente de autoria que contem primitivas de alto n��vel para a especi�ca�c~ao de

intera�c~oes.

O sistema Visorama possibilita formas de intera�c~ao entre o usu�ario e o ambientevirtual n~ao dispon��veis nos outros sistemas de multim��dia e realidade virtual, e

12

assim de�ne uma nova linguagem para a comunica�c~ao entre o usu�ario e o sistema.

A imersibilidade oferecida pelo sistema permite que o usu�ario navegue naturalmente

pelo ambiente virtual, procurando as informa�c~oes que lhe interessa. Enquanto faz

isso, o usu�ario, sem preceber, causa um n�umero de eventos que modi�cam o estado

do ambiente virtual. Isso n~ao ocorre nos sistemas de multim��dia existentes, onde

os eventos s~ao expl��citos e est�a claro para os usu�arios os pontos na navega�c~ao onde

devem tomar decis~oes. O sistema Visorama pode estimar as partes do ambiente

virtual que mais interessam ao usu�ario, analizando, por exemplo, quanto tempo

este olha para uma determinada �area. Essa informa�c~ao pode ser utilizada para

guiar o usu�ario atrav�es do ambiente vitual, fornecendo mais informa�c~oes nos pontos

de maior interesse e sugerindo os pr�oximos locais a serem visitados. Assim, dois

usu�arios interagindo com uma mesma �area podem obter informa�c~oes completamente

diferentes dependendo do caminho que tomaram para chegar a essa regi~ao.

As formas de intera�c~ao poss��veis com o sistema de�nem uma linguagem que pode

ser usada por autores para criar ambientes virtuais no Visorama. Para auxili�a-los aexplorar essas possibilidades, estamos de�nindo um conjunto de elementos b�asicos

da linguagem e opera�c~oes para compo-los. A de�ni�c~ao de um bom conjunto deelementos b�asicos �e uma quest~ao ainda em estudo e deve ser determinado ap�os aexecu�c~ao de um n�umero de experiencias com o processo de autoria. Os elementos e

opera�c~oes devem ter uma representa�c~ao conhecida em termos de diagramas de estadopara que uma senten�ca nessa linguagem possa ser convertida em uma descri�c~aobaseada nesses diagramas que pode ent~ao ser utilizada pelo m�odulo de controle.

Al�em de de�nir uma linguagem de autoria, estamos implementando um ambiente deautoria para usu�arios criarem ambientes virtuais que utiliza um interpretador paraessa linguagem. Com isso um script do usu�ario �e convertido em uma representa�c~ao

baseada em diagramas de estado.

Pretendemos tamb�em criar um ambiente de autoria visual onde o ambiente virtualpode ser criado sem a necessidade de programa�c~ao. Os elementos e opera�c~oes da

linguagem poder~ao ser especi�cados gra�camente utilizando algum tipo de diagrama.Al�em disso �areas da panorama poder~ao ser especi�cadas navegando-se pelo ambiente

virtual. Toda essa informa�c~ao pode ser�a automaticamente convertida na linguageminterpretada.

9 Conclus~oes

Descrevemos a arquitetura de um sistema que permite uma intera�c~ao natural eimersiva com panoramas virtuais. O novo sistema inclui componentes de software e

de hardware e possibilita formas de intera�c~ao que n~ao est~ao dispon��veis nos sistemasexistentes atualmente. Inclui tamb�em uma linguagem que pode ser utilizada por

autores para criar ambientes que utilizam todas as novas possibilidades de intera�c~ao.

O sistema Visorama tem muitas aplica�c~oes em �areas como educa�c~ao, turismo, entre-

tenimento, mercado imobiliario e muitos outros. Juntamente com o desenvolvimento

do sistema, pretendemos criar uma aplica�c~ao na �area tur��stica tendo como base a

cidade do Rio de Janeiro. O usu�ario poder�a observar panoramas da cidade vista

do morro do Corcovado, de onde quase toda a cidade �e vis��vel. Ser�a guiado pelas

13

partes mais importantes da cidade, poder�a olhar com mais detalhes regi~oes de maior

interesse e eventualmente observar panoramas tiradas desses pontos. Al�em disso,

atrav�es da utiliza�c~ao de t�ecnicas de processamento de imagens aplicadas a fotogra�as

antigas e de programas de modelagem, panoramas ser~ao criadas que representar~ao

partes da cidade no passado. Toda a navega�c~ao ser�a guiada por uma narra�c~ao, com

explica�c~oes e sugest~oes de pontos a serem visitados.

Para aplica�c~oes do sistema Visorama, como a descrita acima, alguns desenvolvi-

mentos na tecnologia atual de panoramas virtuais permitiriam possibilidades de

intera�c~ao ainda maiores. Entre esses, podemos citar o suporte a multiresolu�c~ao, que

permitiria a utiliza�c~ao de imagens panoramicas com resolu�c~oes maiores nas regi~oes

de maior interesse do ambiente virtual. Essa possibilidade apresenta novas di�cul-

dades na visualiza�c~ao da panorama e no processo de autoria, durante a composi�c~ao

da panorama, e est�a sendo considerada como trabalhos futuros.

Agradecimentos:

O projeto Visorama esta sendo �nanciado com recursos do Conselho Nacional de

Pesquisa (CNPq), da Funda�c~ao de Amparo a Pesquisa do Estado do Rio de Janeiroe da Funda�c~ao Jos�e Bonif�acio.

Bibliogra�a

Chen, S. E. 1995. Quicktime VR - An Image-Based Approach to Virtual Environ-ment Navigation. Computer Graphics, Annual Conference Series, 29{38.

Comment, B. 1993. Le XIX Siecle des Panorama. Adam Piro.

Foley, J. D., Dam, A. V., Feiner, S. K., & Hughes, J. F. 1987. Computer Graphics

Principles and Practice. Addison-Wesley.

Gortler, S. J., Grzeszczuk, R., Szelinsky, R., & Cohen, M. F. 1996. The Lumigraph.SIGGRAPH '96 Proceedings, 43{54.

Heckbert, P. S. 1996. Survey of Texture Mapping. IEEE Computer Graphics and

Applications, Nov., 56{67.

Kalawsky, R. S. 1993. The Science of Virtual Reality. Addison-Wesley.

Levoy, M., & Hanrahan, P. 1996. Light Field Rendering. SIGGRAPH '96 Procee-

dings, 31{42.

McMillan, L., & Bishop, G. 1995. Plenoptica Modeling: An Image-Based Rendering

System. SIGGRAPH '95 Proceedings, 39{46.

Smith, Alvy Ray. 1987. Planar 2-Pass Texture Mapping and Warping. Computer

Graphics, 21(4), 263{272.

14