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
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