1 Visualização de Alto Desempenho utilizando equipamentos convencionais SVR 2003 VI Simposium on Virtual Reality Minicurso 22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 2 Autores Paulo A. Bressan, Marcelo P. Guimarães, Luciano P. Soares, Marcio C. Cabral, Celso Kurashima, Glauco Todesco e Marcelo K. Zuffo Laboratório de Sistemas Integráveis Escola Politécnica da USP – Brasil Juan E. J. Monsalve e Helmuth T. Gomez Laboratorio de Realidad Virtual Universidad EAFIT – Colombia 22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 3 Estrutura Introdução Aglomerados Gráficos de Computadores Visualização Paralela Visualização Volumétrica Visualização Baseada em Imagens Visualização Geométrica Visualização Colaborativa 22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 4 Introdução Apresentação Objetivos Motivação Relevância Desafio 22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 5 Apresentação Visualização denomina o processo de extrair informações de um problema por meio de simulações computacionais. A ênfase é utilizar os recursos de computação para facilitar o entendimento de informações. Os conceitos e ferramentas de visualização possuem grande interação com outras disciplinas. Apresentação Objetivos Motivação Relevância Desafio 22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 6 Apresentação Fatores humanos de percepção oferecem uma base científica para entender o desempenho visual humano. Especialistas em computação gráfica oferecem algoritmos e ferramentas que transformam valores numéricos em figuras. Artistas e projetistas gráficos aumentam a interpretabilidade de representações visuais através de conhecimentos de estética. Cientistas formulam questões para a exploração visual de dados científicos. Apresentação Objetivos Motivação Relevância Desafio
40
Embed
SVR2003 Minicurso VAD - lsi.usp.brpbressan/artigos/SVR2003_Minicurso_VAD_handouts.pdf · Visualização Geométrica Visualização Colaborativa 22 de outubro de 2003 SVR 2003 - Visualização
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
Visualização de Alto Desempenhoutilizando equipamentos convencionais
SVR 2003
VI Simposium on Virtual Reality
Minicurso
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 2
Autores
Paulo A. Bressan, Marcelo P. Guimarães, Luciano P. Soares, Marcio C. Cabral, Celso Kurashima, Glauco Todesco e Marcelo K. Zuffo
Laboratório de Sistemas Integráveis
Escola Politécnica da USP – Brasil
Juan E. J. Monsalve e Helmuth T. GomezLaboratorio de Realidad Virtual
Universidad EAFIT – Colombia
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 3
Estrutura
IntroduçãoAglomerados Gráficos de Computadores
Visualização Paralela
Visualização Volumétrica
Visualização Baseada em Imagens
Visualização Geométrica
Visualização Colaborativa
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 4
Introdução
Apresentação
Objetivos
Motivação
Relevância
Desafio
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 5
Apresentação
Visualização denomina o processo de extrair informações de um problema por meio de simulações computacionais.
A ênfase é utilizar os recursos de computação para facilitar o entendimento de informações.
Os conceitos e ferramentas de visualização possuem grande interação com outras disciplinas.
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 8
ApresentaçãoComputação de Alto Desempenho consiste em uma linha de pesquisa que procura solucionar problemas que necessitam de grande poder computacional, e inclui:
Computação Paralela
Processamento Paralelo Massivo
Computação Distribuída
Super-Computação
Aglomerado de Computadores
Visualização de Alto Desempenho estuda técnicas de alto desempenho para visualização de dados que demandem grande poder computacional.
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 12
Motivação
Realidade Virtual (RV)oferece uma interface mais realista para as aplicações
o usuário deixa de ser mero espectador e passa a ser parte integrante do ambiente
permanece envolvido pelo ambiente virtual imersivo
Com a disponibilidade de equipamentos de baixo custo, a RV está sendo amplamente disseminada em áreas como: entretenimento, engenharia, medicina, cultura e ciências básicas.
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 20
Desafio
O conceito convencional atribui ao objeto referenciado a característica de facilidade de aquisição, devido à custo, usabilidade ou disponibilidade no mercado.
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 25
Projeção
Para a implementação de sistemas capazes de propiciar ao usuário um sentimento de imersão, a tecnologia de projeção tem sido a mais utilizada: DLP, LCD e CRT.
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 34
Estereoscopia Ativa e Passiva
A percepção de profundidade do usuário éoriginada de características da imagem como tonalização, sombreamento, oclusão, movimento e perspectiva linear.
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 35
Imersão, Interação e EnvolvimentoA imersão está ligada ao sentimento de fazer parte do ambiente.
Além do fator visual, dispositivos ligados aos demais sentidos também são importantes, como o som, o reposicionamento automático da pessoa e dos movimentos da cabeça, e controles reativos.
A interação está ligada à capacidade do computador detectar as entradas do usuário e modificar instantaneamente o mundo virtual em função das ações efetuadas sobre ele.
O envolvimento está ligado ao grau de motivação para o engajamento de uma pessoa em determinada atividade.
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 36
Experimento Passivo, Exploratório ou Interativo
Uma sessão passiva proporciona ao usuário uma exploração do ambiente automática e sem interferência.
Uma sessão exploratória proporciona uma exploração do ambiente dirigida pelo usuário.
Uma sessão interativa proporciona uma exploração do ambiente dirigida pelo usuário e, além disso, as entidades virtuais do ambiente reagem às ações do participante.
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 37
Comunicação
Necessidade de troca de mensagens entre os computadores de um aglomerado.
Os requisitos de sincronismo aumentam principalmente com o grau de interação dos usuário.
Garantir uma latência máxima: tempo decorrido entre o momento em que o usuário executa uma ação e o momento em que a aplicação apresenta o resultado desta ação.
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 41
Estrutura
Introdução
Aglomerados Gráficos de Computadores
Visualização ParalelaVisualização Volumétrica
Visualização Baseada em Imagens
Visualização Geométrica
Visualização Colaborativa
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 42
Visualização Paralela
Introdução
Pipeline Gráfica Paralela
Distribuição de Dados
Ordenação Paralela dos Dados
8
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 43
Introdução
Diferença:
método de renderizaçãoraycasting, shear-warp, splatting
algoritmo de renderização paraleladescreve como dados e processamento
serão distribuídos entre os recursos do sistema
Introdução Pipeline Gráfica Paralela Distribuição de Dados Ordenação Paralela dos Dados
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 44
Introdução
A escolha do algoritmo paralelo tem um impacto forte nas requisições de comunicação entre os nós, a menos que todos os nós tenham uma cópia local do dado.
Replicação de dados é altamente custoso para grande números de nós, base de dados grandes ou devido ao limite de memória.
Comunicação entre nós em um sistema paralelo consome tempo e pode degradar o desempenho significativamente.
Introdução Pipeline Gráfica Paralela Distribuição de Dados Ordenação Paralela dos Dados
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 45
Introdução
Sobrecarga dos algoritmos paralelos:comunicação entre tarefas ou processadores;
atrasos devido as tarefas eventuais;
computações adicionais ou redundantes;
armazenamento adicional de dados auxiliares ou replicados.
Introdução Pipeline Gráfica Paralela Distribuição de Dados Ordenação Paralela dos Dados
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 46
Introdução
Coerência consiste na tendência dos elementos próximos em tempo ou espaço possuirem valores similares.
localidade espacial
localidade temporal
percurso espacial contínuo
consistência funcional
Introdução Pipeline Gráfica Paralela Distribuição de Dados Ordenação Paralela dos Dados
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 47
Introdução
A granularidade está estreitamente relacionada com a decomposição de dados e tarefas.Uma computação possue granularidade fina se as
unidades da aplicação são pequenas, ou granularidade grossa se possem processamento substancial.
Uma decomposição de granularidade fina inclue poucos itens de dados em cada partição, enquanto uma decomposição de granularidade grossa usam blocos maiores de dados.
Introdução Pipeline Gráfica Paralela Distribuição de Dados Ordenação Paralela dos Dados
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 48
Introdução
EscalabilidadeEscalabilidade de desempenho é a habilidade de alcançar níveis mais alto de processamento em um problema de tamanho fixo, por exemplo cenas de maior complexidade ou melhores resoluções de imagens.
Escalabilidade de dados é a habilidade lidar com bases de dados de tamanhos cada vez maiores.
Introdução Pipeline Gráfica Paralela Distribuição de Dados Ordenação Paralela dos Dados
9
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 49
Pipeline Gráfica ParalelaIntrodução Pipeline Gráfica Paralela Distribuição de Dados Ordenação Paralela dos Dados
Subsistema Rasterizador
Subsistema GeométricoTransformações do Modelo e Visão
Iluminação
Projeção
Clipping
Mapeamento de Tela
Rasterizador
Atribuição de Texturas
Z-Buffer
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 50
Distribuição de DadosIntrodução Pipeline Gráfica Paralela Distribuição de Dados Ordenação Paralela dos Dados
base “volumétrica” de dados ?? → bases de dados
gerenciamento dos dados → falta de gerenciamento dos modelos de dados nas memórias (ex. formatos de arquivos)
bases grandes para memória → não é possível confiar na memória virtual do sistema operacional
bases grandes para disco local → elas também podem ser grandes para discos locais das estações de trabalho
latência de acesso → o tempo de acesso aos dados pode diminuir a interatividade da renderização
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 51
Distribuição de DadosIntrodução Pipeline Gráfica Paralela Distribuição de Dados Ordenação Paralela dos Dados
Considerando a localidade espacial e temporal dos dados volumétricos, protocolos de consistência de dados podem replicar parcialmente ou migrar blocos entre processadores.
Algoritmos de Visualização
Gerenciamento de Dados
Modelos de Dados
Armazenagem Distribuída de Dados
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 52
Ordenação Paralela dos Dados
Sort-First (durante o processamento geométrico): os processadores implementam a pipelinede renderização completa para um parte da tela.
primitivas
ordena para o espaço da tela
Processador Geométrico
Rasterizador
Processador Geométrico
Rasterizador
Processador Geométrico
Rasterizador
Processador Geométrico
Rasterizador
janela
Introdução Pipeline Gráfica Paralela Distribuição de Dados Ordenação Paralela dos Dados
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 53
primitivas
ordena para o espaço da tela
Processador Geométrico
Rasterizador
Processador Geométrico
Rasterizador
Processador Geométrico
Rasterizador
Processador Geométrico
Rasterizador
janela
Ordenação Paralela dos DadosIntrodução Pipeline Gráfica Paralela Distribuição de Dados Ordenação Paralela dos Dados
Sort-Middle (entre o processamento geométrico e a rasterização): esta técnica não se aplica em sistemas convencionais.
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 54
primitivas
Processador Geométrico
Rasterizador
Processador Geométrico
Rasterizador
Processador Geométrico
Rasterizador
Processador Geométrico
Rasterizador
imagensparciais
píxel compostojanela
Ordenação Paralela dos Dados
Sort-Last (depois da rasterização): cada um processa os valores dos píxeis para seus subconjuntos, sem diferença onde eles irão cair na tela.
Introdução Pipeline Gráfica Paralela Distribuição de Dados Ordenação Paralela dos Dados
10
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 55
Estrutura
Introdução
Aglomerados Gráficos de Computadores
Visualização Paralela
Visualização VolumétricaVisualização Baseada em Imagens
Visualização Geométrica
Visualização Colaborativa
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 56
Visualização Volumétrica
Conceitos Básicos
Métodos de Renderização
Biblioteca PfV
Demonstração
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 57
Vóxel Volume
Célula
Vóxel
Conceitos BásicosVóxel é a unidade básica de um dado volumétrico.
Volume consiste em um conjunto de vóxeis organizados espacialmente.
Célula-Vóxel é um conjunto de vóxeis adjacentes conectados segundo uma topologia arbitrária definindo um espaço fechado.
Conceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 58
Conceitos BásicosConceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração
Curvolineares Rectilineares
Anisotrópico Isotrópico
Não-conexos
Volumes
Conexos
Irregulares Regulares
Amorfo Lineares
A organização está relacionada com a obtenção dos dados.
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 59
Conceitos Básicos
i
j k
f(0,y,z)f(1, y, z)
Interpolação Trilinear
f(x,y,z)
f(1,0,0)
f(1,0,1)f(0,0,1)
f(0,1,1) f(1,1,1)
f(0,1,0)
f(0,0,0)
f(1,1,0)
f(1,0,z)f(0,0,z)
f(0,1,z)f(1,1,z)
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 60
Conceitos BásicosConceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração
czyxf =),,(
Gradiente
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )2
1,,1,,,,,,2
,1,,1,,,,,2
,,1,,1,,,,
−−+=
∆∆
≅
−−+=
∆∆
≅
−−+=
∆∆
≅
zyxfzyxfz
zyxfz
zyxf
zyxfzyxfy
zyxfy
zyxf
zyxfzyxfx
zyxfx
zyxf
δδ
δδ
δδ
11
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 61
Vóxel Volume
Célula
Vóxel
Conceitos BásicosVóxel é a unidade básica de um dado volumétrico.
Volume consiste em um conjunto de vóxeis organizados espacialmente.
Célula-Vóxel é um conjunto de vóxeis adjacentes conectados segundo uma topologia arbitrária definindo um espaço fechado.
Conceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 62
Técnicas de RenderizaçãoRenderização Volumétrica Diretaraios são traçados entre o espaço do
objeto e o espaço do observador
O volume é então amostrado em intervalos regulares
ao longo dos raios
Técnicas Raycast
Profundidade
Intensidade Máximo
Média
Acumulado
Primeiro
Conceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 63
Biblioteca PfV
projeto PfV – Prefetching Voxelbiblioteca de renderização paralela de dados volumétricos
API (Application Programming Interface) de desenvolvimento
Algoritmos de Rendering (Raycasting)
Camada de Gerenciamento e Antecipação de Dados
Camada de Comunicação (LAM-MPI)
Sistema Operacional Convencional (Linux)
Arquitetura Convencional (Cluster de PCs)
Aplicações
Conceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 64
Interface PfV
Thread de
Comu-nicação
Canal de Comunicação
Thread do
Proto-colo
Base de Dados
Processo Principal PfV
Processo da
Aplicação
Primitivas de comunicação
Primitivas de sincronização
Primitivas de acesso de
leitura e escrita
Janela de Renderização
Janela da Aplicação
(Controles da Visualização)
Diretório de
Blocos Comandos de leitura e escrita Gerenciamento
dos blocos
Threads de
Rende-rização
Conceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 65
Arquitetura de Software
Aplicação
Input Render Manager
RAM Communicator Servidorde
Dados
Disco Local
Rede de Comunicação
Prefetching
Interface PfV
Conceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 66
Antecipação de Dados
Reduzir o tempo de comunicação de mensagens em redes de computadores
reduzindo a latência total do sistema aproveitando os momentos em que a rede fica ociosa
reduzindo a contenção de rede já que a antecipação permite à aplicação usar técnicas de compressão
Conceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração
12
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 67
Antecipação de Dados
Pré-busca processadores requisitam dados antes que eles sejam utilizados.
Pré-oferta o bloco de dados é oferecido a um outro processador que deve fazer uso.
Processo A Processo B
Este bloco será útil para você!
Processo A Processo B
Quero o bloco vermelho!
Conceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 68
Módulo Input
configurar o ambientetamanho da memória principal, tamanho do cache, tamanho do disco local, tamanho da página de memória principal
receber as informações sobre o experimentolocalidade, quantidade, extensão, formato, resolução e número de vóxeis dos arquivos da base de dados
dimensão das janelas, resolução da imagem de saída, coordenadas do ambiente de visualização
realizar a leitura de bases diferentes de dados
Conceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 69
Módulo Communicatorprotocolo de comunicação e sinais de sincronização
thread de comunicação
transmitir mensagens de qualquer tamanho em bytesrótulo (tag) associado
outro processo
Fila de Saída
Fila de Entrada
Thread de
Comu-nicação
Threads Superiores
Canal de Comunicação
Buffer de
Entrada
Módulo Communicator
Conceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 70
Módulo Managergerenciar a estrutura de blocos na memória local e sua relação com as outras memórias do sistema
esquema de distribuição dos blocos
primitivas de acessos de leitura e escrita
thread de protocolo de comunicação
M anager: primitivas de le itu ra ,
primitivas de escrita eprimitivas de busca.
RAM (M emória Principa l) Diretório :
Disco Local (M emória Secundária)
Memória Remota
Conceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 71
Protocolos de Comunicação
Protocolo Única-Cópia
Dono BL
Dir
BL
Dir
Situação C
1º
2º
BL
Dir
5º
BL
Dir
3º
6º
4º
Possuidor
Primeiro Requisitante
Segundo Requisitante
BL
Dir
BL
Dir
Dono Requisitante
Situação A
1º
2º
BL
Dir
BL
Dir
Possuidor
Situação B
1º
2º
BL
Dir
3º
Requisitante
Dono
Conceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 72
Módulo Render
gerenciamento dos threads de renderização
composição da imagem final
mapeamento para a janela de renderização
implementações das técnicas de renderização
operadores de interpolação e de gradiente
Thread 1
Thread 2
Thread 4
Thread 3
Imagem Final
Conceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração
13
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 73
Demonstração
Application Window
PfV Window
Conceitos Básicos Métodos de Renderização Biblioteca PfV Demonstração
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 74
Estrutura
Introdução
Aglomerados Gráficos de Computadores
Visualização Paralela
Visualização Volumétrica
Visualização Baseada em ImagensVisualização Geométrica
Visualização Colaborativa
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 75
Visualização Baseada em Imagens
Introdução
Conceitos Básicos de IBR
Tecnologias Multimídia com MPEG-4
Sistemas de Multiprojeção baseados em MPEG-4
Estudo de Caso: Simbiose Virtual
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 76
Introdução
Na visualização de alto desempenho, o uso de imagens é necessário quando se quer aproximar ao máximo da realidade ou simplificar o modelo geométrico em aplicações de tempo real.
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 77
Introdução
Alto desempenho em visualização de imagens paralela: tecnologias multimídia + Image-based RenderingAplicações em ambientes imersivos: CAVERNA Digital
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 78
Conceitos Básicos de IBR
Uma câmera virtual navega numa cena real.
A imagem da câmera virtual é gerada (renderizada) a partir das fotos obtidas por um conjunto razoável de câmeras digitais que apontam a cena.
Mas, ... como isso é feito?
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
14
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 79
Conceitos Básicos de IBRCom uma composição dospixels das fotos.
Objetos da cena
C0 C2 C3C1
Câmera VirtualMóvel na cena
Câmeras digitaisfixas
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 80
Conceitos Básicos de IBR
Classificação das técnicas de IBR [Oliveira02]:
Renderização Pura com Imagens
Renderização de Imagens com geometria da cena pré-computada
Métodos Híbridos que combinam as duas técnicas
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 81
Conceitos Básicos de IBR
Regra básica:
Nos métodos híbridos, para obter uma boa resolução e boa qualidade da imagem renderizada, o número de câmeras necessárias é inversamente proporcional à quantidade de geometria a ser computada
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 82
Conceitos Básicos de IBR
Para renderizar imagens em tempo real um modelo geométrico deve ser o simples o suficiente para não haver sobrecarga computacional e portanto háum compromisso com o número de câmeras do sistema.
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 83
Conceitos Básicos de IBRArquitetura com múltiplas câmeras
camera
Video PC
PCProcessamento
de Imagens
camera
camera
camera
camera
camera
camera
camera
camera
Video PC
Video PC
PCProcessamento
de Imagens
Renderer PC
Renderer PC
Renderer PC
Renderer PC
Projetor
Projetor
Projetor
Projetor
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 84
Grupo MPEG
The Motion Picture Experts Group (MPEG) é um grupo de trabalho internacional ISO/IEC com o objetivo de desenvolver padrões para compressão, processamento e codificação de representacões multimídia.
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
15
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 85
Padrões
2 padrões finalizados.MPEG-1 eMPEG-2
3 padrões em desenvolvimentoMPEG-4 MPEG-7 e MPEG-21
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 86
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 87
Por que MPEG-4?
O MPEG-4 integra imagem, áudio, vídeo, texto, gráfico e animação, dentro de um único framework de autoria e apresentação, usando os conceitos da orientação à objetos e sendo disponibilizado para autores, provedores de serviços e usuários.
O MPEG-4 é permite que conteúdos sejam codificados uma vez e distribuídos em diferentes taxas de comunicação.
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 88
Por que MPEG-4?
A interatividade com a cena, é uma das maiores vantagens do MPEG-4 na visão do usuário. Os sistemas atuais permitem operações simples como parar ou iniciar um vídeo.
Interação com todos os objetos da cena definida pelo autor, que pode possibilitar a remoção, adição ou reposicionamento de objetos na cena;
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 89
ExemplosIntrodução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 90
ExemplosIntrodução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
16
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 91
Exemplos
2D Audio-visual sceneAnimated Text+ Video + Still Images
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 92
ExemplosIntrodução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 93
Arquitetura MPEG-4Arquitetura
Baseado em Objetos
Fim-a-Fim
Como multiplexar e distribuir streams ?DMIF
Como sincronizar streams ?Camada de Sincronização
Como Codificar/Decodificar Streams ?Modelo de Decodificação
Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 94
Exemplo Cena MPEG-4Introdução Conceitos Básicos Tecnologias MPEG-4 Sistemas Multiprojeção Estudo de Caso
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 95
Arquitetura MPEG-4 Player
Composição e SintetizaçãoComposição e Sintetização
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 204
The Need for Collaboration
Typical visualization systems are designed around a single-user model, making it awkward for research teams to collectively analyze information
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
35
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 205
Networked Virtual Environments
“A networked virtual environment (net-VE) is a software system in which multiple users interact with each other in real-time, even though those users may be located around the world” [Singhal/Zyda99]
MASSIVE
http://www.crg.cs.nott.ac.uk/research/systems
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 206
Networked Virtual Environments
DOOM
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 207
Networked Virtual Environments
Common Virtual World
Network
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 208
Collaborative Virtual Environments
“CVEs represent the computer as a malleable space, a space in which to build and utilize shared spaces for work and leisure. CVEs provide a terrain or digital landscape that can be ‘inhabited’ or ‘populated’ by individuals and data, encouraging a sense of shared space or place. Users, in the form of embodiments or avatars, are free to navigate through the space, encountering each other, artefacts and data objects and are free to communicate with each other using verbal and non-verbal communication through visual and auditory channels” [Churchill/Snowdon/Munro 01]
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 209
CVEs Essential Requisites
Shared space
Shared presence
Shared time
A communication means
An interaction means
DIVE
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 210
Dynamic Shared StateParticipants in a CVE maintain a “dynamic shared
state” of the virtual world, by exchanging update messages through the network.
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
DIVE
36
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 211
Key Benefits of Collaborative Visualization
Better conclusions: Experts can achieve better conclusions working together than in isolation[Mark02]
Remote collaboration: CVEs enable collaboration of multiple participants, even ifthey are in different geographical locations
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 212
Checklist
CVEs are NVEs.
To effectively enable collaboration, CVEs must provide some “illusions” and means
The “dynamic shared state” of the virtual world is maintained by exchanging update messages through the network
CVEs bring benefits to visualization that couldn’t otherwise be achieved (remote collaboration)
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 213
Design Choices
Creating a CVE demands architectural design choices regarding: Techniques and Protocols, and Topology
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 214
Techniques and Protocols
TCP
UDP
IP Broadcasting
IP Multicasting
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 215
Techniques and Protocols - TCPPoint-to-point connection to an application running in another machine.
Data Checksum for integrity.
Flow-control: to avoid flooding of messages, including acknowledgements.
Keeps strict ordering and consistency of packages.
Stream-based semantics.
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 216
Techniques and Protocols - UDPConnectionless transmission.
Information about the state of the connection is not kept.
Best-effort delivery.
No guarantee of delivery or order of messages.
Packet-based semantics. (Each packet is self-contained.)
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
37
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 217
Techniques and Protocols - UDP
Advantages over TCP
No overhead for connection-oriented semantics.
Packages can be transmitted/received immediately, no need for queues.
It is possible to send information to groups of users (broadcasting, multicasting).
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 218
Topology – Client/Server
The Server can become a bottleneck.
What are the advantages? The server can decide:
Which clients should receive a message
What protocol to use with different clients
Sub-sample messages to slow users
Keep statistics
...
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 219
Topology – Peer-to-Peer
“Network” will be:
Broadcast
One or multiple multicast groups
In the case of multicast groups:
Area of Interest Management: assign different users to different multicast groups, based on some criteria
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 220
Topology – Multiple Servers
Server 1
Client 1 Client 2 Client n…
Client 1 Client 2 Client n
Server 2
…
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 221
Topology – Multiple Servers
Some remarks:
System scales better than pure C/S
Communication between clients attached to different servers takes longer
Key issue: How to assign clients to servers?
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 222
Capabilities and Limitations
The network topology and communication’s architecture determine the system’s capabilities and limitations (fault tolarance, scalability, etc).
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
38
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 223
Some Remarks
Large peer-to-peer NVEs, be careful with routers.
IP Multicasting
Small peer-to-peer NVEs with high data requirements and time sensitive delivery.
IP Broadcasting
Higher data requirements
Used both in client-server and peer-to-peer configurations.
UDP
Small number of users
Limited data requirements
Typically client-server configuration
TCP
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 224
Main Idea
Provide users with the illusion that every participant is seeing the same things and interacting with each other
Things in the NVE change
Without dynamic shared state, the illusion of sharing space and time breaks
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 225
Definition of the Problem
The consistency-throughput tradeoff
It is impossible to allow dynamic shared state to change frequently and guarantee that all host simultaneously access identical versions of that state. [Singha/Zyda 1999]
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 226
Consistency vs. InteractivityAbsolute Consistency
Wait until everybody acknowledges before moving to a new position.
Considering latency and available bandwidth, this may imply slowing down too much.
Frequent State RegenerationUsers send the updates and move on.
But: some users will receive the updates quickly and others won’t.
Inconsistent views.
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 227
Repositories
Centralized Repositories
File Repository (pedagogical purpose)
Server Memory
Server
User 1
User 2
User n
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 228
Repositories
Distribuited Repositories (“Virtual” Repository)Different clients manage different parts of the world
Clients have a local cache of used objects
No bottleneck, but complex to program
Network
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
39
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 229
Scalability
One of the hottest topics on NVEs. It is approached by architecture design.
Aura-based spatial model
Partition the virtual space in regions –associated to different multicast groups
Grid-based approaches
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 230
Heterogeneity
Also approached by architecture design.
Client/Server Switch-board architecture [Trefftz01] deals with heterogeneity.
Switchboard Message Distribution Architecture
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 231
Ideas for Functionality
Annotate models
Bookmark and share views
Audio and video communication
Virtual 3D pointers to point at specific parts of the data
Application-specific
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 232
A ChecklistWhat communication’s architecture will be used and why?
Where will be the models stored? (repositories)
Application protocol design: What things can change and how can we communicate these changes? (dynamic shared state)
What is the number of users and the expected growth? How can you partition the model?
How do the machines compare to one another? Do we know them?
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 233
Telepresence Applied to the Higher Education
Java3D-based and VRML content
Users are represented in the virtual environment with 3D pointers (avatar)
User can see his/her pointer and other people's pointers
Teacher and students can communicate using real-time audio and video
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
22 de outubro de 2003 SVR 2003 - Visualização de Alto Desempenho 234
Augmented Reality in the Teaching of Mathematics
Intuitive point-of-view definition and zooming
User can relate to the visualized model spatially
Easier to share point-of-views and point to specific parts than in pure Virtual Environments
Communication takes place by natural means, as people can still see one another and listen to one another
Introduction Communication’s Architecture Dynamic Shared State Current Challenges CVEs for Visualization CVE Applications
40
Visualização de Alto Desempenhoutilizando equipamentos convencionais